Les méthodes de recherche en ligne sont-elles utilisées dans le deep learning? Pourquoi pas?

18

De nombreux didacticiels en ligne parlent de la descente de gradient et presque tous utilisent une taille de pas fixe (taux d'apprentissage ). Pourquoi n'y a-t-il pas d'utilisation de la recherche de ligne (comme la recherche de ligne en arrière ou la recherche de ligne exacte)?α

Haitao Du
la source
5
"Et presque tous utilisent une taille de pas fixe" - êtes-vous sûr? Les hyperparamètres "taux d'apprentissage" sont censés adapter la taille du pas aux conditions. Un algorithme d'Adam très populaire adapte la taille des pas
Aksakal
1
hmm, les méthodes de gradient de taille de pas adaptatif existent depuis au moins 2011, et elles sont même citées sur la page Wikipédia de descente de gradient stochastique . Ce ne sont pas exactement des nouvelles brûlantes. Même le SGD vanille est presque toujours utilisé avec un taux d'apprentissage qui change avec le nombre d'itérations ( calendrier ). Maintenant, une très bonne question serait: pourquoi, même s'il existe autant de méthodes de descente de gradient adaptative, SGD domine toujours le monde du Deep Learning? La question est beaucoup moins triviale qu'elle n'y paraît.
DeltaIV
1
Le retour en arrière de la recherche de ligne fixe une direction, puis cherche un moyen de réduire la fonction. Donc, à moins que vous ne disposiez d'un moyen intelligent de choisir la direction dans laquelle effectuer la recherche, vous recherchez une optimisation fastidieuse.
Alex R.
1
Je ne vois pas que la recherche en ligne ait un sens pour SGD (par opposition à la descente de gradient [batch]) - donc je dirais que c'est la raison.
seanv507
3
Je soupçonne que la raison pour laquelle la recherche en ligne n'est pas très populaire est le traitement par lots dans la descente en gradient. Vous obtenez un lot, puis calculez le gradient. Cela n'a pas beaucoup de sens d'aller et venir dans la ligne à cause du bruit dans le gradient. Il est préférable de continuer avec le lot suivant tout en annulant peut-être la taille de l'étape.
Aksakal

Réponses:

14

La descente du gradient de vanille peut être rendue plus fiable en utilisant des recherches en ligne; J'ai écrit des algorithmes qui font cela et cela fait un algorithme très stable (bien que pas nécessairement rapide).

Cependant, cela n'a presque aucun sens de faire une recherche en ligne pour les méthodes de gradient stochastique . La raison pour laquelle je dis cela est que si nous effectuons une recherche de ligne basée sur la minimisation de la fonction de perte complète, nous avons immédiatement perdu l'une des principales motivations pour faire des méthodes stochastiques; nous devons maintenant calculer la fonction de perte complète pour chaque mise à jour, qui a généralement un coût de calcul comparable au calcul de la première dérivée complète. Étant donné que nous voulions éviter de calculer le gradient complet en raison des coûts de calcul, il semble très peu probable que nous voulons être d'accord avec le calcul de la fonction de perte complète.

Alternativement, vous pourriez penser à faire quelque chose comme une recherche de ligne basée sur votre point de données échantillonné au hasard. Cependant, ce n'est pas une bonne idée non plus; cela ne vous dira pas si vous êtes allé trop loin (ce qui est le principal avantage des recherches en ligne). Par exemple, supposons que vous effectuez une régression logistique. Ensuite, chaque résultat est simplement un 0 ou 1, et pour tout échantillon unique, nous obtenons trivialement une séparation parfaite, de sorte que la solution optimale pour nos paramètres de régression basés sur l'échantillon de 1 est trivialement ou par l'effet Hauck Donner. Ce n'est pas bon.

ÉDITER

@DeltaIV souligne que cela s'applique également aux mini-lots, pas seulement aux échantillons individuels.

Cliff AB
la source
4
très bien (+1), mais je ne sais pas pourquoi dans le dernier exemple vous parlez d'un seul échantillon. Je suis d'accord que calculer la recherche de ligne sur la base d'un mini-lot n'a pas de sens, mais un mini-lot contient toujours 512 échantillons (généralement, et quand on parle d'ImageNet): bien sûr, il n'y a pas de valeur fixe pour le nombre d'échantillons dans un mini -batch, mais 1 échantillon de mini-lots semble un peu extrême. Les avez-vous utilisés uniquement pour clarifier votre propos, ou ai-je raté quelque chose?
DeltaIV
2
@DeltaIV: un seul échantillon est principalement destiné à montrer à quel point il pourrait être mauvais sur un problème très simple. Si nous faisions des mini-lots avec 512 échantillons sur la régression logistique avec 512+ covariables, nous verrions le même problème.
Cliff AB
10

Les didacticiels parlent de la descente du gradient, probablement parce que c'est l'un des algorithmes les plus simples utilisés pour l'optimisation, il est donc facile à expliquer. Étant donné que la plupart de ces didacticiels sont plutôt brefs, ils se concentrent sur des choses simples. Il existe au moins plusieurs algorithmes d'optimisation populaires au-delà de la simple descente de gradient qui sont utilisés pour l'apprentissage en profondeur. En fait, les gens utilisent souvent différents algorithmes puis descente de gradient car ils convergent généralement plus rapidement. Certains d'entre eux ont un taux d'apprentissage non constant (par exemple, diminuant avec le temps). Pour un examen de ces algorithmes, vous pouvez consulter la publication Un aperçu des algorithmes d'optimisation de la descente de gradient par Sebastian Ruder (ou l' article arXived ).

Tim
la source
2
@DeltaIV: Toutes les "autres" méthodes fantaisie sont construites sur SGD. Le principal problème est que les autres méthodes tirent parti des connaissances locales pour effectuer des sauts plus efficaces, plutôt que de simplement échantillonner des points au hasard pour calculer le gradient. Mais SGD est si simple et rapide, et ce n'est pas complètement terrible en soi.
Alex R.
2
@AlexR. le fait n'est pas non plus que SGD est simple et / ou rapide. La simplicité n'a pas d'importance, car toutes les bibliothèques décentes implémentent SGD, Adam, AdaGrad et RMSProp (et plus, parfois). La vitesse importe encore moins, car le temps passé, par exemple, par Adam, pour calculer les mises à jour au niveau des paramètres est infinitésimal par rapport au temps d'entraînement global d'un modèle comme ResNet. Le seul point est que, pour une raison que nous ne comprenons pas pleinement aujourd'hui, SGD se généralise mieux qu'eux. Donc, fondamentalement, si vous voulez battre SOTA, vous êtes souvent obligé de l'utiliser, ou du moins d'y revenir plus tard pendant l'entraînement.
DeltaIV
3
@DeltaIV Très intéressant. J'ai ouvert l'article auquel vous avez lié, et il fait référence à la préimpression de Wilson et al 2017 pour l'affirmation selon laquelle SGD se généralise mieux qu'Adam, etc. donc quand vous dites que c'est "bien connu", vous voulez dire bien connu depuis environ six mois, non?
amibe dit Réintégrer Monica le
2
@DeltaIV Merci. Je ne fais pas beaucoup d'apprentissage en profondeur moi-même, et je n'en étais pas du tout conscient. En 2012, alors que je regardais les conférences Coursera de Hinton, il préconisait principalement RMSprop et au cours des 1 à 2 dernières années, j'ai eu l'impression que tout le monde utilise Adam (qui remplace RMSprop, selon l'article d'Adam). Lorsque je jouais avec des encodeurs automatiques l'année dernière, j'ai réalisé qu'Adam fonctionnait beaucoup plus rapidement que SGD, et depuis lors, je supposais juste qu'Adam était un choix par défaut de nos jours.
amibe dit Réintégrer Monica
3
@CliffAB Oui, la relation entre l'arrêt précoce et la régularisation peut être clairement vue pour les moindres carrés, où la descente de gradient opère sur la base des valeurs propres et les petites valeurs propres sont les dernières à converger; tandis que la pénalité de crête pénalise également les petites valeurs propres. Je n'avais maintenant qu'un rapide coup d'œil sur Wilson et al. lié ci-dessus, mais au moins dans leur exemple des moindres carrés SGD vs Adam différent n'est pas expliqué par un arrêt précoce vs tardif. Ils affirment qu'ils convergent vers différentes solutions.
amibe dit Réintégrer Monica le