Matroids Matheplanet Forum Index
Moderiert von Curufin epsilonkugel
Differentiation » Mehrdim. Differentialrechnung » Kettenregel im Mehrdimensionalen
Autor
Universität/Hochschule Kettenregel im Mehrdimensionalen
Elli_2001
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 18.09.2021
Mitteilungen: 7
  Themenstart: 2021-09-19

Hallo, ich habe Probleme bei der Produktregel im Mehrdimensionalen. Im folgenden sind $a_k, b_k, y_k \in \mathbb{R}$, $\sigma: \mathbb{R} \rightarrow \mathbb{R}, x \rightarrow \frac{1}{(1+e^{-x})}$ und $ReLu : \mathbb{R} \rightarrow \mathbb{R}, x \rightarrow \max\{0, x\}$. Im folgenden schreibe ich: $ReLu \left( \Big( a_k \ \ \ b_k \Big) W_1 \right)$ und meine damit die elementweise Anwendung der Funktion. Des Weiteren ist $W_1 \in \mathbb{R}^{2 \times 2}$ und $W_2 \in \mathbb{R}^{2}$. Jetzt möchte ich die folgende Funktion nach der Matrix $W_1$ ableiten. \[ \frac{1}{2} \sum\limits_{k = 1}^{4} \left( y_k - \sigma \bigg( ReLu \left( \Big( a_k \ \ \ b_k \Big) W_1 \right) W_2 \bigg) \right)^2 \] Wenn ich mich nicht irre, dann sollte die Ableitung auch wieder eine Matrix sein. Ist das richtig? Wenn ja, kann es sein, dass das gerade die Jacobi Matrix ist? Hier also mein erster Ansatz: https://matheplanet.com/matheplanet/nuke/html/uploads/b/54978_Bild_1.png Bei meiner Lösung ist die Ableitung aber ein Zeilenvektor. Kann mir bitte jemand sagen was ich falsch mache, oder ist das doch richtig? Ich bin neu hier und weiß nicht wie ich hier in Latex Packages verwenden kann, daher das Bild. Ich habe versucht mich selbst zu kontrollieren, indem ich nicht nach der Matrix $W_1$ sondern nach jedem Element $w_{i,j}$ der Matrix ableite. Dann könnte ich das Ergebnis zusammensetzen. Aber auch hier bin ich mir unsicher. Wenn ich also statt nach $W_1$ nach jedem Element $w_{i,j}$ aus $W_1$ ableite. Bekomme ich folgendes: https://matheplanet.com/matheplanet/nuke/html/uploads/b/54978_1_Bild_2_Skalar.png Wenn ich hier den Zeilenvektor nach $w_{i,j}$ ableite, müsste aber doch wieder ein Vektor entstehen, da der jeweils andere Eintrag des letzten Vektors 0 wird. Und ich kann bestimmt nicht einfach diese Dimension weg lassen, nur damit ich ein Skalar bekomme. Demnach, wäre das was ich hier durch die Funktion $\varphi$ versuche durch ein Saklar zu ersetzen, falsch. Aber auch hier verstehe ich nicht, was ich falsch mache. Wäre toll, wenn mir jemand helfen kann. Grüße, Elli


   Profil
schnitzel
Senior Letzter Besuch: in der letzten Woche
Dabei seit: 26.02.2009
Mitteilungen: 211
  Beitrag No.1, eingetragen 2021-09-19

Hi, es sieht für mich so aus, als ob du am Ende der Zeile einfach W2 weglässt. Deswegen passen die Dimensionen dann auch nicht mehr. Gruß


   Profil
Elli_2001
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 18.09.2021
Mitteilungen: 7
  Beitrag No.2, vom Themenstarter, eingetragen 2021-09-19

Hallo schnitzel, vielen Dank für deine Hilfe. Meinst du so? (Änderungen in grün) https://matheplanet.com/matheplanet/nuke/html/uploads/b/54978_Bild_3.png Dann ist aber das Ergebnis ein Skalar und ich habe eigentlich eine Matirx erwartet. Der Grund, weshalb ich eine Matirx erwarte ist, dass ich mit eben genau dieser Ableitung die Matrix $W_1$ aktualisieren bzw "verbessern" möchte. Wenn ich jetzt aber ein Skalar für jeden Verbesserungsschritt verwende, müsste ich annehmen, dass sich die Matrixeinträge lediglich um einen Faktor ändern müssen um die bestmögliche Matrix $W_1$ zu finden. Da die Matrixeinträge zu Beginn aber zufällig gewählt werden, kommt mir das nicht plausibel vor. Außerdem frage ich mich, woher dieses fehlende $W_2$ kommen soll. Denn die äußere Ableitung: \[ \frac{d \bigg( ReLu \left( \Big( a_k \ \ \ b_k \Big) W_1 \right) W_2 \bigg) }{d \left( \Big( a_k \ \ \ b_k \Big) W_1 \right) } \] mache ich im zweitletzten Teil und da bleibt schon ein $W_2$ übrig. Ich habe die einzelnen Komponenten jetzt so lange hin und her geschoben und transponiert bis es wenigstens von der Dimension passt, aber ich habe keine Ahnung wieso es so sein sollte. https://matheplanet.com/matheplanet/nuke/html/uploads/b/54978_Bild_4.png Das Symbol $\odot$ soll eine elementweise Multiplikation darstellen und die letzte Multiplikation wäre dann ein äußeres Produkt. Kann das stimmen? Und wenn ja, mit welcher Regel lässt sich das erklären? Beste Grüße, Elli


   Profil
Elli_2001
Junior Letzter Besuch: in der letzten Woche
Dabei seit: 18.09.2021
Mitteilungen: 7
  Beitrag No.3, vom Themenstarter, eingetragen 2021-10-06 13:40

In dem Buch von Ian Goodfellow et al. Seite 199, Kapitel 6.5.2 Chain Rule of Calculus, schreiben die Autoren: "Es sei $x \in \mathbb{R}^m, y \in \mathbb{R}^n$. Die Funktion $g$ bildet von $\mathbb{R}^m$ nach $\mathbb{R}^n$ ab und die Funktion $f$ bildet von $\mathbb{R}^n$ nach $\mathbb{R}$ ab. Wenn $y = g(x)$ und $z = f(y)$, dann gilt: $$\frac{\partial z}{\partial x_i} = \sum\limits_{j} \frac{\partial z}{\partial y_j}\frac{\partial y_j}{\partial x_i}$$ In Vektornotation entspricht das: $$\nabla_xz = \left(\frac{\partial y}{\partial x}\right)^T \nabla_yz$$ wobei $\frac{\partial y}{\partial x}$ die $n \times m$ Jacobi Matrix von $g$ ist." In meinem Fall ist die erste äußere Ableitung: $$\scriptstyle \begin{equation} \begin{aligned} \delta \ := \frac{d \left( \frac{1}{2} \sum\limits_{k = 1}^{4} \left( y_k - \sigma \Big( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \Big) \right)^2 \right) }{d \left( \sigma \Big( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \Big) \right) } = \frac{1}{2} \sum\limits_{k = 1}^{4} 2 \underbrace{\left( y_k - \sigma \Big( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \Big) \right)}_{\text{Skalar}} \end{aligned} \end{equation} $$ Die innere Ableitung für diesen Teil ist: $$\scriptstyle \begin{equation} \begin{aligned} \frac{d \left( y_k - \sigma \Big( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \Big) \right) }{d W_1 } \end{aligned} \end{equation} $$ Den Ausdruck in (2) können wir wieder in eine äußere und innere Ableitung zerlegen. Die äußere Ableitung dafür ist: $$\scriptstyle \begin{equation} \label{3} \begin{aligned} \gamma \ := \frac{d \left( y_k - \sigma \Big( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \Big) \right) }{d \Big( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \Big) } = \underbrace{\left(- \sigma' \Big( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \Big) \right)}_{\text{Skalar}} \end{aligned} \end{equation} $$ Die zugehörige innere Ableitung ist: $$ \begin{equation} \begin{aligned} \frac{d \left( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \right) }{d W_1 } \end{aligned} \end{equation} $$ Das führt wieder zu einer neuen inneren und äußeren Ableitung. Die neue äußere Ableitung für (4) ist: $$\scriptstyle \begin{equation} \begin{aligned} \beta \ := \frac{d \left( ReLu \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \right) }{d \Big( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \Big) } = \underbrace{\left(ReLu' \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) W_2 \right)}_{\text{Skalar}} \end{aligned} \end{equation} $$ Um eine elementweise Multiplikation zu erhalten, müsste aber entweder $W_2$ transponiert werden oder der andere Teil. Zum Schluss kann auch noch die letzte innere Ableitung berechnet werden:$$ \begin{equation} \begin{aligned} \alpha := \frac{d \left( \begin{pmatrix} a_k & b_k \end{pmatrix} W_1 \right) }{d W_1 } = \begin{pmatrix} a_k & b_k \end{pmatrix} \end{aligned} \end{equation} $$ Füge ich jetzt alles zusammen wie bei Goodfellow et al. ergibt sich: $$ ((\alpha^T \cdot \beta)^T \cdot \gamma)^T \cdot \delta = \gamma^T \cdot \alpha^T \cdot \beta \cdot \delta $$ Da aber $\beta, \gamma, \delta$ Skalare sind, ist $\alpha$ das Einzige das sich ändert. Das heißt, durch das Transponieren bekomme ich statt einem Zeilenvektor einen Spaltenvektor. Dabei will/brauch ich aber eigentlich eine $2 \times 2$ Matrix. Hat jemand eine Idee was ich falsch mache?


   Profil
Elli_2001 hat die Antworten auf ihre/seine Frage gesehen.

Wechsel in ein anderes Forum:
 Suchen    
 
All logos and trademarks in this site are property of their respective owner. The comments are property of their posters, all the rest © 2001-2021 by Matroids Matheplanet
This web site was originally made with PHP-Nuke, a former web portal system written in PHP that seems no longer to be maintained nor supported. PHP-Nuke is Free Software released under the GNU/GPL license.
Ich distanziere mich von rechtswidrigen oder anstößigen Inhalten, die sich trotz aufmerksamer Prüfung hinter hier verwendeten Links verbergen mögen.
Lesen Sie die Nutzungsbedingungen, die Distanzierung, die Datenschutzerklärung und das Impressum.
[Seitenanfang]