W kontekście sieci neuronowych, jaka jest różnica między współczynnikiem uczenia się a spadkiem masy ciała?
W kontekście sieci neuronowych, jaka jest różnica między współczynnikiem uczenia się a spadkiem masy ciała?
Odpowiedzi:
Szybkość uczenia się jest parametrem, który określa, jak bardzo krok aktualizacji wpływa na aktualną wartość wag. Podczas gdy zanik masy jest dodatkowym terminem w regule aktualizacji ciężaru, który powoduje, że wagi spadają wykładniczo do zera, jeśli żadna inna aktualizacja nie jest zaplanowana.
Powiedzmy, że mamy funkcję kosztu lub błędu , którą chcemy zminimalizować. Gradient descent mówi nam o zmianie ciężarów w kierunku najbardziej stromego zejścia w : gdzie jest wskaźnikiem uczenia się, a jeśli jest duży, będziesz mieć odpowiednio dużą modyfikację wag (ogólnie nie powinno być zbyt duże, w przeciwnym razie przekroczysz lokalne minimum w funkcji kosztów).
Aby skutecznie ograniczyć liczbę bezpłatnych parametrów w modelu, aby uniknąć nadmiernego dopasowania, możliwe jest uregulowanie funkcji kosztów. Łatwym sposobem na to jest wprowadzenie poprzedzającego wagi średniej zero Gaussa, co jest równoważne zmianie funkcji kosztu na . W praktyce powoduje to karanie dużych ciężarów i skutecznie ogranicza swobodę w modelu. Parametr regularyzacji określa sposób wymiany pierwotnego kosztu za pomocą kary za duże ciężary.
Stosując opadanie gradientu do tej nowej funkcji kosztu, otrzymujemy: Nowy termin pochodzący z regularyzacji powoduje rozkład masy w stosunku do jej wielkości.
Oprócz odpowiedzi @ mrig (+1), dla wielu praktycznych zastosowań sieci neuronowych lepiej jest użyć bardziej zaawansowanego algorytmu optymalizacji, takiego jak Levenberg-Marquardt (sieci małe i średnie) lub skalowane opadanie gradientu sprzężonego (średnio duże sieci), ponieważ będą one znacznie szybsze i nie ma potrzeby ustawiania szybkości uczenia się (oba algorytmy zasadniczo dostosowują szybkość uczenia się za pomocą krzywizny i gradientu). Każdy przyzwoity pakiet sieci neuronowej lub biblioteka będzie miała implementacje jednej z tych metod, każdy pakiet, który nie jest prawdopodobnie przestarzały. Używam biblioteki NETLAB dla MATLAB, która jest świetnym zestawem.
I proste terminy:
learning_rate: Kontroluje, jak szybko lub powoli model sieci neuronowej uczy się problemu.
ref: https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/
wight_decay: Jest to technika regularyzacji stosowana w celu uniknięcia nadmiernego dopasowania.
ref: https://metacademy.org/graphs/concepts/weight_decay_neural_networks