Dlaczego nie używamy niestałych wskaźników uczenia się dla gradientu przyzwoitego dla rzeczy innych niż sieci neuronowe?

14

Literatura dogłębnego uczenia się jest pełna sprytnych sztuczek z wykorzystaniem niestałych wskaźników uczenia się przy opadaniu gradientowym. Rzeczy takie jak rozkład wykładniczy, RMSprop, Adagrad itp. Są łatwe do wdrożenia i są dostępne w każdym pakiecie dogłębnego uczenia się, ale wydają się nie istnieć poza sieciami neuronowymi. Czy jest jakiś powód tego? Jeśli jest tak, że ludzie po prostu się nie przejmują, czy istnieje powód, dla którego nie musimy przejmować się sieciami neuronowymi?

Tim
źródło
2
Myślę, że metoda wyszukiwania według linii lub regionu zaufania to „niestałe” wskaźniki uczenia się.
Haitao Du
2
Istnieje wiele metod niestałych gradientów, które zostały opracowane niezależnie od NN. Barzilai-Borwein GD i Nesterov GD to dwa wybitne przykłady.
Sycorax mówi Przywróć Monikę
@Sycorax, ale czy są one faktycznie używane codziennie poza NN?
Tim
2
@Tim Nie mogę powiedzieć. Kiedy muszę przeprowadzić wyszukiwanie lokalne poza sieciami NN, mam luksus korzystania z metod drugiego rzędu. Ale byłem podekscytowany, gdy dowiedziałem się o szybszych metodach GD z okazji, że mogę mieć słodką sztuczkę w tylnej kieszeni.
Sycorax mówi Przywróć Monikę
1
Warto zauważyć, że (ku mojemu zaskoczeniu) natknąłem się na przypadki, w których GBM nie stosują stałych wskaźników uczenia się, ku zaskoczeniu ludzi. Szczególnym przykładem jest wdrożenie DART na LightGBM. Podczas gdy oryginalne prace nie używają coraz mniejszej LR, rzeczywista implementacja domyślnie.
usεr11852 mówi: Przywróć Monic

Odpowiedzi:

16

Uwaga: Nie mam zbyt dużego doświadczenia w optymalizacji poza sieciami neuronowymi, więc moja odpowiedź będzie wyraźnie stronnicza, ale jest kilka rzeczy, które odgrywają rolę:

  • (Głębokie) sieci neuronowe mają wiele parametrów . Ma to kilka implikacji:

    Po pierwsze, w pewnym sensie wyklucza to metody wyższego rzędu po prostu dlatego, że obliczenie Hesji i wyższych pochodnych staje się niemożliwe. W innych domenach może to być poprawne podejście lepsze niż jakiekolwiek poprawki w SGD.

    Po drugie, chociaż SGD jest cudowny , zwykle jest niepraktycznie wolny. Te ulepszone warianty SGD umożliwiają głównie szybszy trening, jednocześnie potencjalnie tracąc niektóre miłe właściwości SGD . W innych domenach czas szkolenia SGD może nie stanowić wąskiego gardła, więc ulepszenia uzyskane dzięki przyspieszeniu mogą być po prostu znikome.

  • Treningowe (głębokie) sieci neuronowe są niewypukłą optymalizacją i nie jestem świadomy znaczących wyników relaksacji wypukłości w terenie. W przeciwieństwie do innych dziedzin, sieci neuronowe nie koncentrują się na możliwych do udowodnienia globalnie optymalnych rozwiązaniach, co prowadzi do zwiększenia wysiłków w celu poprawy właściwości powierzchni strat i jej przejścia podczas optymalizacji.

    W innych dziedzinach zastosowanie wypukłej relaksacji i uzyskanie globalnie optymalnych rozwiązań może być w centrum zainteresowania zamiast algorytmu optymalizacyjnego, ponieważ po zdefiniowaniu problemu jako wypukłego, wybór algorytmu optymalizacji nie może poprawić jakości rozwiązania .

Przypuszczam, że ta odpowiedź nie obejmuje wszystkich możliwych aspektów i jestem ciekawa innych opinii.

Jan Kukacka
źródło
Mówisz więc zasadniczo, że inne problemy są znacznie prostsze, więc nie potrzebujesz sztuczek, a SGD waniliowy wystarczy dla nich?
Tim
3
To upraszcza moją wiadomość. 1) niektóre problemy mogą korzystać z metod wyższego rzędu, bez potrzeby adaptacyjnego SGD. 2) niektóre problemy nie mogą skorzystać z poprawy SGD ze względu na prawo Amdahla. 3) niektóre problemy mogą oferować rozwiązania wypukłe, a główną trudnością jest przedstawienie ich jako wypukłych. Żaden z nich nie mówi, że inne problemy są znacznie prostsze niż głębokie uczenie się, raczej wyjaśnia, dlaczego poprawa SGD nie jest w centrum ich uwagi.
Jan Kukacka
Możliwy punkt 4: jeśli zastosujesz inną metodę i uczynisz ją wystarczająco złożoną (wysokowymiarową, nieliniową, nie wypukłą), aby skorzystać z wyrafinowanych metod zejścia gradientowego, prawdopodobnie nazywa się to siecią neuronową.
Nathaniel
1
@ JanKukacka Wiem, szukałem wyjaśnień, ponieważ twoja odpowiedź była pośrednia
Tim