Change Password

Please enter the password.
Please enter the password. Between 8-64 characters. Not identical to your email address. Contain at least 3 of: uppercase, lowercase, numbers, and special characters.
Please enter the password.
Submit

Change Nickname

Current Nickname:
Submit

Apply New License

License Detail

Please complete this required field.

  • Ultipa Graph V4

Standalone

Please complete this required field.

Please complete this required field.

The MAC address of the server you want to deploy.

Please complete this required field.

Please complete this required field.

Cancel
Apply
ID
Product
Status
Cores
Applied Validity Period(days)
Effective Date
Excpired Date
Mac Address
Apply Comment
Review Comment
Close
Profile
  • Full Name:
  • Phone:
  • Company:
  • Company Email:
  • Country:
  • Language:
Change Password
Apply

You have no license application record.

Apply
Certificate Issued at Valid until Serial No. File
Serial No. Valid until File

Not having one? Apply now! >>>

Product Created On ID Amount (USD) Invoice
Product Created On ID Amount (USD) Invoice

No Invoice

v4.5
Search
    Français
    v4.5

      Gradient Descent

      Le gradient descent est un algorithme d'optimisation fondamental largement utilisé dans les embeddings de graphes. Son objectif principal est d'ajuster de manière itérative les paramètres d'un modèle d'embedding de graphe pour minimiser une fonction de perte/coût prédéfinie.

      Plusieurs variations du gradient descent ont émergé, chacune conçue pour traiter des défis spécifiques associés aux tâches d'embedding de graphes à grande échelle. Des variations notables incluent le Gradient Descent Stochastique (SGD) et le Mini-Batch Gradient Descent (MBGD). Ces variations mettent à jour les paramètres du modèle en utilisant le gradient calculé à partir d'un seul ou d'un plus petit sous-ensemble de données lors de chaque itération.

      Forme de Base

      Considérons un scénario réel : imaginez-vous debout au sommet d'une montagne et voulant descendre le plus vite possible. Naturellement, il existe un chemin optimal vers le bas, mais identifier ce chemin précis est souvent une tâche ardue. Plus fréquemment, une approche pas à pas est adoptée. Essentiellement, à chaque pas vers une nouvelle position, la prochaine action est déterminée en calculant la direction (c'est-à-dire, le gradient descent) qui permet la descente la plus raide, permettant ainsi le mouvement vers le point suivant dans cette direction. Ce processus itératif persiste jusqu'à atteindre le pied de la montagne.

      Revolvant autour de ce concept, le gradient descent sert de technique pour identifier la valeur minimale le long de la descente du gradient. Inversement, si l'objectif est de localiser la valeur maximale tout en montant le long de la direction du gradient, l'approche devient un gradient ascent.

      Étant donné une fonction J(θ), la forme de base du gradient descent est :

      J est le gradient de la fonction à la position de θ, η est le taux d'apprentissage. Puisque le gradient est la direction de la montée la plus raide, un symbole négatif est utilisé avant ηJ pour obtenir la descente la plus raide.

      Le taux d'apprentissage détermine la longueur de chaque pas le long de la direction du gradient descent vers la cible. Dans l'exemple ci-dessus, le taux d'apprentissage peut être considéré comme la distance parcourue à chaque pas effectué.

      Le taux d'apprentissage reste généralement constant pendant le processus d'entraînement du modèle. Cependant, des variations et des adaptations du modèle pourraient incorporer un calendrier de taux d'apprentissage, où le taux d'apprentissage pourrait être ajusté au cours de l'entraînement, diminuant progressivement ou selon des calendriers prédéfinis. Ces ajustements sont conçus pour améliorer la convergence et l'efficacité de l'optimisation.

      Exemple : Fonction à Variable Unique

      Pour la fonction J=θ2+10, son gradient (dans ce cas, identique à la dérivée) est J=J(θ)=2θ.

      Si on commence à la position θ0=1, et qu'on règle η=0.2, les mouvements suivants selon le gradient descent seraient :

      • θ1=θ0-η×2θ0=1-0.2×2×1=0.6
      • θ2=θ1-η×2θ1=0.6-0.2×2×0.6=0.36
      • θ3=θ2-η×2θ2=0.36-0.2×2×0.36=0.216
      • ...
      • θ18=0.00010156
      • ...

      Au fur et à mesure que le nombre de pas augmente, nous convergerons progressivement vers la position θ=0, atteignant finalement la valeur minimale de la fonction.

      Exemple : Fonction à Variables Multiples

      Pour la fonction J(Θ)=θ12+θ22, son gradient est J=(2θ12θ2).

      Si on commence à la position Θ0=(-1-2), et qu'on règle η=0.1, les mouvements suivants selon le gradient descent seraient :

      • Θ1=(-1-0.1×2×-1-2-0.1×2×-2)=(-0.8-1.6)
      • Θ2=(-0.64-1.28)
      • Θ3=(-0.512-1.024)
      • ...
      • Θ20=(-0.011529215-0.002305843)
      • ...

      Au fur et à mesure que le nombre de pas augmente, nous convergerons progressivement vers la position Θ=(00), atteignant finalement la valeur minimale de la fonction.

      Application dans les Embeddings de Graphe

      Dans le processus d'entraînement d'un modèle de réseau de neurones dans les embeddings de graphe, une fonction de perte ou de coût, notée J(Θ), est fréquemment utilisée pour évaluer la disparité entre la sortie du modèle et le résultat attendu. La technique du gradient descent est ensuite appliquée pour minimiser cette fonction de perte. Cela implique d'ajuster de manière itérative les paramètres du modèle dans la direction opposée au gradient J jusqu'à convergence, optimisant ainsi le modèle.

      Pour trouver un équilibre entre l'efficacité computationnelle et l'exactitude, plusieurs variantes du gradient descent ont été employées dans la pratique, y compris :

      1. Gradient Descent Stochastique (SGD)
      2. Mini-Batch Gradient Descent (MBGD)

      Exemple

      Considérons un scénario où nous utilisons un ensemble de m échantillons pour entraîner un modèle de réseau de neurones. Chaque échantillon se compose de valeurs d'entrée et de leurs sorties attendues correspondantes. Utilisons x(i) et y(i) (i=12...m) pour désigner la ième valeur d'entrée et la sortie attendue.

      L'hypothèse h(Θ) du modèle est définie comme :

      Ici, Θ représente les paramètres du modèle θ0 ~ θn, et x(i) est le vecteur d'entrée i-ème, constitué de n caractéristiques. Le modèle utilise la fonction h(Θ) pour calculer la sortie en effectuant une combinaison pondérée des caractéristiques d'entrée.

      L'objectif de l'entraînement du modèle est d'identifier les valeurs optimales de θj qui conduisent à ce que les sorties soient aussi proches que possible des valeurs attendues. Au début de l'entraînement, θj se voit attribuer des valeurs aléatoires.

      Lors de chaque itération d'entraînement du modèle, une fois que les sorties pour tous les échantillons ont été calculées, l'erreur quadratique moyenne (MSE) est utilisée comme fonction de perte/coût J(Θ) pour mesurer l'erreur moyenne entre chaque sortie calculée et sa valeur attendue correspondante :

      Dans la formule standard du MSE, le dénominateur est généralement 1m. Cependant, 12m est souvent utilisé à la place pour compenser le terme au carré lorsque la fonction de perte est dérivée, ce qui conduit à l'élimination du coefficient constant dans le but de simplifier les calculs ultérieurs. Cette modification n'affecte pas les résultats finaux.

      Subséquemment, le gradient descent est employé pour mettre à jour les paramètres θj. La dérivée partielle par rapport à θj est calculée comme suit :

      Ainsi, mettez à jour θj comme:

      La sommation de i=1 à m indique que tous les m échantillons sont utilisés à chaque itération pour mettre à jour les paramètres. Cette approche est connue sous le nom de Batch Gradient Descent (BGD), qui est la forme originale et la plus simple de l'optimisation par gradient descent. Dans le BGD, l'ensemble du jeu de données d'échantillons est utilisé pour calculer le gradient de la fonction de coût à chaque itération.

      Bien que le BGD puisse garantir une convergence précise vers le minimum de la fonction de coût, il peut être intensif en calcul pour de grands ensembles de données. Comme solution, le SGD et le MBGD ont été développés pour traiter l'efficacité et la vitesse de convergence. Ces variations utilisent des sous-ensembles de données à chaque itération, rendant le processus d'optimisation plus rapide tout en cherchant à trouver les paramètres optimaux.

      Gradient Descent Stochastique

      Le gradient descent stochastique (SGD) sélectionne aléatoirement un seul échantillon pour calculer le gradient à chaque itération.

      Lors de l'utilisation du SGD, la fonction de perte ci-dessus doit être exprimée comme suit :

      La dérivée partielle par rapport à θj est :

      Mettez à jour θj comme :

      La complexité computationnelle est réduite dans le SGD puisqu'il n'utilise qu'un seul échantillon, contournant ainsi la nécessité de sommation et d'averaging. Bien que cela améliore la vitesse de calcul, cela se fait au détriment d'un certain degré de précision.

      Mini-Batch Gradient Descent

      Le BGD et le SGD représentent tous deux des extrêmes - l'un impliquant tous les échantillons et l'autre un seul échantillon. Le Mini-Batch Gradient Descent (MBGD) trouve un équilibre en sélectionnant de manière aléatoire un sous-ensemble de x(1m) échantillons pour le calcul.

      Bases Mathématiques

      Dérivée

      La dérivée d'une fonction à une seule variable f(x) est souvent notée f(x) ou dfdx, elle représente comment f(x) change par rapport à un léger changement de x à un point donné.

      Graphiquement, f(x) correspond à la pente de la ligne tangente à la courbe de la fonction. La dérivée au point x est :

      Par exemple, f(x)=x2+10, au point x=-7:

      La ligne tangente est une ligne droite qui touche simplement la courbe de la fonction en un point spécifique et partage la même direction que la courbe à ce point.

      Dérivée Partielle

      La dérivée partielle d'une fonction à plusieurs variables mesure comment la fonction change lorsque l'on fait varier une variable spécifique tout en gardant constantes toutes les autres variables. Pour une fonction f(x,y), sa dérivée partielle par rapport à x en un point particulier (x,y) est notée fx ou fx:

      Par exemple, f(x,y)=x2+y2, au point x=-4, y=-6:


      L1 montre comment la fonction change lorsque vous vous déplacez le long de l'axe des Y, tout en gardant x constant; L2 montre comment la fonction change lorsque vous vous déplacez le long de l'axe des X, tout en gardant y constant.

      Dérivée Directionnelle

      La dérivée partielle d'une fonction indique les changements de la sortie lorsque l'on se déplace légèrement dans les directions des axes. Mais lorsque nous nous déplaçons dans une direction qui n'est pas parallèle à l'un des axes, le concept de dérivée directionnelle devient crucial.

      La dérivée directionnelle est mathématiquement exprimée comme le produit scalaire du vecteur f composé de toutes les dérivées partielles de la fonction avec le vecteur unitaire w qui indique la direction du changement :

      |w|=1, θ est l'angle entre les deux vecteurs, et

      Gradient

      Le gradient est la direction où la sortie d'une fonction a la montée la plus raide. Cela équivaut à trouver la maximale dérivée directionnelle. Cela se produit lorsque l'angle θ entre les vecteurs f et w est de 0, car cos0=1, impliquant que w s'aligne avec la direction de f. f est ainsi appelé le gradient d'une fonction.

      Naturellement, le gradient négatif pointe dans la direction de la descente la plus raide.

      Règle de la Chaîne

      La règle de la chaîne décrit comment calculer la dérivée d'une fonction composite. Sous sa forme la plus simple, la dérivée d'une fonction composite f(g(x)) peut être calculée en multipliant la dérivée de f par rapport à g par la dérivée de g par rapport à x:

      Par exemple, s(x)=(2x+1)2 est composé de s(u)=u2 et u(x)=2x+1 :

      Dans une fonction composite à plusieurs variables, les dérivées partielles sont obtenues en appliquant la règle de la chaîne à chaque variable.

      Par exemple, s(x,y)=(2x+y)(y-3) est composé de s(f,g)=fg et f(x,y)=2x+y et g(x,y)=y-3 :

      Please complete the following information to download this book
      *
      公司名称不能为空
      *
      公司邮箱必须填写
      *
      你的名字必须填写
      *
      你的电话必须填写