Was ist im Zusammenhang mit neuronalen Netzen der Unterschied zwischen Lernrate und Gewichtsabnahme?
Was ist im Zusammenhang mit neuronalen Netzen der Unterschied zwischen Lernrate und Gewichtsabnahme?
Antworten:
Die Lernrate ist ein Parameter, der bestimmt, wie stark ein Aktualisierungsschritt den aktuellen Wert der Gewichte beeinflusst. Während der Gewichtsabfall ein zusätzlicher Begriff in der Regel zur Gewichtsaktualisierung ist, der bewirkt, dass die Gewichte exponentiell auf Null abfallen, wenn keine andere Aktualisierung geplant ist.
Nehmen wir also an, wir haben eine Kosten- oder Fehlerfunktion , die wir minimieren möchten. Gradient Descent sagt uns, dass wir die Gewichte in Richtung des steilsten Abfalls in : wobei die Lernrate ist und wenn es groß ist, haben Sie eine entsprechend große Modifikation der Gewichte (im Allgemeinen sollte es nicht zu groß sein, sonst werden Sie das lokale Minimum in Ihrer Kostenfunktion überschreiten).
Um die Anzahl der freien Parameter in Ihrem Modell effektiv zu begrenzen, um eine Überanpassung zu vermeiden, ist es möglich, die Kostenfunktion zu regulieren. Eine einfache Möglichkeit, dies zu tun, besteht darin, vor den Gewichten einen Gaußschen Mittelwert von Null einzufügen. Dies entspricht der Änderung der Kostenfunktion in . In der Praxis werden dadurch große Gewichte benachteiligt und die Freiheit in Ihrem Modell effektiv eingeschränkt. Der Regularisierungsparameter bestimmt, wie Sie die ursprünglichen Kosten mit der Strafe für große Gewichte abwägen.
Anwenden von Gradientenabfallsaktualisierung auf diese neue Kostenfunktion erhalten wir: Der neue Term aus der Regularisierung bewirkt, dass das Gewicht proportional zu seiner Größe .
Zusätzlich zur @ mrig-Antwort (+1) ist es für viele praktische Anwendungen neuronaler Netze besser, einen fortgeschritteneren Optimierungsalgorithmus wie Levenberg-Marquardt (kleine bis mittelgroße Netze) oder einen skalierten konjugierten Gradientenabstieg (mittel bis groß) zu verwenden Netzwerke), da diese viel schneller sind und die Lernrate nicht eingestellt werden muss (beide Algorithmen passen die Lernrate im Wesentlichen anhand der Krümmung und des Gradienten an). Jedes vernünftige neuronale Netzwerkpaket oder jede Bibliothek wird eine dieser Methoden implementieren, jedes Paket, das dies nicht tut, ist wahrscheinlich veraltet. Ich benutze die NETLAB-Bibliothek für MATLAB, die ein großartiges Teil des Kits ist.
Ich einfache Begriffe:
learning_rate: Steuert, wie schnell oder langsam ein neuronales Netzwerkmodell ein Problem lernt.
ref: https://machinelearningmastery.com/learning-rate-for-deep-learning-neural-networks/
wight_decay: Es ist eine Regularisierungstechnik, die verwendet wird, um eine Überanpassung zu vermeiden.
Ref: https://metacademy.org/graphs/concepts/weight_decay_neural_networks