Pourquoi n'utilisons-nous pas des taux d'apprentissage non constants pour un gradient décent pour d'autres choses que les réseaux de neurones?


14

La littérature sur l'apprentissage en profondeur regorge de trucs astucieux avec l'utilisation de taux d'apprentissage non constants dans la descente de gradient. Des choses comme la décroissance exponentielle, RMSprop, Adagrad, etc. sont faciles à mettre en œuvre et sont disponibles dans tous les packages d'apprentissage en profondeur, mais elles semblent inexistantes en dehors des réseaux de neurones. Y a-t-il une raison quelconque pour cela? Si c'est simplement que les gens s'en moquent, y a-t-il une raison pour laquelle nous ne devons pas nous soucier en dehors des réseaux de neurones?


2
Je pense que la recherche en ligne ou la méthode de région de confiance sont des taux d'apprentissage "non constants".
Haitao Du

2
Il existe de nombreuses méthodes de gradient non constant qui ont été développées indépendamment des NN. Barzilai-Borwein GD et Nesterov GD en sont deux exemples marquants.
Sycorax dit Réintégrer Monica

@Sycorax, mais sont-ils réellement utilisés quotidiennement en dehors des NN?
Tim

2
@Tim, je ne peux pas le dire. Lorsque je dois effectuer une recherche locale en dehors des NN, j'ai le luxe d'utiliser des méthodes de second ordre. Mais j'étais ravi d'en apprendre davantage sur les méthodes GD plus rapides pour l'occasion que je pourrais avoir un joli truc dans ma poche arrière.
Sycorax dit Réintégrer Monica

1
Il convient de noter que (à ma grande surprise), je suis tombé sur des cas où les GBM n'utilisent pas des taux d'apprentissage constants, à la grande surprise des gens. Un exemple particulier a été la mise en œuvre de DART sur LightGBM. Bien que les documents originaux n'utilisent pas de LR de plus en plus petit, l'implémentation réelle le fait par défaut.
usεr11852 dit Réintégrer Monic le

Réponses:


16

Avertissement: je n'ai pas beaucoup d'expérience avec l'optimisation en dehors des réseaux de neurones, donc ma réponse sera clairement biaisée, mais il y a plusieurs choses qui jouent un rôle:

  • (Deep) des réseaux de neurones ont beaucoup de paramètres . Cela a plusieurs implications:

    Premièrement, il exclut en quelque sorte les méthodes d'ordre supérieur simplement parce que le calcul de la Hesse et des dérivés supérieurs devient irréalisable. Dans d'autres domaines, cela peut être une approche valide mieux que tout ajustement de SGD.

    Deuxièmement, bien que SGD soit merveilleux , il a tendance à être lent. Ces variantes améliorées de SGD permettent principalement une formation plus rapide, tout en perdant potentiellement certaines des belles propriétés de SGD . Dans d'autres domaines, le temps de formation SGD peut ne pas être le goulot d'étranglement, donc les améliorations obtenues en l'accélérant peuvent être tout simplement négligeables.

  • La formation de réseaux de neurones (profonds) est une optimisation non convexe et je ne connais pas de résultats significatifs de relaxation convexe dans le domaine. Contrairement à d'autres domaines, les réseaux de neurones ne sont pas axés sur des solutions globalement optimales prouvées, ce qui conduit à investir plus d'efforts dans l'amélioration des propriétés de la surface de perte et de sa traversée lors de l'optimisation.

    Dans d'autres domaines, l'utilisation de la relaxation convexe et l'obtention de solutions globalement optimales peuvent être au centre de l'intérêt au lieu de l'algorithme d'optimisation, car une fois que le problème est défini comme un problème convexe, le choix de l'algorithme d'optimisation ne peut pas améliorer la qualité de la solution .

Je suppose que cette réponse ne couvre pas tous les aspects possibles et je suis moi-même curieux de connaître d'autres opinions.


Donc, vous dites essentiellement que d'autres problèmes sont beaucoup plus simples, donc vous n'avez pas besoin des astuces et le SGD vanille leur suffit?
Tim

3
C'est trop simplifier mon message. 1) certains problèmes peuvent utiliser des méthodes d'ordre supérieur, pas besoin de SGD adaptatif. 2) certains problèmes ne peuvent pas bénéficier de l'amélioration SGD en raison de la loi d'Amdahl. 3) certains problèmes peuvent offrir des solutions convexes et la principale difficulté est de les poser comme convexes. Rien de tout cela ne dit que d'autres problèmes sont beaucoup plus simples que l'apprentissage en profondeur, ce qui explique plutôt pourquoi l'amélioration de la SGD n'est pas au centre de leur attention.
Jan Kukacka

Un point possible 4: si vous preniez une autre méthode et la rendiez suffisamment complexe (dimensionnelle élevée, non linéaire, non convexe) pour bénéficier de méthodes sophistiquées de descente de gradient, on l'appellerait probablement un réseau neuronal.
Nathaniel

1
@JanKukacka Je sais, je cherchais des éclaircissements car votre réponse était indirecte
Tim
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.