Wiele samouczków online mówi o spadku gradientu i prawie wszystkie z nich mają ustalony rozmiar kroku (współczynnik uczenia ). Dlaczego nie ma potrzeby wyszukiwania linii (takiego jak wyszukiwanie linii wstecznej lub dokładne wyszukiwanie linii)?
Wiele samouczków online mówi o spadku gradientu i prawie wszystkie z nich mają ustalony rozmiar kroku (współczynnik uczenia ). Dlaczego nie ma potrzeby wyszukiwania linii (takiego jak wyszukiwanie linii wstecznej lub dokładne wyszukiwanie linii)?
Odpowiedzi:
Gradientowe zejście waniliowe może być bardziej niezawodne dzięki wyszukiwaniu linii; Napisałem algorytmy, które to robią, a to czyni bardzo stabilnym algorytm (choć niekoniecznie szybki).
Jednak wyszukiwanie liniowych metod gradientów stochastycznych nie ma prawie żadnego sensu . Powodem, dla którego mówię, jest to, że jeśli przeprowadzamy wyszukiwanie linii oparte na minimalizowaniu funkcji pełnej utraty, natychmiast straciliśmy jedną z głównych motywacji do robienia metod stochastycznych; teraz musimy obliczyć funkcję pełnej straty dla każdej aktualizacji, która zazwyczaj ma koszt obliczeniowy porównywalny do obliczenia pełnej pierwszej pochodnej. Biorąc pod uwagę, że chcieliśmy uniknąć obliczenia pełnego gradientu ze względu na koszty obliczeniowe, wydaje się bardzo mało prawdopodobne, abyśmy byli zgodni z obliczeniem funkcji pełnej straty.
Alternatywnie możesz pomyśleć o zrobieniu czegoś w rodzaju wyszukiwania linii na podstawie losowo próbkowanego punktu danych. Jednak nie jest to również dobry pomysł; nie powie ci to nic o tym, czy posunąłeś się za daleko (co jest główną zaletą przeszukiwania linii). Załóżmy na przykład, że wykonujesz regresję logistyczną. Zatem każdy wynik jest po prostu 0 lub 1, a dla każdej pojedynczej próbki w prosty sposób uzyskujemy idealne rozdzielenie, więc optymalne rozwiązanie dla naszych parametrów regresji opartych na próbce 1 jest trywialnie lub ∞ dzięki efektowi Haucka Donnera. To nie jest dobrze.
EDYTOWAĆ
@DeltaIV wskazuje, że dotyczy to również mini-partii, a nie tylko pojedynczych próbek.
Samouczki mówią o spadku gradientu prawdopodobnie dlatego, że jest to jeden z najprostszych algorytmów wykorzystywanych do optymalizacji, więc łatwo go wyjaśnić. Ponieważ większość takich samouczków jest raczej krótka, koncentrują się na prostych rzeczach. Istnieje co najmniej kilka popularnych algorytmów optymalizacji poza prostym spadkiem gradientu, które są używane do głębokiego uczenia się. W rzeczywistości ludzie często używają różnych algorytmów niż zejścia gradientowego, ponieważ zwykle zbiegają się szybciej. Niektóre z nich mają niestały współczynnik uczenia się (np. Maleją z czasem). Aby przejrzeć takie algorytmy, możesz przejrzeć Przegląd algorytmów optymalizacji spadku gradientu opublikowany przez Sebastiana Rudera (lub artykuł z arXived ).