Rückwärtspropagation
Die Rückwärtsausbreitung (Backpropagation) ist der Prozess, bei dem berechnet wird, wie sich die Verlustfunktion in Bezug auf jeden Parameter im Netzwerk verändert. Das Ziel ist es, die Parameter in die Richtung zu aktualisieren, die den Verlust verringert.
Dazu wird der Gradientenabstiegsalgorithmus verwendet und die Ableitungen des Verlusts in Bezug auf die Präaktivierungswerte jeder Schicht (Rohwerte vor Anwendung der Aktivierungsfunktion) berechnet und rückwärts propagiert.
Jede Schicht trägt zur endgültigen Vorhersage bei, daher müssen die Gradienten strukturiert berechnet werden:
- Durchführung der Vorwärtsausbreitung;
- Berechnung der Ableitung des Verlusts in Bezug auf die Präaktivierung des Ausgangs;
- Rückpropagieren dieser Ableitung durch die Schichten mithilfe der Kettenregel;
- Berechnung der Gradienten für Gewichte und Biases zur Aktualisierung.
Gradienten stellen die Änderungsrate einer Funktion in Bezug auf ihre Eingaben dar, das heißt, sie sind deren Ableitungen. Sie zeigen an, wie stark eine kleine Änderung der Gewichte, Biases oder Aktivierungen die Verlustfunktion beeinflusst und steuern so den Lernprozess des Modells durch den Gradientenabstieg.
Notation
Zur besseren Verständlichkeit verwenden wir folgende Notation:
- Wl ist die Gewichtsmatrix der Schicht l;
- bl ist der Bias-Vektor der Schicht l;
- zl ist der Präaktivierungsvektor der Schicht l;
- al ist der Aktivierungsvektor der Schicht l;
Indem a0 auf x (die Eingaben) gesetzt wird, kann die Vorwärtsausbreitung in einem Perzeptron mit n Schichten durch folgende Operationsfolge beschrieben werden:
a0z1a1=x,=W1a0+b1,=f1(z1),...zlal...=Wlal−1+bl,=fl(zl),...znany^...=Wnan−1+bn,=fn(zn),=an.Um die Rückpropagation mathematisch zu beschreiben, führen wir die folgenden Notationen ein:
- dal: Ableitung des Verlusts bezüglich der Aktivierungen in Schicht l;
- dzl: Ableitung des Verlusts bezüglich der Präaktivierungen in Schicht l (vor Anwendung der Aktivierungsfunktion);
- dWl: Ableitung des Verlusts bezüglich der Gewichte in Schicht l;
- dbl: Ableitung des Verlusts bezüglich der Biases in Schicht l.
Gradientenberechnung für die Ausgabeschicht
In der letzten Schicht n berechnen wir zunächst den Gradienten des Verlusts bezüglich der Aktivierungen der Ausgabeschicht, dan. Anschließend berechnen wir mit der Kettenregel den Gradienten des Verlusts bezüglich der Präaktivierungen der Ausgabeschicht:
dzn=dan⊙f′n(zn)Das Symbol ⊙ steht für elementweise Multiplikation. Da wir mit Vektoren und Matrizen arbeiten, steht das übliche Multiplikationssymbol ⋅ stattdessen für das Skalarprodukt. f′n ist die Ableitung der Aktivierungsfunktion der Ausgabeschicht.
Diese Größe gibt an, wie empfindlich die Verlustfunktion auf Änderungen der Voraktivierung der Ausgabeschicht reagiert.
Sobald dzn berechnet wurde, werden die Gradienten für die Gewichte und Bias berechnet:
dWndbn=dzn⋅(an−1)T=dznwobei (an−1)T der transponierte Aktivierungsvektor der vorherigen Schicht ist. Da der ursprüngliche Vektor ein nneurons×1 Vektor ist, ist der transponierte Vektor ein 1×nneurons Vektor.
Um dies rückwärts zu propagieren, wird die Ableitung des Verlusts bezüglich der Aktivierungen der vorherigen Schicht berechnet:
dan−1=(Wn)T⋅dznGradientenweitergabe zu den versteckten Schichten
Für jede versteckte Schicht l ist das Vorgehen identisch. Gegeben dal:
- Berechnung der Ableitung des Verlusts bezüglich der Voraktivierungen;
- Berechnung der Gradienten für die Gewichte und Bias;
- Berechnung von dal−1 zur Rückpropagierung der Ableitung.
Dieser Schritt wird wiederholt, bis die Eingabeschicht erreicht ist.
Aktualisierung von Gewichten und Biases
Nachdem die Gradienten für alle Schichten berechnet wurden, werden die Gewichte und Biases mithilfe des Gradientenabstiegs aktualisiert:
Wlbl=Wl−α⋅dWl=bl−α⋅dblwobei α die Lernrate ist, die bestimmt, wie stark die Parameter angepasst werden.
Danke für Ihr Feedback!
Fragen Sie AI
Fragen Sie AI
Fragen Sie alles oder probieren Sie eine der vorgeschlagenen Fragen, um unser Gespräch zu beginnen
Awesome!
Completion rate improved to 4
Rückwärtspropagation
Swipe um das Menü anzuzeigen
Die Rückwärtsausbreitung (Backpropagation) ist der Prozess, bei dem berechnet wird, wie sich die Verlustfunktion in Bezug auf jeden Parameter im Netzwerk verändert. Das Ziel ist es, die Parameter in die Richtung zu aktualisieren, die den Verlust verringert.
Dazu wird der Gradientenabstiegsalgorithmus verwendet und die Ableitungen des Verlusts in Bezug auf die Präaktivierungswerte jeder Schicht (Rohwerte vor Anwendung der Aktivierungsfunktion) berechnet und rückwärts propagiert.
Jede Schicht trägt zur endgültigen Vorhersage bei, daher müssen die Gradienten strukturiert berechnet werden:
- Durchführung der Vorwärtsausbreitung;
- Berechnung der Ableitung des Verlusts in Bezug auf die Präaktivierung des Ausgangs;
- Rückpropagieren dieser Ableitung durch die Schichten mithilfe der Kettenregel;
- Berechnung der Gradienten für Gewichte und Biases zur Aktualisierung.
Gradienten stellen die Änderungsrate einer Funktion in Bezug auf ihre Eingaben dar, das heißt, sie sind deren Ableitungen. Sie zeigen an, wie stark eine kleine Änderung der Gewichte, Biases oder Aktivierungen die Verlustfunktion beeinflusst und steuern so den Lernprozess des Modells durch den Gradientenabstieg.
Notation
Zur besseren Verständlichkeit verwenden wir folgende Notation:
- Wl ist die Gewichtsmatrix der Schicht l;
- bl ist der Bias-Vektor der Schicht l;
- zl ist der Präaktivierungsvektor der Schicht l;
- al ist der Aktivierungsvektor der Schicht l;
Indem a0 auf x (die Eingaben) gesetzt wird, kann die Vorwärtsausbreitung in einem Perzeptron mit n Schichten durch folgende Operationsfolge beschrieben werden:
a0z1a1=x,=W1a0+b1,=f1(z1),...zlal...=Wlal−1+bl,=fl(zl),...znany^...=Wnan−1+bn,=fn(zn),=an.Um die Rückpropagation mathematisch zu beschreiben, führen wir die folgenden Notationen ein:
- dal: Ableitung des Verlusts bezüglich der Aktivierungen in Schicht l;
- dzl: Ableitung des Verlusts bezüglich der Präaktivierungen in Schicht l (vor Anwendung der Aktivierungsfunktion);
- dWl: Ableitung des Verlusts bezüglich der Gewichte in Schicht l;
- dbl: Ableitung des Verlusts bezüglich der Biases in Schicht l.
Gradientenberechnung für die Ausgabeschicht
In der letzten Schicht n berechnen wir zunächst den Gradienten des Verlusts bezüglich der Aktivierungen der Ausgabeschicht, dan. Anschließend berechnen wir mit der Kettenregel den Gradienten des Verlusts bezüglich der Präaktivierungen der Ausgabeschicht:
dzn=dan⊙f′n(zn)Das Symbol ⊙ steht für elementweise Multiplikation. Da wir mit Vektoren und Matrizen arbeiten, steht das übliche Multiplikationssymbol ⋅ stattdessen für das Skalarprodukt. f′n ist die Ableitung der Aktivierungsfunktion der Ausgabeschicht.
Diese Größe gibt an, wie empfindlich die Verlustfunktion auf Änderungen der Voraktivierung der Ausgabeschicht reagiert.
Sobald dzn berechnet wurde, werden die Gradienten für die Gewichte und Bias berechnet:
dWndbn=dzn⋅(an−1)T=dznwobei (an−1)T der transponierte Aktivierungsvektor der vorherigen Schicht ist. Da der ursprüngliche Vektor ein nneurons×1 Vektor ist, ist der transponierte Vektor ein 1×nneurons Vektor.
Um dies rückwärts zu propagieren, wird die Ableitung des Verlusts bezüglich der Aktivierungen der vorherigen Schicht berechnet:
dan−1=(Wn)T⋅dznGradientenweitergabe zu den versteckten Schichten
Für jede versteckte Schicht l ist das Vorgehen identisch. Gegeben dal:
- Berechnung der Ableitung des Verlusts bezüglich der Voraktivierungen;
- Berechnung der Gradienten für die Gewichte und Bias;
- Berechnung von dal−1 zur Rückpropagierung der Ableitung.
Dieser Schritt wird wiederholt, bis die Eingabeschicht erreicht ist.
Aktualisierung von Gewichten und Biases
Nachdem die Gradienten für alle Schichten berechnet wurden, werden die Gewichte und Biases mithilfe des Gradientenabstiegs aktualisiert:
Wlbl=Wl−α⋅dWl=bl−α⋅dblwobei α die Lernrate ist, die bestimmt, wie stark die Parameter angepasst werden.
Danke für Ihr Feedback!