0%
Descente de gradient et optimiseurs

Descente de gradient et optimiseurs

Ce que fait vraiment un pas de gradient, pourquoi un taux d'apprentissage trop grand fait diverger, et ce que momentum et Adam changent concrètement.

10-15 min

Descente de gradient et optimiseurs

Entraîner un réseau, c'est chercher le minimum d'une fonction dont on ne verra jamais la forme. Elle vit dans un espace à des millions de dimensions, on ne peut pas la tracer, on ne peut pas l'explorer exhaustivement, et on n'a aucune garantie qu'elle possède un minimum unique. Tout ce dont on dispose, en un point donné, c'est la direction de plus forte pente. On avance dans le sens inverse, on recommence. C'est l'intégralité de l'algorithme.

Cette pauvreté apparente est trompeuse. Le comportement de cette descente dépend d'un réglage — la longueur du pas — dont la mauvaise valeur produit deux échecs radicalement différents et souvent confondus : trop petit, le modèle stagne et on croit à un problème d'architecture ; trop grand, la perte part à l'infini ou se coince sur un plateau et on croit à un bug. Un praticien expérimenté reconnaît lequel des deux se produit en regardant trois valeurs de perte.

Il existe une deuxième source de confusion, plus insidieuse. Adam, l'optimiseur par défaut de facto, fonctionne si bien sur tant de problèmes qu'on finit par ne plus savoir ce qu'il fait. Or ses réglages implicites — la moyenne mobile, la normalisation par la racine du second moment, la correction de biais — ont des conséquences précises, et il existe des situations où ils nuisent.

Lien copié !