diff --git a/ML_Zusammenfassung.tex b/ML_Zusammenfassung.tex index 7ea973a..b148e28 100644 --- a/ML_Zusammenfassung.tex +++ b/ML_Zusammenfassung.tex @@ -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} diff --git a/chapters/Mathematische_Grundlagen/Probability_Theory.tex b/chapters/Mathematische_Grundlagen/Probability_Theory.tex index 2eb32e2..f27bb1f 100644 --- a/chapters/Mathematische_Grundlagen/Probability_Theory.tex +++ b/chapters/Mathematische_Grundlagen/Probability_Theory.tex @@ -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} diff --git a/chapters/Neural_Networks/Backpropagation.tex b/chapters/Neural_Networks/Gradient_Descent.tex similarity index 87% rename from chapters/Neural_Networks/Backpropagation.tex rename to chapters/Neural_Networks/Gradient_Descent.tex index 5a69b22..3c8cdbf 100644 --- a/chapters/Neural_Networks/Backpropagation.tex +++ b/chapters/Neural_Networks/Gradient_Descent.tex @@ -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.