forked from TH_General/Template_Summary
108 lines
5.5 KiB
TeX
108 lines
5.5 KiB
TeX
\chapter{Regularization with Neural Networks}%
|
|
\label{cha:Regularization with Neural Networks}
|
|
Obwohl die Modell-Komplexität bei Neuronalen Netzwerken aufgrund des Double Descent Effektes (\cref{sec:Double Descent effect for DNNs}) nicht nach oben beschränkt sein sollte,
|
|
ist es dennoch sinnvoll ein Neuronales Netzwerk zu regularisieren um eine bessere Generalisierung zu erreichen.
|
|
Neben den aus \cref{cha:Model Selection} bekannten Methoden (z.B. Data Augmentation) gibt es zusätzliche Methoden der Regularisierung von neuronalen Netzwerken.
|
|
|
|
\paragraph{Model Ensembles}%
|
|
\label{par:Model Ensembles}
|
|
Bei diesem Ansatz werden mehrere unabhängige Modelle Trainiert und die Testdaten anhand des durchschnittlichen Vorhersage der trainierten Modelle evaluiert.
|
|
Dies führt im Allgemeinen zu einer etwa 2\% höheren Genauigkeit.
|
|
|
|
Eine Abwandlung von dieser Methode verwendet Snapshots eines einzigen Modells zu unterschiedlichen Trainingsständen.
|
|
Oft wird bei diesem Verfahren nach dem Snapshot die Lernrate wieder hochgesetzt um dem Modell die Möglichkeit zu geben ein neues lokales Optimum zu finden.
|
|
Dies hat den Vorteil,
|
|
dass nur ein einzelnes Modell trainiert werden muss.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=\textwidth]{images/model_ensembles_snapshots.png}
|
|
\caption{Model Ensembles mit Snapshots}
|
|
\label{fig:model_ensembles_snapshots}
|
|
\end{figure}
|
|
|
|
\paragraph{Dropout}%
|
|
\label{par:Dropout}
|
|
\begin{wrapfigure}{r}{.4\textwidth}
|
|
\centering
|
|
\includegraphics[width=0.8\linewidth]{dropout.png}
|
|
\caption{Neuronal Network mit Dropout}
|
|
\label{fig:dropout}
|
|
\end{wrapfigure}
|
|
Bei diesem Ansatz werden zufällig bei jedem Forward Pass ein Teil der Neuronen auf 0 gesetz (üblicherweise mit einer Wahrscheinlichkeit von 50\%).
|
|
Dies regularisiert das neuronale Netzwerk,
|
|
da es selbiges zu einer redundanten Repräsentation zwingt.
|
|
Zudem wird vermieden,
|
|
dass Duplikate zwischen den Neuronen,
|
|
da gleiche Gewichtsvektoren nicht mehr gleich angepasst werden.
|
|
|
|
Diese Methode kann auch als eine Art der \nameref{par:Model Ensembles} Methode verstanden werden,
|
|
da auch hier verschiedene Modelle trainiert werden.
|
|
|
|
Es gibt zwei zentrale Ansätze wie ein Modell,
|
|
welches auf diese Weise trainiert wurde getestet werden kann.
|
|
\begin{enumerate}
|
|
\item \textbf{Ensemble View:} Wie bei der \nameref{par:Model Ensembles} Methode wird der Durchschnitt der Vorhersage mehrere Modelle genommen.
|
|
Die verschiedenen Modelle sind hier lediglich das gleiche Modell mit unterschiedlichen Dropout Neuronen.
|
|
\item \textbf{Expectation View:} Alle Neuronen werden aktiv gelassen und die Aktivierungsfunktion mit den Wahrscheinlichkeitsfaktor des Dropout multipliziert.
|
|
Letzteres ist nötig, da die Aktivierungsfunktionen für ein lückenhaftes neuronales Netz trainiert wurden.
|
|
\end{enumerate}
|
|
|
|
\paragraph{Drop Connect}%
|
|
\label{par:Drop Connect}
|
|
Eine Abwandlung von \nameref{par:Dropout},
|
|
bei der alle Neuronen erhalten bleiben und lediglich Kanten zwischen den Neuronen weggelassen werden.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=0.6\textwidth]{drop_connect.png}
|
|
\caption{Drop Connect}
|
|
\label{fig:drop_connect}
|
|
\end{figure}
|
|
|
|
\section{\texorpdfstring{Double Descent effect for \glsxtrshortpl{DNN}}{Double Descent effect for \glsfmtshortpl{DNN}}}%
|
|
\label{sec:Double Descent effect for DNNs}
|
|
|
|
\begin{wrapfigure}{r}{.5\textwidth}
|
|
\vspace*{-10mm}
|
|
\centering
|
|
\includegraphics[width=\linewidth]{double_descent.png}
|
|
\caption{Double Descent Effekt eines \glsxtrshortpl{DNN}}
|
|
\label{fig:double_descent}
|
|
\end{wrapfigure}
|
|
Wie die meisten anderen Algorithmen haben auch Neuronale Netzwerke das Problem,
|
|
dass sie die Trainingsdaten overfitten und daher keine guten Ergebnisse auf den Validierungsdaten liefern.
|
|
Allerdings lässt sich bei \glspl{DNN} ein Double Descent beobachten.
|
|
Bis heute ist die Ursache für diesen Effekt noch nicht vollständig verstanden.
|
|
Nichtsdestotrotz lässt sich der Graph aus \cref{fig:double_descent} in 3 Bereiche einteilen:
|
|
\begin{enumerate}
|
|
\item \say{classical regime}: Verhält sich wie jeder andere Algorithmus
|
|
\item \say{interpolation threshold}: Die Trainingsdaten werden genau gelernt (Training Loss $\rightarrow$0),
|
|
wobei hier die Anzahl der benötigten Parameter in etwa der Anzahl der gesampelten Datensätze entspricht
|
|
\item \say{\say{Modern} interpolating regime}: Training Loss bleibt gering, allerdings senkt sich auch der Validation Loss auf wundersame Art
|
|
\end{enumerate}
|
|
Ein Beispiel hierfür ist der Populäre MNIST Datensatz ({\color{red}Vorlesung 08 Folie 82})
|
|
|
|
\subsection{Sample-wise non-monotonicity}%
|
|
\label{sub:Sample-wise non-monotonicity}
|
|
Der Zusammenhang zwischen interpolation threshold und Sample Size hat zur Folge,
|
|
dass es negative Folgen haben kann größere Sample zu nehmen,
|
|
da hier der interpolation threshold später erreicht wird.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=0.6\textwidth]{sample-wise_non-monotonicity.png}
|
|
\caption{Sample-wise non-monotonicity}
|
|
\label{fig:sample-wise_non-monotonicity}
|
|
\end{figure}
|
|
|
|
\subsection{Episode-wise non-monotonicity}%
|
|
\label{sub:Episode-wise non-monotonicity}
|
|
Die interpolation threshold kann dazu führen,
|
|
dass ein längeres Training das Ergebniss erst verschlechtert und dann verbessert.
|
|
\begin{figure}[H]
|
|
\centering
|
|
\includegraphics[width=0.48\textwidth]{episode-wise_non-monotonicity_train_error.png}
|
|
\hfill
|
|
\includegraphics[width=0.48\textwidth]{episode-wise_non-monotonicity_test_error.png}
|
|
\caption{Episode-wise non-monotonicity}
|
|
\label{fig:episode-wise_non-monotonicity}
|
|
\end{figure}
|