Könnte mir bitte jemand erklären, wie man die Verzerrung während der Backpropagation aktualisiert?
Ich habe einige Bücher gelesen, kann aber keine Bias-Aktualisierung finden!
Ich verstehe, dass Bias eine zusätzliche Eingabe von 1 ist, an die ein Gewicht gebunden ist (für jedes Neuron). Es muss eine Formel geben.
Antworten:
Nach der Notation von Rojas 1996, Kapitel 7 , berechnet die Backpropagation partielle Ableitungen der Fehlerfunktion
E
(alias Kosten, alias Verlust).Wo
w[i,j]
ist das Gewicht der Verbindung zwischen Neuroneni
undj
, daj
es im Netzwerk eine Schicht höher ist alsi
undo[i]
die Ausgabe (Aktivierung) voni
(im Fall der "Eingabeschicht" ist dies nur der Wert des Merkmalsi
in der Trainingsprobe unter Erwägung). Wie zu bestimmendelta
ist in jedem Lehrbuch angegeben und hängt von der Aktivierungsfunktion ab, daher werde ich es hier nicht wiederholen.Diese Werte können dann in Gewichtsaktualisierungen verwendet werden, z
Wo
gamma
ist die Lernrate?Die Regel für Bias-Gewichte ist sehr ähnlich, außer dass keine Eingabe von einer vorherigen Ebene erfolgt. Stattdessen wird die Verzerrung (konzeptionell) durch die Eingabe eines Neurons mit einer festen Aktivierung von 1 verursacht. Die Aktualisierungsregel für die Verzerrungsgewichte lautet also
Wo
bias[j]
ist das Gewicht der Vorspannung auf das Neuronj
, kann die Multiplikation mit 1 offensichtlich weggelassen werden undgamma_bias
kann aufgamma
oder auf einen anderen Wert gesetzt werden. Wenn ich mich richtig erinnere, werden niedrigere Werte bevorzugt, obwohl ich mir über die theoretische Rechtfertigung nicht sicher bin.quelle
1
) auf der Ebenel
als Aktivierung dieser Ebene ein? Ich meine, wenn ja, dann kann die Aktualisierung der Gewichte in der Ebenel
, einschließlich der Gewichte für ihre Verzerrung, als eine einzige Formel geschrieben werden:w(l) -= gamma * dot( delta(l+1), o(l))
Habe ich recht?Der Betrag, den Sie für jedes einzelne Gewicht und jede Abweichung ändern, ist die partielle Ableitung Ihrer Kostenfunktion in Bezug auf jedes einzelne Gewicht und jede einzelne Abweichung.
Da Ihre Kostenfunktion wahrscheinlich nicht explizit von einzelnen Gewichten und Werten abhängt (Kosten können gleich sein (Netzwerkleistung - erwartete Leistung) ^ 2 zum Beispiel), müssen Sie die partiellen Ableitungen jedes Gewichts und jeder Verzerrung mit etwas in Beziehung setzen, das Sie haben wissen, dh die Aktivierungswerte (Ausgänge) von Neuronen. Hier ist eine großartige Anleitung dazu:
https://medium.com/@erikhallstrm/backpropagation-from-the-beginning-77356edf427d
In diesem Handbuch wird klar angegeben, wie diese Dinge zu tun sind, es kann jedoch manchmal an Erklärungen mangeln. Ich fand es sehr hilfreich, die Kapitel 1 und 2 dieses Buches zu lesen, als ich den oben verlinkten Leitfaden las:
http://neuralnetworksanddeeplearning.com/chap1.html (bietet wichtige Hintergrundinformationen für die Beantwortung Ihrer Frage)
http://neuralnetworksanddeeplearning.com/chap2.html (beantwortet Ihre Frage)
Grundsätzlich werden Verzerrungen auf die gleiche Weise aktualisiert wie Gewichte: Eine Änderung wird basierend auf dem Gradienten der Kostenfunktion an einem mehrdimensionalen Punkt bestimmt.
Stellen Sie sich das Problem, das Ihr Netzwerk zu lösen versucht, als eine Landschaft aus mehrdimensionalen Hügeln und Tälern (Gefällen) vor. Diese Landschaft ist eine grafische Darstellung, wie sich Ihre Kosten mit sich ändernden Gewichten und Vorurteilen ändern. Das Ziel eines neuronalen Netzwerks ist es, den tiefsten Punkt in dieser Landschaft zu erreichen, um so die geringsten Kosten zu finden und Fehler zu minimieren. Wenn Sie sich Ihr Netzwerk als einen Reisenden vorstellen, der versucht, den Grund dieser Steigungen zu erreichen (dh die Steigung), hängt der Betrag, um den Sie jedes Gewicht (und jede Abweichung) ändern, mit der Steigung der Steigung (Steigung der Funktion) zusammen. dass der Reisende gerade nach unten klettert. Die genaue Position des Reisenden wird durch einen mehrdimensionalen Koordinatenpunkt (Gewicht1, Gewicht2, Gewicht3, ... Gewicht_n) angegeben, an dem die Vorspannung als eine andere Art von Gewicht angesehen werden kann.
quelle