Backpropagation nach Gradient Descent verschoben.

This commit is contained in:
paul-loedige 2022-02-17 18:58:58 +01:00
parent 0041e5e5de
commit b30a277efc
3 changed files with 12 additions and 12 deletions

View File

@ -52,7 +52,7 @@
\part{Neural Networks}
\label{part:Neural Networks}
\input{chapters/Neural_Networks/Basics.tex}
\input{chapters/Neural_Networks/Backpropagation.tex}
\input{chapters/Neural_Networks/Gradient_Descent.tex}
\input{chapters/Neural_Networks/CNNs_and_LSTMs.tex}
\part{Classical Unsupervised Learning}

View File

@ -40,7 +40,7 @@ Zwei Wahrscheinlichkeitsdichtefunktionen können dabei auf verschiedene Arten mi
\paragraph{Ketten"~\slash\,Produktregel}%
\label{par:Ketten-/Produktregel}
\begin{align}\label{eq:chain_rule}
\begin{align}\label{eq:probability_theory:chain_rule}
p(x,y) &= p(x|y)p(y) \\
p(x_1,\dots,x_D) &= p(x_1)p(x_2|x_1)\dots p(x_D|x_1,\dots, x_{D-1})
\end{align}

View File

@ -1,10 +1,10 @@
\chapter{Backpropagation}%
\label{cha:Backpropagation}
Um die einzelnen Gewichte rückwirkend durch die verschiedenen Schichten eines Neural Networks einzulernen wird das Verfahren der Backpropagation benutzt.
Bei diesem Verfahren wird der \nameref{sec:Gradient Descent} verwendet.
Die eigentliche Backpropagation findet erst dann statt,
wenn die Anpassungen,
die sich aus dem \nameref{sec:Gradient Descent} ergeben rückwirkend auf die verschiedenen Schichten des Neural Networks angewandt werden sollen.
\chapter{Gradient Descent}%
\label{cha:Gradient Descent}
\section{Backpropagation}%
\label{sec:Backpropagation}
Um ein \nameref{sec:Gradient Descent} für ein Neurales Netzwerk durchzuführen,
müssen zunächst die einzelnen Gradienten der einzelnen Gewichte rückwirkend durch die verschiedenen Schichten eines Neural Networks ermittelt werden.
Die Loss Function errechnet sich hier durch
\begin{equation} \label{eq:backpropagration_loss_function}
\mathcal L(\bm\theta,\mathcal D) = \sum_{i=1}^N l(\bm x_i,\bm\theta) + \nomeq{regularization_factor}\text{ penalty}(\bm\theta)
@ -20,7 +20,7 @@ Die Loss Function errechnet sich hier durch
Um die Gewichtsvektoren auf Basis dieser Loss Function anzupassen muss die partielle Ableitung für die jeweilige Gewichtsmatrix und den Biasvektor gezogen werden.
Hierfür ist die Kettenregel nützlich,
die die Regeln für die partielle Ableitung vorgibt
\begin{equation} \label{eq:chain_rule}
\begin{equation} \label{eq:backpropagation:chain_rule}
\frac{d}{dt}f(x(t)) = \frac{df}{dx}\frac{dx}{dt}
\end{equation}
In \cref{fig:backpropagation} ist dieser Ablauf am Beispiel eines zweistufigen Neuronalen Netzes gezeigt.
@ -60,8 +60,8 @@ Mithilfe der Matrix-Rechentricks aus \cref{sec:Matrix-Calculus} ist es möglich
({\color{red}Herleitung Vorlesung 08 Folien 52 und 53})\\
\includegraphics[scale=.65]{multi-layer_perceptron_matrix_form.png}
\section{Computational costs}%
\label{sec:Computational costs}
\subsection{Computational costs}%
\label{sub:Computational costs}
Die Computational Costs für eine Backpropagation ergibt sich als Summe aus dem Forward Pass und dem Backward Pass.
Die Kosten für den Forward Pass sind in etwa linear in der Anzahl der Gewichte,
da für jedes Gewicht in etwa eine Addition und Multiplikation nötig ist.