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

Lors d'une descente de gradient, un lot représente le nombre total d'exemples utilisés pour calculer le gradient à chaque itération. Jusqu'à présent, nous avons procédé comme si le lot correspondait à l'intégralité de l'ensemble de données. À l'échelle de Google, les ensembles de données contiennent souvent des milliards, voire des centaines de milliards d'exemples. En outre, les ensembles de données de Google comportent souvent un très grand nombre de caractéristiques. Un lot peut donc être gigantesque. Lorsque le lot est très important, la durée des calculs pour une simple itération peut être particulièrement longue.

Un ensemble de données important qui comporte des exemples échantillonnés de façon aléatoire contient généralement des données redondantes. De fait, plus la taille d'un lot augmente, plus la probabilité de redondance sera élevée. Un certain niveau de redondance peut être utile pour atténuer les effets du bruit dans les gradients, mais les lots gigantesques présentent rarement une valeur prédictive supérieure à celle des lots de grande taille.

Et s'il était possible d'obtenir le gradient souhaité, en moyenne, avec un nombre de calculs nettement inférieur ? Le choix d'exemples aléatoires dans notre ensemble de données nous permet d'estimer une moyenne importante à partir d'une moyenne bien plus modeste (en acceptant une certaine quantité de bruit). La descente de gradient stochastique (SGD) constitue une application radicale de ce principe, car elle n'utilise qu'un exemple (un lot dont la taille est 1) par itération. Si le nombre d'itérations est assez important, la SGD fonctionne, tout en générant beaucoup de bruit. Le terme "stochastique" signifie que l'exemple constituant chaque lot est sélectionné de façon aléatoire.

La descente de gradient stochastique (SGD) par mini-lots (SGD par mini-lots) offre 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 sélectionnés aléatoirement. La SGD par mini-lots limite la quantité de bruit propre aux SGD tout en restant plus efficace que le traitement de lots entiers.

Pour simplifier notre explication, nous avons appliqué la descente de gradient à une caractéristique unique. Naturellement, la descente de gradient fonctionne également sur des ensembles de caractéristiques comportant des caractéristiques multiples.