Partage de technologie

[Deep Learning] Bases du modèle graphique (7) : méthode de réduction de la variance dans l'optimisation de l'apprentissage automatique (1)

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Résumé

L'optimisation stochastique est un composant essentiel de l'apprentissage automatique et se trouve à la base de l'algorithme de descente de gradient stochastique (SGD), une méthode largement utilisée depuis sa première proposition il y a plus de 60 ans. Au cours des huit dernières années, nous avons assisté à un nouveau développement passionnant : les techniques de réduction de la variance pour les méthodes d’optimisation stochastique. Ces méthodes de réduction de la variance (méthodes VR) fonctionnent bien dans des scénarios qui permettent plusieurs itérations des données d'entraînement, montrant une convergence plus rapide que SGD, à la fois en théorie et en pratique. Cette augmentation de la vitesse met en évidence l’intérêt croissant pour les méthodes VR et l’accumulation rapide des résultats de recherche dans ce domaine. Cet article passe en revue les principes clés et les avancées majeures des méthodes VR pour l’optimisation d’ensembles de données limités, dans le but d’informer les lecteurs non experts. Nous nous concentrons principalement sur les environnements d'optimisation convexes et fournissons une référence aux lecteurs intéressés par les extensions à la minimisation des fonctions non convexes.

Mots clés Apprentissage automatique ; optimisation ;

1. Introduction

Dans le domaine de la recherche sur l’apprentissage automatique, une question fondamentale et importante est de savoir comment adapter le modèle à un vaste ensemble de données. Par exemple, on peut considérer le cas typique d’un modèle des moindres carrés linéaires :

x ∗ ∈ arg ⁡ min ⁡ x ∈ R d 1 n ∑ i = 1 n ( ai T x − bi ) 2 x^* dans argmin_{x dans mathbb{R}^d} frac{1}{n} somme_{i=1}^{n} (a_i^T x - b_i)^2XargXRdminn1je=1n(unjeTXbje)2

Dans ce modèle nous avons ddd paramètres, qui sont représentés par des vecteurs x ∈ R dx dans mathbb{R}^dXRd donné.En attendant, nous avons sous la main nnn points de données, y compris les vecteurs de caractéristiques ai ∈ R d a_i dans mathbb{R}^dunjeRd et valeur cible bi ∈ R b_i dans mathbb{R}bjeR .Le processus d'adaptation du modèle consiste à ajuster ces paramètres afin que la sortie prévue du modèle ai T x a_i^T xunjeTX en moyenne aussi proche que possible de la valeur cible bi b_ibje

Plus largement, nous pourrions utiliser une fonction de perte fi ( x ) f_i(x)Fje(X) Pour mesurer les prédictions du modèle et les jeje À quel point les points de données sont proches :

x ∗ ∈ arg ⁡ min ⁡ x ∈ R df ( x ) : = 1 n ∑ i = 1 nfi ( x ) x^* dans argmin_{x dans mathbb{R}^d} f(x) := frac{1}{n} somme_{i=1}^{n} f_i(x)XargXRdminF(X):=n1je=1nFje(X)

fonction de perte fi ( x ) f_i(x)Fje(X) S'il est plus grand, cela indique que les prédictions du modèle s'écartent considérablement des données ; fi ( x ) f_i(x)Fje(X) Égal à zéro, le modèle s’adapte parfaitement aux points de données.fonction f ( x ) f(x)F(X) Reflète la perte moyenne du modèle sur l'ensemble des données.

Les problèmes comme la forme (2) ci-dessus s'appliquent non seulement aux problèmes des moindres carrés linéaires, mais également à de nombreux autres modèles étudiés en apprentissage automatique. Par exemple, dans un modèle de régression logistique, nous résolvons :

x ∗ ∈ arg ⁡ min ⁡ x ∈ R d 1 n ∑ i = 1 n log ⁡ ( 1 + e − biai T x ) + λ 2 ∥ x ∥ 2 2 x^* dans argmin_{x dans mathbb{R}^d} frac{1}{n} somme_{i=1}^{n} log(1 + e^{-b_i a_i^T x}) + frac{lambda}{2} |x|_2^2XargXRdminn1je=1nlog(1+etttttbjeunjeTX)+2λX22

Ici, nous avons affaire à bi ∈ { − 1 , + 1 } b_i dans {-1, +1}bje{1,+1} Pour un problème de classification binaire, la prédiction est basée sur ai T x a_i^T xunjeTX symboles.Un terme de régularisation est également introduit dans la formule λ 2 ∥ x ∥ 2 2 frac{lambda}{2} |x|_2^22λX22 pour éviter de surajuster les données, où ∥ x ∥ 2 2 |x|_2^2X22 exprimer xxX Le carré de la norme euclidienne de .

Dans la plupart des modèles d'apprentissage supervisé, le processus de formation peut être exprimé sous la forme (2), comprenant les moindres carrés régularisés L1, la machine à vecteurs de support (SVM), l'analyse en composantes principales, les champs aléatoires conditionnels et les réseaux de neurones profonds, etc.

Un défi clé dans les instances de problèmes modernes est le nombre de points de données nnn Probablement extrêmement grand. Nous traitons souvent d’ensembles de données qui dépassent largement la limite du téraoctet et peuvent provenir de sources aussi diverses qu’Internet, les satellites, les capteurs à distance, les marchés financiers et les expériences scientifiques. Pour traiter des ensembles de données aussi volumineux, une approche courante consiste à utiliser l’algorithme de descente de gradient stochastique (SGD), qui utilise uniquement un petit nombre de points de données sélectionnés au hasard à chaque itération. En outre, il y a eu récemment une forte augmentation de l'intérêt pour les méthodes de gradient stochastique de réduction de la variance (VR), qui ont des taux de convergence plus rapides que les méthodes de gradient stochastique traditionnelles.
Insérer la description de l'image ici
Figure 1. Sur le problème de régression logistique basé sur l'ensemble de données champignon [7], la descente de gradient (GD), la descente de gradient accélérée (AGD, GD accélérée dans [50]), la descente de gradient stochastique (SGD) et la méthode ADAM [30] ont été par rapport aux méthodes de réduction de la variance (VR) SAG et SVRG, où n = 8 124, d = 112.

1.1. Méthodes de descente de gradient et de gradient stochastique

La descente de gradient (GD) est un algorithme classique utilisé pour résoudre le problème ci-dessus (2), et sa formule de mise à jour itérative est la suivante :
xk + 1 = xk − γ 1 n ∑ i = 1 n ∇ fi ( xk ) x_{k+1} = x_k - gamma frac{1}{n} somme_{i=1}^{n} nabla f_i(x_k)Xk+1=Xkγn1je=1nFje(Xk)

ici, γ gammaγ est une valeur de pas fixe supérieure à zéro.Lors de chaque itération de l'algorithme GD, chaque point de données doit être jeje Calculer le dégradé ∇ fi ( xk ) n'est pas f_i(x_k)Fje(Xk), ce qui signifie que GD nécessite tous nnn effectuer un parcours complet des points de données.Lorsque la taille de l'ensemble de données nnn Lorsqu’il devient très important, le coût de chaque itération de l’algorithme GD devient très élevé, limitant ainsi son application.

Comme alternative, nous pouvons considérer la méthode de descente de gradient stochastique (SGD), qui a été proposée pour la première fois par Robbins et Monro, et sa formule de mise à jour itérative est la suivante :
xk + 1 = xk − γ ∇ fik ( xk ) x_{k+1} = x_k - gamma équation f_{i_k}(x_k)Xk+1=XkγFjek(Xk)

L'algorithme SGD fonctionne en utilisant uniquement le gradient d'un point de données sélectionné au hasard à chaque itération. ∇ fik ( xk ) signifie f_{i_k}(x_k)Fjek(Xk) pour réduire le coût de chaque itération. Dans la figure 1, nous pouvons voir que SGD réalise des progrès plus significatifs que GD (y compris les méthodes GD accélérées) dans les premières étapes du processus d'optimisation.Le graphique montre la progression de l'optimisation en termes d'époques, qui sont définies comme le calcul de tous nnn Le nombre de gradients pour les échantillons d’entraînement. L'algorithme GD effectue une itération à chaque tour, tandis que l'algorithme SGD effectue une itération à chaque tour. nnn itérations.Nous utilisons les tours comme base pour comparer SGD et GD, car sous l'hypothèse nnn Dans les très grands cas, le coût principal des deux méthodes est concentré dans le gradient ∇ fi ( xk ) n'est pas f_i(x_k)Fje(Xk) calcul.

1.2. Problème d'écart

Considérons l'indexation aléatoire je suis je_kjek de la collecte { 1 , … , n } {1, points, n}{1,,n} Dans le cas d'une sélection aléatoire uniforme, cela signifie que pour tous jeje,choisir je suis = je suis_k = jejek=je La probabilite P [ ik = i ] P[i_k = i]P[jek=je] égal 1 n frac{1}{n}n1 . dans ce cas, ∇ fik ( xk ) signifie f_{i_k}(x_k)Fjek(Xk) comme ∇ f ( xk ) signifie f(x_k)F(Xk) L’estimateur de est sans biais car, par la définition de l’espérance, nous avons :
E [ ∇ fik ( xk ) ∣ xk ] = 1 n ∑ i = 1 n ∇ fi ( xk ) = ∇ f ( xk ) ( 6 ) E[nabla f_{i_k}(x_k) | x_k] = frac{1}{n} somme_{i=1}^{n} on obtient f_i(x_k) = on obtient f(x_k) quad (6)E[Fjek(Xk)Xk]=n1je=1nFje(Xk)=F(Xk)(6)

Bien que la méthode SGD (Stochastic Gradient Descent) ne garantisse pas le fonctionnement à chaque itération ffF La valeur de diminuera, mais en moyenne elle se déplacera vers le gradient complet négatif, qui représente la direction vers le bas.

Cependant, disposer d’un estimateur de gradient sans biais n’est pas suffisant pour garantir la convergence des itérations SGD. Pour illustrer ce point, la figure 2 (à gauche) montre la trajectoire itérative de SGD lors de l'application d'une fonction de régression logistique utilisant un pas constant sur l'ensemble de données à quatre catégories fourni par LIBSVM [7].Les ellipses concentriques sur la figure représentent les contours de la fonction, c'est-à-dire la valeur de la fonction f ( x ) = cf(x) = cF(X)=c point correspondant xxX rassembler, ccc est une constante spécifique dans l'ensemble des nombres réels.différentes valeurs constantes ccc Correspond à différentes ellipses.

La trajectoire itérative de SGD ne converge pas vers la solution optimale (indiquée par un astérisque vert sur la figure), mais forme un nuage de points autour de la solution optimale. En revanche, nous montrons sur la figure 2 la trajectoire itérative d'une méthode de réduction de la variance (VR), gradient moyen stochastique (SAG), utilisant la même taille de pas constante, que nous introduirons plus tard. La raison pour laquelle SGD ne parvient pas à converger dans cet exemple est que le gradient stochastique lui-même ne converge pas vers zéro et que, par conséquent, la méthode SGD à pas constant (5) ne s'arrête jamais.Cela contraste fortement avec les méthodes de descente de gradient (GD), qui s'arrêtent naturellement dès que xk x_kXk Approches x ∗ x^*X,pente ∇ f ( xk ) signifie f(x_k)F(Xk) tendra vers zéro.
Insérer la description de l'image ici
Figure 2. Graphiques d'ensemble de niveaux pour la régression logistique bidimensionnelle utilisant les méthodes itératives SGD (à gauche) et SAG (à droite) à pas fixe. L'astérisque vert indique xdélier.

1.3. Méthode classique de réduction de la variance

traitement en raison de ∇ fi ( xk ) n'est pas f_i(x_k)Fje(Xk) Il existe plusieurs techniques classiques pour résoudre les problèmes de non-convergence causés par la variance des valeurs.Par exemple, Robbins et Monro [64] utilisent une série de pas décroissants γ k gamma_kγk pour résoudre le problème de variance, en garantissant que le produit γ k ∇ fik ( xk ) gamma_k est égal à f_{i_k}(x_k)γkFjek(Xk) peut converger vers zéro. Cependant, ajuster cette séquence d’étapes décroissantes pour éviter d’arrêter l’algorithme trop tôt ou trop tard est un problème difficile.

Une autre technique classique pour réduire la variance consiste à utiliser plusieurs ∇ fi ( xk ) n'est pas f_i(x_k)Fje(Xk) moyenne de pour obtenir le dégradé complet ∇ f ( x ) signifie f(x)F(X) une estimation plus précise. Cette approche est appelée minibatch et est particulièrement utile lorsque plusieurs gradients peuvent être évalués en parallèle. Cela donne une itération de la forme :
xk + 1 = xk − γ 1 ∣ B k ∣ ∑ i ∈ B k ∇ fi ( xk ) ( 7 ) x_{k+1} = x_k - gamma frac{1}{|B_k|} somme_{i dans B_k} nabla f_i(x_k) quad (7)Xk+1=XkγBk1jeBkFje(Xk)(7)
dans B k B_kBk est un ensemble d'index aléatoires, ∣ B k ∣ |B_k|Bk exprimer B k B_kBk la taille de.si B k B_kBk En échantillonnant uniformément avec remplacement, alors la variance de cette estimation de gradient est liée à la "taille du lot" ∣ B k ∣ |B_k|Bk est inversement proportionnel, la variance peut donc être réduite en augmentant la taille du lot.

Cependant, le coût de telles itérations est proportionnel à la taille du lot, donc cette forme de réduction de la variance se fait au prix d’un coût de calcul accru.

Une autre stratégie courante pour réduire la variance et améliorer les performances empiriques de SGD consiste à ajouter « élan », un terme supplémentaire basé sur la direction utilisée dans les étapes précédentes. En particulier, la forme du SGD avec élan est la suivante :
xk + 1 = xk − γ mk ( 9 ) x_{k+1} = x_k - gamma m_k quad (9)Xk+1=Xkγmk(9)
où le paramètre d'impulsion β bêtaβ Situé dans la plage (0, 1).Si l'élan initial m 0 = 0 m_0 = 0m0=0, et développez en (8) mk m_kmk Pour les mises à jour, nous obtenons mk m_kmk est la moyenne pondérée des gradients précédents :
mk = ∑ t = 0 k β k − t ∇ ajustement ( xt ) ( 10 ) m_k = somme_{t=0}^{k} bêta^{kt} nabla f_{i_t}(x_t) quad (10)mk=t=0kβktFjet(Xt)(10)
donc, mk m_kmk est la somme pondérée des gradients stochastiques.parce que ∑ t = 0 k β k − t = 1 − β k + 1 1 − β somme_{t=0}^{k} bêta^{kt} = frac{1 - bêta^{k+1}}{1 - bêta}t=0kβkt=1β1βk+1, nous pouvons convertir 1 − β 1 − β kmk frac{1 - bêta}{1 - bêta^k} m_k1βk1βmk Considéré comme une moyenne pondérée de gradients stochastiques.Si nous comparons cela avec l'expression du dégradé complet ∇ f ( xk ) = 1 n ∑ i = 1 n ∇ fi ( xk ) nabla f(x_k) = frac{1}{n} somme_{i=1}^{n} nabla f_i(x_k)F(Xk)=n1je=1nFje(Xk) Pour comparer, nous pouvons 1 − β 1 − β kmk frac{1 - bêta}{1 - bêta^k} m_k1βk1βmk(ainsi que mk m_kmk ) est interprété comme une estimation du gradient complet. Même si cette somme pondérée réduit la variance, elle soulève également des questions clés.Puisque la somme pondérée (10) donne plus de poids aux gradients récemment échantillonnés, elle ne convergera pas vers le gradient complet. ∇ f ( xk ) signifie f(x_k)F(Xk) , cette dernière est une moyenne simple. La première méthode de réduction de la variance que nous verrons dans la section II-A résout ce problème en utilisant une moyenne simple au lieu de toute moyenne pondérée.

1.4. Méthodes modernes de réduction de la variance

Contrairement aux méthodes classiques, elles utilisent directement un ou plusieurs ∇ fi ( xk ) n'est pas f_i(x_k)Fje(Xk) comme ∇ f ( xk ) signifie f(x_k)F(Xk) À titre d'approximation, les méthodes modernes de réduction de la variance (VR) emploient une stratégie différente.Ces méthodes utilisent ∇ fi ( xk ) n'est pas f_i(x_k)Fje(Xk) pour mettre à jour l'estimation du gradient gk g_kgk, dont le but est de faire gk g_kgk approchant ∇ f ( xk ) signifie f(x_k)F(Xk) .Plus précisément, nous espérons gk g_kgk capable de satisfaire gk ≈ ∇ f ( xk ) g_k approximatif f(x_k)gkF(Xk) . Sur la base de ces estimations de gradient, nous effectuons ensuite une étape de gradient approximative de la forme :
xk + 1 = xk − γ gk ( 11 ) x_{k+1} = x_k - gamma g_k quad (11)Xk+1=Xkγgk(11)
ici γ > 0 gamma > 0γ>0 est le paramètre de taille de pas.

Pour garantir qu'une taille de pas constante est utilisée γ gammaγ Lorsque l'itération (11) peut converger, nous devons nous assurer que l'estimation du gradient gk g_kgk La variance tend vers zéro. Mathématiquement, cela peut s'exprimer comme suit :
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] → 0 comme k → ∞ ( 12 ) Egauche[ | g_k - nabla f(x_k) |^2 droite] flèche droite 0 quad texte{comme } k flèche droite infty quad (12)E[gkF(Xk)2]0commek(12)
attentes ici É.-U.E est basé sur l'algorithme jusqu'au kk Toutes les variables aléatoires sont calculées pour les itérations. La propriété (12) garantit que la méthode VR peut être arrêtée lorsque la solution optimale est atteinte. Nous considérons cette propriété comme une caractéristique distinctive de l’approche VR et c’est pourquoi nous l’appelons une propriété VR. Il est à noter que l’expression variance « réduite » peut être trompeuse, car en fait la variance tend vers zéro. La propriété (12) est un facteur clé qui permet aux méthodes VR d'atteindre une convergence plus rapide en théorie (sous des hypothèses appropriées) et en pratique (comme le montre la figure 1).

1.5. Premier exemple de méthode de réduction de variance : SGD²

Une méthode d'amélioration simple peut permettre à la formule récursive SGD (5) d'atteindre une convergence sans réduire la taille du pas, c'est-à-dire traduire chaque gradient. La méthode spécifique consiste à soustraire. ∇ fi ( x ∗ ) n'est pas f_i(x^*)Fje(X), cette méthode est définie comme suit :
xk + 1 = xk − γ ( ∇ fik ( xk ) − ∇ fik ( x ∗ ) ) ( 13 ) x_{k+1} = x_k - gamma (nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*)) quad (13)Xk+1=Xkγ(Fjek(Xk)Fjek(X))(13)
Cette méthode est appelée SGD² [22].Même si nous ne pouvons généralement pas savoir avec certitude chaque ∇ fi ( x ∗ ) n'est pas f_i(x^*)Fje(X) , mais SGD², à titre d'exemple, peut bien illustrer les caractéristiques de base de la méthode de réduction de la variance.De plus, de nombreuses méthodes de réduction de la variance peuvent être considérées comme une forme approximative de la méthode SGD² ; ces méthodes ne s'appuient pas sur les méthodes connues ; ∇ fi ( x ∗ ) n'est pas f_i(x^*)Fje(X), mais utilisez plutôt une méthode qui peut se rapprocher ∇ fi ( x ∗ ) n'est pas f_i(x^*)Fje(X) valeur estimée.

Il convient de noter que SGD² utilise une estimation impartiale du gradient complet.parce que ∇ f ( x ∗ ) = 0 par exemple f(x^*) = 0F(X)=0,F:
E [ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ] = ∇ f ( xk ) − ∇ f ( x ∗ ) = ∇ f ( xk ) E[nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*)] = nabla f(x_k) - nabla f(x^*) = nabla f(x_k)E[Fjek(Xk)Fjek(X)]=F(Xk)F(X)=F(Xk)
De plus, lorsque SGD² atteint la solution optimale, il s'arrêtera naturellement car pour tout jeje,avoir:
( ∇ fi ( x ) − ∇ fi ( x ∗ ) ) ∣ x = x ∗ = 0 (nabla f_i(x) - nabla f_i(x^*)) bigg|_{x=x^*} = 0(Fje(X)Fje(X)) X=X=0

Après une observation plus approfondie, avec xk x_kXk près x ∗ x^*X(pour les consécutifs ∇ fi nabla f_iFje), SGD² satisfait la propriété de réduction de variance (12) car :
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] = E [ ∥ ∇ fik ( xk ) − ∇ fik ( x ∗ ) − ∇ f ( xk ) ∥ 2 ] ≤ E [ ∥ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ∥ 2 ] Egauche[ | g_k - nabla f(x_k) |^2 droite] = \Egauche[ | nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*) - nabla f(x_k) |^2 droite] leq Egauche[ | nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*) |^2 droite]E[gkF(Xk)2]=E[∥∇Fjek(Xk)Fjek(X)F(Xk)2]E[∥∇Fjek(Xk)Fjek(X)2]
Ici nous utilisons le lemme 2, soit X = ∇ fik ( xk ) − ∇ fik ( x ∗ ) X = onde sinusoïdale f_{i_k}(x_k) - onde sinusoïdale f_{i_k}(x^*)X=Fjek(Xk)Fjek(X), et a profité de E [ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ] = ∇ f ( xk ) E[nabla f_{i_k}(x_k) - nabla f_{i_k}(x^*)] = nabla f(x_k)E[Fjek(Xk)Fjek(X)]=F(Xk) nature. Cette propriété indique que SGD² a une vitesse de convergence plus rapide que les méthodes SGD traditionnelles, que nous avons détaillées dans l'annexe B.

1.6. Convergence rapide de la méthode de réduction de la variance

Dans cette section, nous présenterons deux hypothèses standard utilisées pour analyser la méthode de réduction de la variance (VR) et discuterons de l'effet d'accélération qui peut être obtenu sous ces hypothèses par rapport à la méthode SGD traditionnelle. Premièrement, nous supposons que le gradient a une continuité Lipschitzienne, ce qui signifie que le taux de changement du gradient est fini.

Hypothèse 1 (continuité Lipschitzienne)

Nous supposons que la fonction ffFest différentiable et est LLL- lisse, pour tous xxX et ouaiset et quelqu'un 0 &lt; L &lt; ∞ 0 &lt; L &lt; infty0<L<,Les conditions suivantes :
∥ ∇ f ( x ) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ ( 14 ) |nabla f(x) - nabla f(y)| leq L|x - y| quad (14)∥∇F(X)F(et)LXet(14)
Cela signifie que chaque fi : R d → R fi : mathbb{R}^d flèche droite mathbb{R}Fje:RdR est différentiable, L i L_iLje- lisse, nous définissons L max L_{texte{max}}Lmax pour max ⁡ { L 1 , . . . , L n } max{L_1, . . . , L_n}max{L1,...,Ln}

Bien que cela soit généralement considéré comme une hypothèse faible, dans les chapitres suivants, nous discuterons des méthodes VR adaptées aux problèmes non fluides. Pour une fonction univariée deux fois différentiable, LLL-La douceur peut être intuitivement comprise comme : cela équivaut à supposer que la dérivée seconde est LLL limite supérieure, c'est-à-dire ∣ f ′ ′ ( x ) ∣ ≤ L |f''(x)| leq LF′′(X)L pour tous x ∈ R dx dans mathbb{R}^dXRd .Pour les fonctions deux fois différentiables de plusieurs variables, cela équivaut à supposer une matrice hessienne ∇ 2 f ( x ) nabla^2 f(x)2F(X) La valeur singulière de LLL limite supérieure.

Hypothèse 2 (forte convexité)

La deuxième hypothèse que nous considérons est que la fonction (f) est μmuμ-Fortement convexe, ce qui signifie que pendant un certain temps μ &gt; 0 mu &gt; 0μ>0,fonction x ↦ f ( x ) − μ 2 ∥ x ∥ 2 x correspond à f(x) - frac{mu}{2}|x|^2XF(X)2μX2 C'est convexe.De plus, pour chaque je = 1 , . . . , ni = 1, . . . , nje=1,...,n fi : R d → R fi : mathbb{R}^d flèche droite mathbb{R}Fje:RdR C'est convexe.

C’est une hypothèse forte.Dans le problème des moindres carrés, chaque (fi$ est convexe, mais la fonction globale (f) n'est que dans la matrice de conception A : = [ a 1 , . . . , un ] A := [ a_1, . . . , un_n]UN:=[un1,...,unn] Il n'est fortement convexe que s'il a un rang de ligne complet. Le problème de régression logistique régularisée L2 satisfait cette hypothèse en raison de l’existence du terme de régularisation, où μ ≥ λ mu geq lambdaμλ

Une classe importante de problèmes qui satisfont à ces hypothèses sont les problèmes d’optimisation de la forme :
x ∗ ∈ arg ⁡ min ⁡ x ∈ R df ( x ) = 1 n ∑ i = 1 n ℓ i ( ai T x ) + λ 2 ∥ x ∥ 2 ( 15 ) x^* dans argmin_{x dans mathbb{R}^d} f(x) = frac{1}{n} somme_{i=1}^{n} ell_i(a_i^Tx) + frac{lambda}{2}|x|^2 quad (15)XargXRdminF(X)=n1je=1nje(unjeTX)+2λX2(15)
où chaque fonction "perte" ℓ i : R → R ell_i: mathbb{R} flèche droite mathbb{R}je:RR est deux fois différentiable, et sa dérivée seconde ℓ i ′ ′ ell_i''je′′ est limité à 0 et à une certaine limite supérieure MMM entre. Cela inclut une variété de fonctions de perte avec régularisation L2 dans l'apprentissage automatique, telles que les moindres carrés, la régression logistique, la régression probit, la régression robuste de Huber, etc.Dans ce cas, pour tous jeje,Nous avons L i ≤ M ∥ ai ∥ 2 + λ L_i leq M|a_i|^2 + lambdaLjeMunje2+λ et μ ≥ λ mu geq lambdaμλ

Sous ces hypothèses, le taux de convergence de la méthode de descente de gradient (GD) est déterminé par le numéro de condition κ : = L / μ kappa := L/muκ:=L/μ Décider. Le numéro de condition est toujours supérieur ou égal à 1, et lorsqu'il est significativement supérieur à 1, les contours de la fonction deviennent très elliptiques, faisant osciller les itérations de la méthode GD.Au contraire, quand κ kappaκ Lorsqu’il est proche de 1, la méthode GD converge plus rapidement.

Selon les hypothèses 1 et 2, la méthode VR converge à un rythme linéaire.On dit que la valeur de la fonction d'une méthode aléatoire ({f(x_k)}) est donnée par 0 &lt; ρ ≤ 1 0 &lt; rho leq 10<ρ1 Le taux de convergence linéaire (sous attente), s'il existe une constante C &gt; 0 C &gt; 0C>0 Fait du:
E [ f ( xk ) ] − f ( x ∗ ) ≤ ( 1 − ρ ) k C = O ( exp ⁡ ( − k ρ ) ) ∀ k ( 16 ) E[f(x_k)] - f(x^*) leq (1 - rho)^k C = O(exp(-krho)) quad pour tout k quad (16)E[F(Xk)]F(X)(1ρ)kC=O(exp(kρ))k(16)
Cela contraste avec les méthodes SGD classiques qui reposent uniquement sur des estimations non biaisées du gradient à chaque itération, qui n'obtiennent des taux sous-linéaires que sous ces hypothèses :
E [ f ( xk ) ] − f ( x ∗ ) ≤ O ( 1 / k ) E[f(x_k)] - f(x^*) leq O(1/k)E[F(Xk)]F(X)O(1/k)
Le minimum qui satisfait cette inégalité kk C'est ce qu'on appelle la complexité itérative de l'algorithme. Voici la complexité itérative et le coût d'une itération pour les variantes de base des méthodes GD, SGD et VR :

algorithmeNombre d'itérationscoût d'une itération
GD O ( κ log ⁡ ( 1 / ϵ ) ) O(kappa log(1/epsilon))O(κlog(1/ϵ)) O ( n ) O(n)O(n)
Dollars de Singapour O ( κ max max ⁡ ( 1 / ϵ ) ) O(kappa_{texte{max}} max(1/epsilon))O(κmaxmax(1/ϵ)) O ( 1 ) O(1)O(1)
Réalité virtuelle O ( ( κ max + n ) log ⁡ ( 1 / ϵ ) ) O((kappa_{texte{max}} + n) log(1/epsilon))O((κmax+n)log(1/ϵ)) O ( 1 ) O(1)O(1)

La durée totale d’exécution d’un algorithme est déterminée par le produit de la complexité de l’itération et de la durée d’exécution de l’itération.utilisé ici κ max : = max ⁡ i L i / μ kappa_{texte{max}} := max_i L_i/muκmax:=maxjeLje/μ .Avis κ max ≥ κ kappa_{texte{max}} geq kappaκmaxκPar conséquent, la complexité itérative de GD est inférieure à celle de la méthode VR.

Cependant, comme le coût par itération de GD est celui de la méthode VR nnn fois, la méthode VR est supérieure en termes de durée totale d’exécution.

L’avantage des méthodes SGD classiques est que leur temps d’exécution et leur taux de convergence ne dépendent pas de nnn, mais il a une tolérance ϵ epsilonϵ La dépendance de est bien pire, ce qui explique les mauvaises performances du SGD lorsque la tolérance est faible.

En annexe B, nous fournissons une preuve simple montrant que la méthode SGD² a la même complexité itérative que la méthode VR.

2. Méthode de base de réduction de la variance

Le développement des méthodes de réduction de la variance (VR) a traversé plusieurs étapes et le premier lot de méthodes a abouti à des taux de convergence considérablement améliorés. Le début de cette série de méthodes est l’algorithme SAG. Par la suite, l'algorithme de montée stochastique à double coordonnée (SDCA), l'algorithme MISO, l'algorithme de gradient de réduction de variance stochastique (SVRG/S2GD) et l'algorithme SAGA (qui signifie SAG « amélioré ») sont apparus l'un après l'autre.

Dans ce chapitre, nous examinons de plus près ces méthodes VR pionnières. Au chapitre 4, nous explorerons certaines méthodes plus récentes qui présentent des caractéristiques supérieures par rapport à ces méthodes de base dans des scénarios d'application spécifiques.

2.1. Méthode du gradient moyen stochastique (SAG)

Notre exploration de la première méthode de réduction de la variance (VR) commence par l'imitation de la structure du gradient complet.Depuis le gradient complet ∇ f ( x ) signifie f(x)F(X) est tout ∇ fi ( x ) signifie f_i(x)Fje(X) une simple moyenne des gradients, puis notre estimation du gradient complet gk g_kgk Il devrait également s'agir de la moyenne de ces estimations de gradient. Cette idée a donné naissance à notre première méthode VR : la méthode du gradient moyen stochastique (SAG).

La méthode SAG [37], [65] est une version randomisée de la première méthode du gradient incrémental agrégé (IAG) [4]. L'idée centrale de SAG est que pour chaque point de données jeje maintenir une estimation vik ≈ ∇ fi ( xk ) v_{ik} approximatif f_i(x_k)vjeFje(Xk) .Ensuite, utilisez-les vik v_{ik}vje La moyenne des valeurs est utilisée comme estimation du gradient complet, soit :
g ˉ k = 1 n ∑ j = 1 nvjk ≈ 1 n ∑ j = 1 n ∇ fj ( xk ) = ∇ f ( xk ) ( 18 ) bar{g}_k = frac{1}{n} somme_{j=1}^{n} v_{jk} approx frac{1}{n} somme_{j=1}^{n} nabla f_j(x_k) = nabla f(x_k) quad (18)gˉk=n1j=1nvje plaisanten1j=1nFj(Xk)=F(Xk)(18)

Dans chaque itération de SAG, à partir de l'ensemble { 1 , … , n } {1, points, n}{1,,n} Extraire un index de je suis je_kjek, puis mis à jour selon les règles suivantes vjk v_{jk}vje plaisante
vjkk + 1 = { ∇ fik ( xk ) , si j = ikvjkk , si j ≠ ik ( 19 ) v_{jk}^{k+1} ={Fjek(Xk),sij=jekvkjk,sijjek quadruple (19)vje plaisantek+1={Fjek(Xk),vje plaisantek,sij=jeksij=jek(19)
Parmi eux, chacun v 0 i v_{0i}v0je Peut être initialisé à zéro ou ∇ fi ( x 0 ) signifie f_i(x_0)Fje(X0) valeur approximative.Avec la solution x ∗ x^*X approximation, chacun vik v_{ik}vje convergera progressivement vers ∇ fi ( x ∗ ) n'est pas f_i(x^*)Fje(X), satisfaisant ainsi la propriété VR (12).

Afin de mettre en œuvre efficacement SAG, nous devons prêter attention au calcul g ˉ k bar{g}_kgˉk pour éviter de recommencer la somme à zéro à chaque fois nnn vecteur, parce que c'est nnn Le coût est élevé quand il est important.Heureusement, puisque chaque itération n'a qu'un seul vik v_{ik}vje Les conditions changeront et nous n'aurons pas à recalculer la totalité de la somme à chaque fois.Plus précisément, supposons qu'en itérant kk Index extrait de je suis je_kjek, ensuite il y a:
g ˉ k = 1 n ∑ j = 1 j ≠ iknvjk + 1 nvikk = g ˉ k − 1 − 1 nvikk − 1 + 1 nvikk ( 20 ) bar{g}_k = frac{1}{n} somme_{sous-pile{j=1 \ j neq i_k}}^{n} v_{jk} + frac{1}{n} v_{i_k}^k = bar{g}_{k-1} - frac{1}{n} v_{i_k}^{k-1} + frac{1}{n} v_{i_k}^k quad (20)gˉk=n1j=1j=jeknvje plaisante+n1vjekk=gˉk1n1vjekk1+n1vjekk(20)

Puisqu'en plus de vik v_{i_k}vjek tout sauf vjk v_{jk}vje plaisante Les valeurs restent toutes les mêmes, on stocke simplement chacune jjj Un vecteur correspondant à vj v_jvj . L'algorithme 1 montre l'implémentation spécifique de la méthode SAG.

SAG est la première méthode stochastique à atteindre une convergence linéaire, et sa complexité itérative est O ( ( κ max + n ) log ⁡ ( 1 / ϵ ) ) O((kappa_{texte{max}} + n) log(1/epsilon))O((κmax+n)log(1/ϵ)), en utilisant la taille du pas γ = O ( 1 / L max ) gamma = O(1/L_{texte{max}})γ=O(1/Lmax) . Cette convergence linéaire peut être observée sur la figure 1.Il convient de noter qu'en raison de L max L_{texte{max}}Lmax-Fonction fluide pour tout L ′ ≥ L max L' geq L_{texte{max}}LLmax Aussi LL'L- Les méthodes SAG douces atteignent des taux de convergence linéaires pour des pas suffisamment petits, contrairement aux méthodes SGD classiques, qui n'atteignent des taux sublinéaires qu'avec des séquences de pas décroissants difficiles à ajuster en pratique.

À l’époque, la convergence linéaire de SAG constituait une avancée significative car elle ne calculait qu’un seul gradient stochastique (en traitant un seul point de données) à chaque itération. Cependant, la preuve de convergence fournie par Schmidt et al. [65] est très complexe et repose sur des étapes vérifiées par ordinateur. L’une des principales raisons pour lesquelles SAG est difficile à analyser est que gk g_kgk est une estimation biaisée du gradient.

Ensuite, nous introduisons la méthode SAGA, une variante de SAG qui exploite le concept de covariables pour créer une variante impartiale de la méthode SAG qui a des performances similaires mais est plus facile à analyser.


Algorithme 1 : méthode SAG

  1. Paramètres : taille du pas γ &gt; 0 gamma &gt; 0γ>0
  2. initialisation : x 0 x_0X0 vi = 0 ∈ R d v_i = 0 dans mathbb{R}^dvje=0Rd pour i = 1 , … , ni = 1, lpoints, nje=1,,n
  3. droite k = 1 , … , T − 1 k = 1, points, T - 1k=1,,T1 mettre en œuvre:
    une. Sélection aléatoire ik ∈ { 1 , … , n } i_k dans {1, ldots, n}jek{1,,n}
    b. Calculer g ˉ k = g ˉ k − 1 − 1 nvikk − 1 bar{g}_k = bar{g}_{k-1} - frac{1}{n} v_{i_k}^{k-1}gˉk=gˉk1n1vjekk1
    c. Mise à jour vikk = ∇ fik ( xk ) v_{i_k}^k = nabla f_{i_k}(x_k)vjekk=Fjek(Xk)
    d. Mettre à jour l'estimation du gradient g ˉ k = g ˉ k + 1 nvikk bar{g}_k = bar{g}_k + frac{1}{n} v_{i_k}^kgˉk=gˉk+n1vjekk
    e. Mise à jour xk + 1 = xk − γ g ˉ k x_{k+1} = x_k - gamma bar{g}_kXk+1=Xkγgˉk
  4. Sortir: x T x_TXT

2.2.Méthode SAGA

Une estimation de gradient impartiale de base réduite ∇ fik ( xk ) signifie f_{i_k}(x_k)Fjek(Xk) L'approche de la variance repose sur l'utilisation de ce que l'on appelle des covariables ou variables de contrôle.pour i = 1 , … , ni = 1, lpoints, nje=1,,n,installation vi ∈ R d v_i dans mathbb{R}^dvjeRd est un vecteur.En utilisant ces vecteurs, nous pouvons convertir le dégradé complet ∇ f ( x ) signifie f(x)F(X) Réécrit comme suit :
∇ f ( x ) = 1 n ∑ i = 1 n ( ∇ fi ( x ) − vi + vi ) = 1 n ∑ i = 1 n ∇ fi ( x ) − vi + 1 n ∑ j = 1 nvj nabla f(x) = frac{1}{n} somme_{i=1}^{n}(nabla f_i(x) - v_i + v_i) = frac{1}{n} somme_{i=1}^{n} nabla f_i(x) - v_i + frac{1}{n} somme_{j=1}^{n} v_jF(X)=n1je=1n(Fje(X)vje+vje)=n1je=1nFje(X)vje+n1j=1nvj
: = 1 n ∑ i = 1 n ∇ fi ( x , v ) ( 21 ) := frac{1}{n} somme_{i=1}^{n} nabla f_i(x, v) quad (21):=n1je=1nFje(X,v)(21)
qui définit ∇ fi ( x , v ) : = ∇ fi ( x ) − vi + 1 n ∑ j = 1 nvj on obtient f_i(x, v) := on obtient f_i(x) - v_i + frac{1}{n} somme_{j=1}^{n} v_jFje(X,v):=Fje(X)vje+n1j=1nvj .Maintenant, nous pouvons échantillonner au hasard un ∇ fi ( x , v ) signifie f_i(x, v)Fje(X,v) pour construire le dégradé complet ∇ f ( x ) signifie f(x)F(X) Une estimation impartiale de i ∈ { 1 , … , n } i dans {1, ldots, n}je{1,,n}, vous pouvez appliquer la méthode SGD et utiliser l'estimation du gradient :
gk = ∇ fik ( xk , v ) = ∇ fik ( xk ) − vik + 1 n ∑ j = 1 nvj ( 22 ) g_k = onde sinusoïdale f_{i_k}(x_k, v) = onde sinusoïdale f_{i_k}(x_k) - v_{i_k} + frac{1}{n} somme_{j=1}^{n} v_j quad (22)gk=Fjek(Xk,v)=Fjek(Xk)vjek+n1j=1nvj(22)

pour observation vi v_ivje La différence entre les paires de sélection gk g_kgk influencer, nous pouvons gk = ∇ fik ( xk , v ) g_k = nabla f_{i_k}(x_k, v)gk=Fjek(Xk,v) Substitut et utilisation E i ∼ 1 n [ vi ] = 1 n ∑ j = 1 nvj E_i sim frac{1}{n}[v_i] = frac{1}{n} somme_{j=1}^{n} v_jEjen1[vje]=n1j=1nvj Pour calculer l’espérance, on obtient :
E [ ∥ ∇ fi ( xk ) − vi + E i ∼ 1 n [ vi − ∇ fi ( xk ) ] ∥ 2 ] ≤ E [ ∥ ∇ fi ( xk ) − vi ∥ 2 ] ( 23 ) E gauche[ |nabla f_i(x_k) - v_i + E_i sim frac{1}{n}[v_i - nabla f_i(x_k)]|^2 droite] leq E gauche[ |nabla f_i(x_k) - v_i|^2 droite] quad (23)E[∥∇Fje(Xk)vje+Ejen1[vjeFje(Xk)]2]E[∥∇Fje(Xk)vje2](23)
Le lemme 2 est utilisé ici, où X = ∇ fi ( xk ) − vi X = nabla f_i(x_k) - v_iX=Fje(Xk)vje .Cette borne (23) montre que si vi v_ivje avec kk L'augmentation est proche de ∇ fi ( xk ) n'est pas f_i(x_k)Fje(Xk) , nous pouvons obtenir des attributs VR (12).C'est pourquoi nous appelons vi v_ivje sont des covariables, et nous pouvons les sélectionner pour réduire la variance.

Par exemple, cette approche est également mise en œuvre par la méthode SGD² (13), où vi = ∇ fi ( x ∗ ) v_i = nabla f_i(x^*)vje=Fje(X) .Cependant, cela n’est pas couramment utilisé dans la pratique car nous ne savons généralement pas ∇ fi ( x ∗ ) n'est pas f_i(x^*)Fje(X) .Une option plus pratique est vi v_ivje comme nous le savons x ˉ i ∈ R d bar{x}_i dans mathbb{R}^dXˉjeRd dégradé à proximité ∇ fi ( x ˉ i ) sous-entend f_i(bar{x}_i)Fje(Xˉje) . SAGA pour chaque fonction fi f_iFje utiliser un point de référence x ˉ i ∈ R d bar{x}_i dans mathbb{R}^dXˉjeRd, et utilisez des covariables vi = ∇ fi ( x ˉ i ) v_i = nabla f_i(bar{x}_i)vje=Fje(Xˉje), dont chacun x ˉ i barre{x}_iXˉje sera notre dernière évaluation fi f_iFje indiquer. En utilisant ces covariables, nous pouvons construire une estimation de gradient, suivant (22), donnant :
gk = ∇ fik ( xk ) − ∇ fik ( x ˉ ik ) + 1 n ∑ j = 1 n ∇ fj ( x ˉ j ) ( 24 ) g_k = onde sinusoïdale f_{i_k}(x_k) - onde sinusoïdale f_{i_k}(bar{x}_{i_k}) + frac{1}{n} somme_{j=1}^{n} onde sinusoïdale f_j(bar{x}_j) quad (24)gk=Fjek(Xk)Fjek(Xˉjek)+n1j=1nFj(Xˉj)(24)

Pour implémenter SAGA, nous pouvons stocker des dégradés ∇ fi ( x ˉ i ) sous-entend f_i(bar{x}_i)Fje(Xˉje) au lieu de nnn point de référence x ˉ i barre{x}_iXˉje .C'est-à-dire supposons vj = ∇ fj ( x ˉ j ) v_j = nabla f_j(bar{x}_j)vj=Fj(Xˉj) pour j ∈ { 1 , … , n } j dans {1, ldots, n}j{1,,n}, à chaque itération, nous mettons à jour un gradient stochastique comme SAG vj v_jvj

Algorithme 2 SAGA

  1. Paramètres : taille du pas γ &gt; 0 gamma &gt; 0γ>0
  2. initialisation : x 0 x_0X0 vi = 0 ∈ R d v_i = 0 dans mathbb{R}^dvje=0Rd pour i = 1 , … , ni = 1, lpoints, nje=1,,n
  3. conduire k = 1 , … , T − 1 k = 1, points, T - 1k=1,,T1 itérations :
    une. Sélection aléatoire ik ∈ { 1 , … , n } i_k dans {1, ldots, n}jek{1,,n}
    b. Enregistrer l'ancienne valeur v ancien = vik v_{texte{ancien}} = v_{i_k}vvieux=vjek
    c. Mise à jour vik = ∇ fik ( xk ) v_{i_k} = nabla f_{i_k}(x_k)vjek=Fjek(Xk)
    d. Mise à jour xk + 1 = xk − γ ( vik − v ancien + g ˉ k ) x_{k+1} = x_k - gamma (v_{i_k} - v_{texte{ancien}} + bar{g}_k)Xk+1=Xkγ(vjekvvieux+gˉk)
    e. Mettre à jour l'estimation du gradient g ˉ k = g ˉ k − 1 + 1 n ( vik − v ancien ) bar{g}_k = bar{g}_{k-1} + frac{1}{n} (v_{i_k} - v_{texte{ancien}})gˉk=gˉk1+n1(vjekvvieux)
  4. Sortir: x T x_TXT

La méthode SAGA a la même complexité itérative que SAG O ( ( κ max + n ) log ⁡ ( 1 / ϵ ) ) O((kappa_{texte{max}} + n) log(1/epsilon))O((κmax+n)log(1/ϵ)), en utilisant la taille du pas γ = O ( 1 / L max ) gamma = O(1/L_{texte{max}})γ=O(1/Lmax) , mais la preuve est beaucoup plus simple.Cependant, comme SAG, la méthode SAGA nécessite un stockage nnn vecteurs auxiliaires vi ∈ R d v_i dans mathbb{R}^dvjeRd pour i = 1 , … , ni = 1, lpoints, nje=1,,n, ce qui signifie la nécessité O ( nd ) O(nd)O(nd) d'espace de stockage.quand ddd et nnn Lorsque les deux sont importants, cela peut ne pas être réalisable. Dans la section suivante, nous détaillons comment réduire ce besoin de mémoire pour les modèles courants tels que les modèles linéaires régularisés.

quand il est capable de nnn Lorsque deux vecteurs auxiliaires sont stockés en mémoire, SAG et SAGA ont tendance à se comporter de manière similaire. Si ce besoin en mémoire est trop élevé, la méthode SVRG, que nous reviendrons dans la section suivante, est une bonne alternative. La méthode SVRG atteint le même taux de convergence et est souvent presque aussi rapide en pratique, mais ne nécessite que O ( d ) O(d)O(d) de mémoire, pour des questions générales.

2.3.Méthode SVRG

Avant l'émergence de la méthode SAGA, certains premiers travaux ont introduit pour la première fois des covariables pour résoudre le problème de mémoire élevée requis par la méthode SAG.Ces études s'appuient sur un point de référence fixe x ˉ ∈ R d bar{x} dans mathbb{R}^dXˉRd covariables, nous avons calculé le gradient complet à ce stade ∇ f ( x ˉ ) n'est pas f(bar{x})F(Xˉ) .en stockant des points de référence x ˉ barre{x}Xˉ et le dégradé complet correspondant ∇ f ( x ˉ ) n'est pas f(bar{x})F(Xˉ), nous pouvons le faire sans stocker chacun ∇ fj ( x ˉ ) sous-entend f_j(bar{x})Fj(Xˉ) Au cas où, utilisez x ˉ j = x ˉ barre{x}_j = barre{x}Xˉj=Xˉ à tous jjj pour mettre en œuvre la mise à jour (24).Plus précisément, au lieu de stocker ces vecteurs, nous utilisons les points de référence stockés à chaque itération x ˉ barre{x}Xˉ calculer ∇ fik ( x ˉ ) sous-entend f_{i_k}(bar{x})Fjek(Xˉ) . Cette méthode a été initialement proposée par différents auteurs sous des noms différents, mais a ensuite été unifiée sous le nom de méthode SVRG, suivant la nomenclature de [28] et [84].

Nous formalisons la méthode SVRG dans l'algorithme 3.

En utilisant (23), nous pouvons dériver l’estimation du gradient gk g_kgk La variance de est bornée :
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] ≤ E [ ∥ ∇ fi ( xk ) − ∇ fi ( x ˉ ) ∥ 2 ] ≤ L max 2 ∥ xk − x ˉ ∥ 2 Egauche[ | g_k - nabla f(x_k) |^2 droite] leq Egauche[ | nabla f_i(x_k) - nabla f_i(bar{x}) |^2 droite] leq L_{texte{max}}^2 | x_k - bar{x} |^2E[gkF(Xk)2]E[∥∇Fje(Xk)Fje(Xˉ)2]Lmax2XkXˉ2
où la deuxième inégalité utilise chacun fi f_iFje de L i L_iLje-Douceur.

Il convient de noter que le point de référence x ˉ barre{x}Xˉ Plus on se rapproche du point actuel xk x_kXk, plus la variance de l'estimation du gradient est petite.

Pour que la méthode SVRG soit efficace, nous devons mettre à jour fréquemment les points de référence x ˉ barre{x}Xˉ (nécessitant ainsi le calcul de la pente complète) est mis en balance avec l'avantage d'une variance réduite.Pour cette raison, nous chacun ttt Mettez à jour le point de référence une fois à chaque itération pour le rapprocher de xk x_kXk (Voir ligne 11 de l'algorithme II-C).Autrement dit, la méthode SVRG contient deux boucles : une boucle externe ssm, où le gradient de référence est calculé ∇ f ( x ˉ s − 1 ) nbla f(bar{x}_{s-1})F(Xˉm1)(ligne 4), et une boucle interne dans laquelle le point de référence est fixe et l'itération interne est mise à jour sur la base de l'étape de gradient stochastique (22). xk x_kXk(Ligne 10).

Contrairement à SAG et SAGA, SVRG ne nécessite que O ( d ) O(d)O(d) de mémoire. Les inconvénients de SVRG incluent : 1) Nous avons un paramètre supplémentaire ttt, c'est-à-dire la longueur de la boucle intérieure, doit être ajustée ; 2) Deux gradients doivent être calculés pour chaque itération, et le gradient complet doit être calculé à chaque fois que le point de référence est modifié.

Johnson et Zhang [28] ont montré que SVRG a une complexité itérative O ( ( κ max + n ) log ⁡ ( 1 / ϵ ) ) O((kappa_{texte{max}} + n) log(1/epsilon))O((κmax+n)log(1/ϵ)) , similaire à SAG et SAGA.C'est le nombre de boucles dans l'hypothèse ttt de la collecte { 1 , … , m } {1, points, m}{1,,m} Obtenu sous la condition d'un échantillonnage uniforme, où L max L_{texte{max}}Lmax μmuμ, taille de pas γ gammaγ et ttt Certaines dépendances doivent être satisfaites entre eux.En pratique, en utilisant γ = O ( 1 / L max ) gamma = O(1/L_{texte{max}})γ=O(1/Lmax) et longueur de la boucle intérieure t = nt = nt=n, SVRG a tendance à bien fonctionner, ce qui correspond exactement au paramètre que nous avons utilisé dans la figure 1.

Il existe désormais de nombreuses variantes de la méthode SVRG originale.Par exemple, certaines variantes utilisent ttt distribution alternative [32], certaines variantes permettent la forme O ( 1 / L max ) O(1/L_{texte{max}})O(1/Lmax) La taille du pas [27], [33], [35].Il existe également quelques variantes utilisant ∇ f ( x ˉ ) n'est pas f(bar{x})F(Xˉ) approximation des mini-lots pour réduire le coût de ces évaluations de gradient complet et augmenter la taille des mini-lots pour préserver les propriétés VR.Il existe également quelques variantes où les mises à jour sont répétées dans la boucle interne selon [54] gk g_kgk
[ g_k = nombre f_{i_k}(x_k) - nombre f_{i_k}(x_{k-1}) + g_{k-1} quad (25) ]
Cela fournit une approximation plus locale. L'utilisation de cette variante de mise à jour continue (25) présente des avantages uniques dans la minimisation des fonctions non convexes, comme nous le discutons brièvement dans la section IV.Notez enfin que SVRG peut profiter de ∇ f ( x ˉ s ) nbla f(bar{x}_s)F(Xˉm) valeur pour aider à décider quand terminer l’algorithme.

Algorithme 3 Méthode SVRG

  1. Paramètres : taille du pas γ &gt; 0 gamma &gt; 0γ>0
  2. Initialiser le point de référence x ˉ 0 = x 0 ∈ R d bar{x}_0 = x_0 dans mathbb{R}^dXˉ0=X0Rd
  3. Réaliser une circulation externe s = 1 , 2 , … s = 1, 2, lpointsm=1,2,
    a. Calculer et stocker ∇ f ( x ˉ s − 1 ) nbla f(bar{x}_{s-1})F(Xˉm1)
    b. x 0 = x ˉ s − 1 x_0 = barre{x}_{s-1}X0=Xˉm1
    c. Sélectionnez le nombre d'itérations de la boucle interne ttt
    d. Effectuer la circulation interne k = 0 , 1 , … , t − 1 k = 0, 1, lpoints, t - 1k=0,1,,t1
    i. Sélection aléatoire ik ∈ { 1 , … , n } i_k dans {1, ldots, n}jek{1,,n}
    ii. Calcul gk = ∇ fik ( xk ) − ∇ fik ( x ˉ s − 1 ) + ∇ f ( x ˉ s − 1 ) g_k = onde sinusoïdale f_{i_k}(x_k) - onde sinusoïdale f_{i_k}(bar{x}_{s-1}) + onde sinusoïdale f(bar{x}_{s-1})gk=Fjek(Xk)Fjek(Xˉm1)+F(Xˉm1)
    iii. Mise à jour xk + 1 = xk − γ gk x_{k+1} = x_k - gamma g_kXk+1=Xkγgk
    e. Mettre à jour le point de référence x ˉ s = xt barre{x}_s = x_tXˉm=Xt

2.4. SDCA et ses variantes

Un inconvénient des méthodes SAG et SVRG est que leur taille de pas repose sur des valeurs inconnues qui peuvent être inconnues dans certains problèmes. L max L_{texte{max}}Lmax . Avant SVRG, la méthode SDCA [70], l’une des premières méthodes VR, a étendu la recherche sur les méthodes de descente de coordonnées aux problèmes à somme finie. L'idée derrière le SDCA et ses variantes est que les coordonnées du gradient fournissent une estimation naturelle du gradient réduisant la variance.Plus précisément, supposons j ∈ { 1 , … , d } j dans {1, ldots, d}j{1,,d}, et définir ∇ jf ( x ) : = ( ∂ f ( x ) ∂ xj ) ej nabla_j f(x) := gauche( frac{partiel f(x)}{partiel x_j} droite) e_jjF(X):=(XjF(X))etttttj est le ième de (f(x)) jjj dérivées dans des directions de coordonnées, où ej ∈ R d e_j dans mathbb{R}^detttttjRd C'est le premier jjj vecteur unitaire.Une propriété clé des dérivées de coordonnées est que ∇ jf ( x ∗ ) = 0 nabla_j f(x^*) = 0jF(X)=0, parce que nous savons ∇ f ( x ∗ ) = 0 par exemple f(x^*) = 0F(X)=0 .La dérivée de ceci avec chaque point de données ∇ fj n'est pas f_jFj différent, ce dernier est x ∗ x^*X peut ne pas être nul. Nous avons donc :
∥ ∇ f ( x ) − ∇ jf ( x ) ∥ 2 → 0 entier x → x ∗ ( 26 ) | nabla f(x) - nabla_j f(x) |^2 flèche droite 0 quad texte{entier} quad x flèche droite x^* quad (26)∥∇F(X)jF(X)20quandXX(26)
Cela signifie que la dérivée de coordonnées satisfait la propriété de réduction de la variance (12).De plus, nous pouvons utiliser ∇ jf ( x ) nabla_j f(x)jF(X) construire ∇ f ( x ) signifie f(x)F(X) une estimation impartiale de.Par exemple, supposons jjj est de la collection { 1 , … , d } {1, points, d}{1,,d} Un index sélectionné de manière uniforme et aléatoire dans .Par conséquent, pour tout i ∈ { 1 , … , d } i dans {1, ldots, d}je{1,,d},Nous avons P [ j = i ] = 1 d P[j = i] = frac{1}{d}P[j=je]=d1 . donc, d × ∇ jf ( x ) d fois nabla_j f(x)d×jF(X) Oui ∇ f ( x ) signifie f(x)F(X) Une estimation impartiale de parce que :
E [ d ∇ jf ( x ) ] = d ∑ i = 1 d P [ j = i ] ∂ f ( x ) ∂ xiei = ∑ i = 1 d ∂ f ( x ) ∂ xiei = ∇ f ( x ) Egauche[ d nabla_j f(x) droite] = d somme_{i=1}^{d} P[j = i] frac{partiel f(x)}{partiel x_i} e_i = somme_{i=1}^{d} frac{partiel f(x)}{partiel x_i} e_i = nabla f(x)E[djF(X)]=dje=1dP[j=je]XjeF(X)etttttje=je=1dXjeF(X)etttttje=F(X)

donc, ∇ jf ( x ) nabla_j f(x)jF(X) Possède toutes les propriétés idéales auxquelles nous nous attendons pour l'estimation VR de gradients complets, sans avoir besoin d'utiliser des covariables. L’un des inconvénients de l’utilisation de ce gradient de coordonnées est qu’il est coûteux en calcul pour notre problème de somme (2).C'est parce que le calcul ∇ jf ( x ) nabla_j f(x)jF(X) Besoin de parcourir l'intégralité de l'ensemble de données car ∇ jf ( x ) = 1 n ∑ i = 1 n ∇ jfi ( x ) nabla_j f(x) = frac{1}{n} somme_{i=1}^{n} nabla_j f_i(x)jF(X)=n1je=1njFje(X) . Par conséquent, l’utilisation de dérivées de coordonnées semble incompatible avec la structure de notre problème de somme. Cependant, nous pouvons souvent réécrire le problème original (2) dans une formulation dite duale, où les dérivées coordonnées peuvent exploiter la structure inhérente.

Par exemple, la formule duale du modèle linéaire régularisé L2 (15) est :
v ∗ ∈ arg ⁡ max ⁡ v ∈ R n 1 n ∑ i = 1 n − ℓ i ∗ ( − vi ) − λ 2 ∥ 1 λ ∑ i = 1 nviai ∥ 2 ( 27 ) v^* dans argmax_{v dans mathbb{R}^n} frac{1}{n} somme_{i=1}^{n} -ell_i^*(-v_i) - frac{lambda}{2} gauche| frac{1}{lambda} somme_{i=1}^{n} v_i a_i droite|^2 quad (27)vargvRnmaxn1je=1nje(vje)2λ λ1je=1nvjeunje 2(27)
dans ℓ i ∗ ( v ) ell_i^*(v)je(v) Oui ℓ je ell_ije conjugué convexe.Nous pouvons utiliser la cartographie x = 1 λ ∑ i = 1 nviaix = frac{1}{lambda} somme_{i=1}^{n} v_i a_iX=λ1je=1nvjeunje pour restaurer le problème d'origine (15) xxX variable.résoudra v ∗ v^*v En remplaçant par le côté droit de la cartographie ci-dessus, nous pouvons obtenir la solution de (15) x ∗ x^*X

Notez que ce double problème a nnn variables réelles vi ∈ R v_i dans mathbb{R}vjeR , correspondant à un pour chaque échantillon d'apprentissage.De plus, chaque fonction de double perte ℓ i ∗ ell_i^*je seulement vi v_ivje La fonction. Autrement dit, le premier terme de la fonction de perte est séparable de manière coordonnée. Cette séparabilité en coordonnées, couplée à la forme simple du deuxième terme, permet de mettre en œuvre efficacement la méthode de remontée de coordonnées.En effet, Shalev-Shwartz et Zhang ont montré que l'ascension coordonnée sur ce problème présente une complexité itérative similaire à celle de SAG, SAGA et SVRG. O ( ( κ max + n ) log ⁡ ( 1 / ϵ ) ) O((kappa_{texte{max}} + n) log(1/epsilon))O((κmax+n)log(1/ϵ))

Le coût d'itération et la structure de l'algorithme sont également très similaires : sommation par suivi ∑ i = 1 nviai somme_{i=1}^{n} v_i a_ije=1nvjeunje Pour gérer le deuxième terme de (27), chaque itération d'ascension à double coordonnée n'a besoin de considérer qu'un seul échantillon d'apprentissage, et le coût de chaque itération est le même que nnn Rien à faire.De plus, nous pouvons utiliser une recherche de ligne 1D pour calculer efficacement la taille du pas afin de maximiser vi v_ivje Double objectif de la fonction.Cela signifie que même sans L max L_{texte{max}}Lmax En connaissant les quantités pertinentes, il est également possible d'obtenir des temps d'exécution rapides dans le pire des cas pour les méthodes VR.

3. Questions pratiques liées à la réduction de la variance

Afin de mettre en œuvre la méthode de base de réduction de la variance (VR) et d’obtenir des performances raisonnables, plusieurs problèmes de mise en œuvre doivent être résolus. Dans cette section, nous abordons plusieurs questions non abordées ci-dessus.

3.1.Taille du pas de réglage SAG/SAGA/SVRG

Dans le domaine des algorithmes d'optimisation, en particulier dans les méthodes de réduction de variation telles que le gradient moyen stochastique (SAG), l'algorithme de gradient moyen stochastique (SAGA) et le gradient stochastique (SVRG), le réglage de la taille du pas est une question clé.Bien que pour la méthode d'ascension stochastique à double coordonnée (SDCA), nous puissions utiliser le double objectif pour déterminer la taille du pas, la base théorique des méthodes variables originales de SAG, SAGA et SVRG est que la taille du pas doit être γ = O ( 1 L max ) gamma = Ogauche(frac{1}{L_{texte{max}}}droite)γ=O(Lmax1) formulaire.Cependant, dans les applications pratiques, nous ne savons souvent pas L max L_{texte{max}}Lmax La valeur exacte de et l'utilisation d'autres tailles de pas peuvent donner de meilleures performances.

Une stratégie classique pour définir la taille du pas dans la méthode de descente de gradient complet (full-GD) est la recherche de ligne Armijo.point actuel donné xk x_kXk et direction de recherche gk g_kgk, recherche de ligne Armijo dans γ k gamma_kγk s'effectue sur la ligne définie comme γ k ∈ { γ : xk + γ gk } gamma_k dans {gamma : x_k + gamma g_k}γk{γ:Xk+γgk}, et la fonction doit être suffisamment réduite, c'est-à-dire :
f ( xk + γ kgk ) &lt; f ( xk ) − c γ k ∥ ∇ f ( xk ) ∥ 2 f(x_k + gamma_kg_k) &lt; f(x_k) - c gamma_k |nabla f(x_k)|^2F(Xk+γkgk)<F(Xk)cγk∥∇F(Xk)2
Cependant, cette approche nécessite plusieurs étapes candidates γ k gamma_kγk Calcul f ( xk + γ kgk ) f(x_k + gamma_k g_k)F(Xk+γkgk), qui évalue f ( x ) f(x)F(X) Coût prohibitif lorsqu'il s'agit de parcourir l'intégralité de l'ensemble de données.

Afin de résoudre ce problème, une méthode de variation aléatoire peut être utilisée pour trouver ceux qui remplissent les conditions suivantes γ k gamma_kγk
fik ( xk + γ kgk ) &lt; fik ( xk ) − c γ k ∥ ∇ fik ( xk ) ∥ 2 f_{ik}(x_k + gamma_kg_k) &lt; f_{ik}(x_k) - c gamma_k |nabla f_{ik}(x_k)|^2Fje(Xk+γkgk)<Fje(Xk)cγk∥∇Fje(Xk)2
Cette approche fonctionne généralement bien dans la pratique, surtout lorsque ∥ ∇ fik ( xk ) ∥ |nabla f_{ik}(x_k)|∥∇Fje(Xk) pas proche de zéro, bien qu’il n’existe actuellement aucune théorie pour soutenir cette approche.

De plus, Mairal a proposé une « technique Bottou » pour régler la taille du pas dans la pratique. Cette méthode effectue une recherche binaire en prenant une petite partie de l'ensemble de données (par exemple 5 %) pour essayer de trouver la taille de pas optimale en un seul passage dans cet échantillon. Semblable à la recherche linéaire Armijo, cette méthode fonctionne souvent bien dans la pratique, mais là encore, elle manque de fondement théorique.

Veuillez noter que le contenu ci-dessus est une reformulation du texte original, utilisant le format Markdown pour représenter des formules et des variables mathématiques.

Cependant, la méthode SDCA présente également certains inconvénients.Premièrement, cela nécessite de calculer le conjugué convexe ℓ i ∗ ell_i^*je plutôt qu'un simple dégradé. Nous n’avons pas d’équivalent différentiel automatique pour les conjugués convexes, ce qui peut donc augmenter les efforts de mise en œuvre. Des travaux récents ont proposé des méthodes SDCA « doubles » qui ne nécessitent pas de conjugaison et utilisent plutôt directement des gradients. Cependant, dans ces méthodes, il n'est plus possible de suivre la double cible pour définir la taille du pas.Deuxièmement, même si la SDCA requiert uniquement O (n + d)O(n + d)O(n+d) mémoire pour résoudre le problème (15), mais pour cette catégorie de problèmes, SAG/SAGA n'a besoin que O (n + d)O(n + d)O(n+d) de mémoire (voir section 3).Une variante de SDCA adaptée à des problèmes plus généraux avec SAG/SAGA O ( nd ) O(nd)O(nd) mémoire parce que vi v_ivje devenir avoir ddd vecteur d'éléments. Un dernier inconvénient subtil de la SDCA est qu’elle suppose implicitement une forte constante de convexité. μmuμ égal λ lambdaλ .pour μmuμ plus que le λ lambdaλ problème, la méthode VR originale surpasse généralement considérablement la SDCA.

3.2. Détermination des conditions de résiliation

Dans le domaine de l’optimisation des algorithmes, nous nous appuyons souvent sur des résultats théoriques de complexité itérative pour prédire le nombre d’itérations requis pour qu’un algorithme atteigne une précision spécifique. Cependant, ces limites théoriques reposent souvent sur des constantes que nous ne pouvons pas prédire, et dans les applications pratiques, l'algorithme peut souvent atteindre la précision attendue en moins d'itérations. Par conséquent, nous devons définir certains critères de test pour déterminer quand l’algorithme doit être terminé.

Dans la méthode traditionnelle de descente à gradient complet (full-GD), nous utilisons généralement la norme du gradient ∥ ∇ f ( xk ) ∥ | nom f(x_k) |∥∇F(Xk) Ou une autre quantité liée à cela pour décider quand arrêter l'itération.Pour la méthode SVRG on peut adopter le même critère mais utiliser ∥ ∇ f ( x ˉ s ) ∥ |∥∇F(Xˉm) comme base de jugement.Pour la méthode SAG/SAGA, bien que nous ne calculions pas explicitement le gradient complet, la quantité $ g_{bar{k}} $ se rapprochera progressivement ∇ f ( xk ) signifie f(x_k)F(Xk), on utilise donc ∥ gk ˉ ∥ | g_{bar{k}} |gkˉ car une condition d'arrêt est une heuristique raisonnable.

Dans la méthode SDCA, avec quelques travaux d'enregistrement supplémentaires, nous pouvons suivre le gradient du double objectif sans ajouter de coût asymptotique supplémentaire.En outre, une approche plus systématique consisterait à suivre le double écart, même si cela augmenterait le O ( n ) O(n)O(n) coût, mais il est capable de fournir des conditions de résiliation avec des preuves à double écart. De plus, basée sur la condition d’optimalité des cibles fortement convexes, la méthode MISO adopte une méthode fondée sur des principes basés sur une borne inférieure quadratique [41].

Les formules et variables mathématiques suivantes sont exprimées au format Markdown :

  • Norme de gradient : ∥ ∇ f ( xk ) ∥ | nom f(x_k) |∥∇F(Xk)
  • Norme de gradient dans la méthode SVRG : ∥ ∇ f ( x ˉ s ) ∥ |∥∇F(Xˉm)
  • La quantité de gradient d'approximation dans la méthode SAG/SAGA : $ g_{bar{k}} $
  • Augmentation du coût par itération : O ( n ) O(n)O(n)
  • Méthode MISO
  • borne inférieure quadratique

Veuillez noter que le contenu ci-dessus est une reformulation du texte original, utilisant le format Markdown pour représenter des formules et des variables mathématiques.

3.3. Réduire les besoins en mémoire

Bien que l'algorithme SVRG (Stochastic Variational Reduction of Gradient) élimine les besoins en mémoire des méthodes de réduction de variation antérieures, dans les applications pratiques, les algorithmes SAG (Stochastic Average Gradient Descent) et SAGA (Stochastic Average Gradient Descent with Gradient Accumulation) sont utilisés dans de nombreux problèmes. . ont tendance à nécessiter moins d’itérations que l’algorithme SVRG.Cela a déclenché une réflexion : existe-t-il certains problèmes qui permettent à SAG/SAGA de O ( nd ) O(nd)O(nd) Les exigences en matière de mémoire sont implémentées ci-dessous. Cette section explore une classe de modèles linéaires pour lesquels les besoins en mémoire peuvent être considérablement réduits.

Considérons un modèle linéaire où chaque fonction fi ( x ) f_i(x)Fje(X) Cela peut être exprimé comme ξ i ( ai ⊤ x ) xi_i(mathbf{a}_i^top x)ξje(unjeX) .droite xxX La dérivée donne la forme du gradient :
∇ fi ( x ) = ξ ′ ( ai ⊤ x ) ai nabla f_i(x) = xi'(mathbf{a}_i^top x) mathbf{a}_iFje(X)=ξ(unjeX)unje
ici, ξ ′ xi'ξ exprimer ξ xiξ la dérivée de.En supposant que nous ayons un accès direct aux vecteurs propres je suis mathbf{a}_iunje, alors pour implémenter la méthode SAG/SAGA, il suffit de stocker le scalaire ξ ( ai ⊤ x ) xi(mathbf{a}_i^top x)ξ(unjeX) .De cette façon, les besoins en mémoire varient de O ( nd ) O(nd)O(nd) réduit à O ( n ) O(n)O(n) . L'algorithme SVRG peut également profiter de cette structure de gradients : en stockant cette nnn scalaire, nous pouvons réduire le nombre d'évaluations de gradient requises par itération "interne" SVRG à 1 pour cette classe de problèmes.

Il existe d'autres types de problèmes, tels que les modèles graphiques probabilistes, qui offrent également la possibilité de réduire les besoins en mémoire [66]. Grâce à une structure de données spécifique et à l'optimisation de l'algorithme, les ressources mémoire requises par l'algorithme au moment de l'exécution peuvent être encore réduites.

Les formules et variables mathématiques suivantes sont exprimées au format Markdown :

  • Fonction du modèle linéaire : fi ( x ) = ξ i ( ai ⊤ x ) f_i(x) = xi_i(mathbf{a}_i^top x)Fje(X)=ξje(unjeX)
  • Expression du dégradé : ∇ fi ( x ) = ξ ′ ( ai ⊤ x ) ai nabla f_i(x) = xi'(mathbf{a}_i^top x) mathbf{a}_iFje(X)=ξ(unjeX)unje
  • Vecteur de caractéristiques : je suis mathbf{a}_iunje
  • Les besoins en mémoire vont de O ( nd ) O(nd)O(nd) Réduire à O ( n ) O(n)O(n)

3.4. Traitement des dégradés clairsemés

Dans certains problèmes, le gradient ∇ fi ( x ) signifie f_i(x)Fje(X) Peut contenir un grand nombre de valeurs nulles, comme un modèle linéaire avec des fonctionnalités clairsemées.Dans ce cas, l'algorithme traditionnel de descente de gradient stochastique (SGD) peut être mis en œuvre efficacement, avec une complexité de calcul linéaire dans le nombre d'éléments non nuls dans le gradient, qui est généralement beaucoup plus petit que la dimension du problème. ddd . Cependant, dans les méthodes standards de réduction variationnelle (VR), cet avantage n’est pas exploité. Heureusement, il existe deux manières connues d’améliorer cela.

La première amélioration a été proposée par Schmidt et al., qui tire parti de la simplicité du processus de mise à jour et implémente une variante de calcul « à la volée » telle que le coût de chaque itération est proportionnel au nombre d'itérations non nulles. éléments.En prenant SAG comme exemple (mais cette approche fonctionne pour toutes les variantes), cela se fait en ne stockant pas le vecteur complet après chaque itération vik v_{ik}vje, mais ne calcule que ceux correspondant aux éléments non nuls vikj v_{ik_j}vjekj, en mettant à jour chaque variable depuis la dernière fois que cet élément était différent de zéro vikj v_{ik_j}vjekj

La deuxième méthode d'amélioration a été proposée par Leblond et al. pour SAGA, qui met à jour la formule. xk + 1 = xk − γ ( ∇ fik ( xk ) − ∇ fik ( x ˉ ik ) + g ˉ k ) x_{k+1} = x_k - gamma(nabla f_{ik}(x_k) - nabla f_{ik}(bar{x}_{ik}) + bar{g}_k)Xk+1=Xkγ(Fje(Xk)Fje(Xˉje)+gˉk) Un caractère aléatoire supplémentaire est introduit. ici, ∇ fik ( xk ) signifie f_{ik}(x_k)Fje(Xk) et ∇ fik ( x ˉ ik ) sous-entend f_{ik}(bar{x}_{ik})Fje(Xˉje) est clairsemé, et g ˉ k bar{g}_kgˉk est dense.Dans cette méthode, le terme dense ( g ˉ k ) j (bar{g}_k)_j(gˉk)j Chaque composant de est remplacé par wj ( g ˉ k ) j w_j (bar{g}_k)_jmj(gˉk)j,dans w ∈ R dw dans mathbb{R}^dmRd est un vecteur clairsemé aléatoire dont l'ensemble de supports est contenu dans ∇ fik ( xk ) signifie f_{ik}(x_k)Fje(Xk) , et devrait être un vecteur constant avec tous les éléments égaux à 1. De cette façon, le processus de mise à jour reste impartial (bien que désormais clairsemé) et la variance accrue n'affecte pas le taux de convergence de l'algorithme. Plus de détails sont fournis par Leblond et al.

Les formules et variables mathématiques suivantes sont exprimées au format Markdown :

  • pente: ∇ fi ( x ) signifie f_i(x)Fje(X)
  • Mise à jour SGD : xk + 1 = xk − γ ( ∇ fik ( xk ) − ∇ fik ( x ˉ ik ) + g ˉ k ) x_{k+1} = x_k - gamma(nabla f_{ik}(x_k) - nabla f_{ik}(bar{x}_{ik}) + bar{g}_k)Xk+1=Xkγ(Fje(Xk)Fje(Xˉje)+gˉk)
  • Dégradé clairsemé : ∇ fik ( xk ) signifie f_{ik}(x_k)Fje(Xk) et ∇ fik ( x ˉ ik ) sous-entend f_{ik}(bar{x}_{ik})Fje(Xˉje)
  • Dégradé dense : g ˉ k bar{g}_kgˉk
  • Vecteurs clairsemés aléatoires : wwwm
  • Attend un vecteur constant : un vecteur dont tous les éléments sont égaux à 1.