\chapter{Deep Learning}
\label{chapter: deep learning}
    Das \say{Deep Learning} ist ein Teilbereich des \ac{ML}.
    Dieses ist wiederum ein Teilbereich der \ac{KI}.
    Obwohl es faktisch ein Teilbereich ist haben sich \ac{KI} und \ac{ML} zu separaten Forschungsfeldern entwickelt.\\
    \includegraphics[width = \textwidth]{ai_and_ml.png}\\
    Allgemein beschrieben wird bei dem Deep Learning ein Modell aus mehreren Schichten aufgebaut.
    Diese Schichten sind grundsätzlich hierarchisch aufgebaut und verarbeiten jeweils die Ausgabe des vorhergegangenen Schicht.
    Hierfür werden sowohl Methoden aus dem Supervised Learning {\ref{supervised learning}}, als auch Methoden aus dem Unsupervised Learning {\ref{unsupervised learning}} verwendet.
    Da die Modelle meist an das Menschliche Gehirn angelehnt sind werden hierfür Neurale Netzwerke verwendet.
    Im Allgemeinen kommen 2 Arten von Neuralen Netzwerken zum Einsatz:
    \begin{itemize}
        \item \textbf{Faltunsnetzwerke (\ref{cnn}):}\\
            für statische Daten (Bilder, Sprachaufnahmen, \dots)
        \item \textbf{Zyklische Netzwerke (\ac{RNN}):}\\
            für sequentielle Daten (Videostream, Fließtext, \dots)
    \end{itemize}

    \section{Allgemeines Lernprinzip}
    \label{deep learning: principle}
        \includegraphics[width=\textwidth]{deep-learing_learning-principle.png}

    \section{Exkurs: Bilderkennung}
    \label{bilderkennung}
        \subsection{Neuro-biologisches Konzept}
        \label{neuro-biological concept}
            \includegraphics[width=.8\textwidth]{neuro-biological_concept.png}

        \subsection{Bild Klassifizierung}
        \label{image classification}
            Der Inhalt eines Bildes soll klassifiziert werden.\\
            \includegraphics[width=.8\textwidth]{image-classification.png}\\
            Hierbei gibt es viele Probleme:
            \begin{itemize}
                \item \textbf{Semantic Gap:}\\
                    Der Computer sieht das Bild als eine Datenmenge von unabhängigen Pixeln.\\
                    \includegraphics[width=.6\textwidth]{semantical gap.png}
                \item \textbf{Viewpoint Variation:}\\
                    Eine kleine Veränderung in der Kameraposition kann dazu führen, dass sich alle Pixel verändern.\\
                    \includegraphics[width=\textwidth]{viewpoint variation.png}
                \item \textbf{Beleuchtung:}\\
                    Eine Veränderung der Beleuchtung kann zu sehr unterschiedlichen Pixeldaten führen.\\
                    \includegraphics[width=.8\textwidth]{illumination.png}
                \item \textbf{Deformation:}\\
                    Die Objekte im Bild können unterschiedlich verzerrt sein.\\
                    \includegraphics[width=.8\textwidth]{deformation.png}
                \item \textbf{Occlusion:}\\
                    Die zu klassifizierenden Objekte können teilweise verdeckt sein.\\
                    \includegraphics[width = .8\textwidth]{occlusion.png}
                \item \textbf{Background Clutter:}\\
                    Das Bild kann einen Hintergrund mit starker Ähnlichkeit zu dem Objekt haben.\\
                    \includegraphics[width = .8\textwidth]{background clutter.png}
            \end{itemize}
            Um diese Probleme zu umgehen werden mehrschichtige Erkennungsmodelle verwendet.
            Hierdurch wird versucht eine abstraktere Erkennung der Objekte zu ermöglichen.\\
            \includegraphics[width=\textwidth]{abstract catifier.png}\\
            Ein Beispiel für die einzelnen Features könnte wie folgt aussehen:\\
            \includegraphics[width = \textwidth]{car features.png}
            
    \section{\ac{CNN}}
    \label{cnn}
