Réduction de la perte: la descente de gradient stochastique

Dans une descente de gradient, un lot correspond à l'ensemble d'exemples que vous utilisez pour calculer le gradient lors d'une seule itération d'entraînement. Jusqu'à présent, nous avons supposé que le lot constituait l'intégralité de l'ensemble de données. Lorsqu'ils travaillent à l'échelle de Google, les ensembles de données contiennent souvent des milliards, voire des centaines de milliards d'exemples. De plus, les ensembles de données Google contiennent souvent un très grand nombre de caractéristiques. Un lot peut donc être énorme. Le calcul d'un lot très volumineux peut prendre beaucoup de temps, ne serait-ce qu'une seule itération.

Un vaste ensemble de données avec des exemples échantillonnés aléatoirement contient probablement des données redondantes. En fait, plus la taille de lot augmente, plus la probabilité de redondance est élevée. Une certaine redondance peut s'avérer utile pour atténuer les gradients bruyants, mais les lots énormes ont tendance à ne pas avoir beaucoup plus de valeur prédictive que les grands lots.

Et si nous pouvions obtenir le bon gradient en moyenne avec un nombre de calculs nettement inférieur ? En choisissant des exemples au hasard dans notre ensemble de données, nous pouvons estimer une moyenne importante (même si elle comporte du bruit) à partir d'une moyenne beaucoup plus petite. La descente de gradient stochastique (SGD) pousse cette idée à l'extrême, car elle n'utilise qu'un seul exemple (une taille de lot de 1) par itération. Avec suffisamment d'itérations, la SGD fonctionne, mais présente beaucoup de bruit. Le terme "stochastique" indique que l'exemple comprenant chaque lot est choisi de manière aléatoire.

La descente de gradient stochastique par mini-lots (SGD par mini-lots) constitue un compromis entre l'itération des lots entiers et la SGD. Un mini-lot comprend généralement entre 10 et 1 000 exemples, choisis au hasard. La SGD par mini-lots réduit la quantité de bruit en SGD, mais reste plus efficace que le traitement par lot complet.

Pour simplifier les explications, nous nous sommes concentrés sur la descente de gradient pour une seule caractéristique. Sachez que la descente de gradient fonctionne également sur des ensembles de caractéristiques contenant plusieurs caractéristiques.