Semi-supervised Learning aus ML kopiert
12
Acronyms.tex
@ -2,6 +2,13 @@
|
||||
% list of acronyms
|
||||
%%
|
||||
\begin{acronym}
|
||||
\acro{VC-Dimension} {Vapnik-Chervonenkis-Dimension}
|
||||
\acro{SRM} {Structural Risk Minimisation}
|
||||
\acro{SVM} {Support Vector Machine}
|
||||
\acro{KKT} {Karush-Kuhn-Tucker}
|
||||
\acro{RBF} {Radial Basis Function}
|
||||
\acro{DBSCAN} {Density-Based Spatial Clustering of Applications with Noise}
|
||||
\acro{VSM}{Vector Space Model}
|
||||
\acro{KI}{Künstliche Intelligenz}
|
||||
\acro{AI}{Artificial Intelligence}
|
||||
\acro{ML}{Machine Learning}
|
||||
@ -14,4 +21,9 @@
|
||||
\acro{RL}{Reinforcement Learning}
|
||||
\acro{MDP}{Markov Decision Process}
|
||||
\acro{TD}{Temporal Difference}
|
||||
\acro{CNN}{Convolutional Neural Network}
|
||||
\acro{RNN}{Recurrent Neural Network}
|
||||
\acro{FPC}{(Bocklisch's) Fuzzy Pattern Classifier}
|
||||
\acro{MFPC}{Modified-Fuzzy-Pattern-Classifier}
|
||||
\acro{FPGA}{Field Programmable Gate Array}
|
||||
\end{acronym}
|
@ -6,4 +6,5 @@
|
||||
\input{parts/Problemlösen durch Suchen.tex}
|
||||
\input{parts/Optimierung.tex}
|
||||
\input{parts/Logik.tex}
|
||||
\input{parts/Maschinelles Lernen.tex}
|
||||
\input{parts/Maschinelles Lernen.tex}
|
||||
\input{parts/Semi-supervised Learning.tex}
|
@ -21,7 +21,6 @@
|
||||
\def \AUTHORCOMPACT{Paul Lödige}
|
||||
\def \DATE{WS 2020/21}
|
||||
|
||||
|
||||
\begin{document}
|
||||
\input{TitlePage.tex}
|
||||
\clearpage
|
||||
|
139
chapters/Semi-supervised Learning/Deep Learning.tex
Normal file
@ -0,0 +1,139 @@
|
||||
\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 (siehe Zusammenfassung ML: Supervised Learning), als auch Methoden aus dem Unsupervised Learning (siehe Zusammenfassung ML: 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{\acp{CNN}}
|
||||
\label{cnn}
|
||||
\acp{CNN} enthalten 3 wichtige Bestandteilen:\\
|
||||
\includegraphics[width=.8\textwidth]{cnn_building_blocks.png}\\
|
||||
Diese Bestandteile können beliebig oft hintereinander geschaltet sein.
|
||||
Zudem ist an ein komplettes \ac{CNN} zumeist noch ein weiteres Netzwerk für die Ausgabe der Vorhersage angeschlossen:\\
|
||||
\includegraphics[width = \textwidth]{cnn_complete.png}
|
||||
|
||||
\subsection{convolutional stage}
|
||||
\label{cnn: convolutional stage}
|
||||
In der \say{convolutional stage} werden \say{convolutional layer} (Faltunsschicht) verwendet.
|
||||
Diese wenden einen beweglichen Filter (detector) auf die Daten der vorhergegangenen Schicht an.
|
||||
Hierbei stellt der detector ein Rezeptives Feld dar (vergleichbar mit dem Auge).\\
|
||||
\includegraphics[width = \textwidth]{convolutional_operation.png}\\
|
||||
\begin{wrapfigure}{h}{.4\textwidth}
|
||||
\includegraphics[width = .4\textwidth]{cnn_inter_layer_connection.png}
|
||||
\end{wrapfigure}
|
||||
Aufgrund der geringen Größe des rezeptiven Feldes ist jedes Neuron in der nachfolgenden Schicht jeweils nur mit wenigen Neuronen in der unterliegenden Schicht verbunden:\\
|
||||
\includegraphics[width=\textwidth]{convolutional filter.png}\\
|
||||
|
||||
\subsubsection{Beispiel}
|
||||
\label{cnn: example}
|
||||
Im folgenden wird das Verfahren des convolutional layers anhand von $3\times 3$ Filtern demononstriert.
|
||||
Diese werden auf einem $6\times 6$ Bild verschoben.
|
||||
Die Filter sollen jeweils unterschiedliche geometrische Formen erkennen (Filter1: Diagonalen)\\
|
||||
\includegraphics[width=.8\textwidth]{cnn_example1.png}\\
|
||||
Über den Parameter \say{stride} kann eingestellt werden, um wieviele Elemente der Filter jeweils verschoben wird:\\
|
||||
\includegraphics[width = .8\textwidth]{cnn_example_stride1.png}\\
|
||||
\includegraphics[width = .8\textwidth]{cnn_example_stride2.png}\\
|
||||
Für jeden Filter entsteht durch diese Anwendung ein kleineres Bild, welches aus dem Ausgangsbild errechnet wurde:\\
|
||||
\includegraphics[width=.8\textwidth]{cnn_feature_map1.png}\\
|
||||
Durch die Anwendung der verschiedenen Filter entsteht hierbei eine mehrdimensionale \say{Feature Map}.
|
||||
Diese wird allgemein als \say{Tensor} bezeichnet:\\
|
||||
\includegraphics[width=.8\textwidth]{cnn_feature_map2.png}\\
|
||||
|
||||
\subsubsection{Convolutional vs. Fully Connected}
|
||||
\label{cnn: convolutional vs. fully connected}
|
||||
Der Vorteil, den der Ansatz der Faltungsschichten gegenüber dem einsatz von \say{fully connected layers} hat ist,
|
||||
dass deutlich weniger Parameter benötigt werden.\\
|
||||
\includegraphics[width = .8\textwidth]{convolutional_vs_fully-connected.png}
|
||||
|
||||
\subsection{non-linear stage}
|
||||
\label{cnn: non-linear stage}
|
||||
Es ist mathematisch beweisbar, dass für die Abbildung von gleichen Äquivalenzklassen auf eine Referenzklasse eine nicht-linear Funktion benötigt wird.
|
||||
Hierbei gibt es mehrere mögliche Funktionen.
|
||||
Die bekannteste ist hierbei die \say{Sigmoid}-Funktion.
|
||||
Bei \acp{CNN} wird allerdings meistens die \say{ReLU}-Funktion verwendet.\\
|
||||
\includegraphics[width = \textwidth]{non-linear_functions.png}
|
||||
|
||||
\subsection{Pooling}
|
||||
\label{cnn:pooling}
|
||||
Beim \say{Pooling} wird die Menge der Elemente in einer Schicht reduziert.
|
||||
Hierbei wird darauf geachtet, dass nur unwichtige Daten \say{verloren gehen}.
|
||||
Man spricht auch von \say{Subsampling}.\\
|
||||
\includegraphics[width = .8\textwidth]{subsampling.png}
|
||||
|
||||
\subsubsection{Max Pooling}
|
||||
\label{cnn: max pooling}
|
||||
Das \say{Max Pooling} ist eine Form des Poolings, bei dem mehrere Elemente einer schicht dadurch zusammengefasst werden,
|
||||
dass nur die Element mit dem höchsten Wert erhalten bleiben.\\
|
||||
\includegraphics[width = .8\textwidth]{max_pooling.png}
|
||||
|
||||
\section{classsical \ac{ML} vs. Deep Learning}
|
||||
\includegraphics[width = \textwidth]{classical_ml_vs_deep_learning.png}
|
||||
|
||||
\section{Probleme des Deep Learning}
|
||||
\begin{itemize}
|
||||
\item \textbf{Deep Learning ist gierig:}\\
|
||||
Es werden Millionen von Datensätze für das Training von Deep Learning Modellen benötigt.
|
||||
\item \textbf{Deep Learing ist undurchsichtig:}\\
|
||||
Deep Learing Modelle sind Black Box Modelle, die kontextunabhängig arbeiten
|
||||
\item \textbf{Deep Learning ist spröde:}\\
|
||||
Deep Learning Modelle können bei manchen Anwendungen gut funktionieren und bei anderen komplett scheitern;
|
||||
sie sind nicht-linerare Natur
|
||||
\end{itemize}
|
||||
\includegraphics[width = \textwidth]{deep_learing_problems.png}\\
|
||||
\includegraphics[width = \textwidth]{dumm_aber_raffiniert.png}
|
||||
|
||||
\section{aktuelle Trends}
|
||||
\includegraphics[width = \textwidth]{trends.png}
|
BIN
images/abstract catifier.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
images/ai_and_ml.png
Normal file
After Width: | Height: | Size: 149 KiB |
BIN
images/background clutter.png
Normal file
After Width: | Height: | Size: 299 KiB |
BIN
images/car features.png
Normal file
After Width: | Height: | Size: 444 KiB |
BIN
images/classical_ml_vs_deep_learning.png
Normal file
After Width: | Height: | Size: 115 KiB |
BIN
images/cnn_building_blocks.png
Normal file
After Width: | Height: | Size: 185 KiB |
BIN
images/cnn_complete.png
Normal file
After Width: | Height: | Size: 178 KiB |
BIN
images/cnn_example1.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
images/cnn_example_stride1.png
Normal file
After Width: | Height: | Size: 43 KiB |
BIN
images/cnn_example_stride2.png
Normal file
After Width: | Height: | Size: 41 KiB |
BIN
images/cnn_feature_map1.png
Normal file
After Width: | Height: | Size: 83 KiB |
BIN
images/cnn_feature_map2.png
Normal file
After Width: | Height: | Size: 85 KiB |
BIN
images/cnn_inter_layer_connection.png
Normal file
After Width: | Height: | Size: 26 KiB |
BIN
images/convolutional filter.png
Normal file
After Width: | Height: | Size: 57 KiB |
BIN
images/convolutional_operation.png
Normal file
After Width: | Height: | Size: 120 KiB |
BIN
images/convolutional_vs_fully-connected.png
Normal file
After Width: | Height: | Size: 117 KiB |
BIN
images/deep-learing_learning-principle.png
Normal file
After Width: | Height: | Size: 75 KiB |
BIN
images/deep_learing_problems.png
Normal file
After Width: | Height: | Size: 216 KiB |
BIN
images/deformation.png
Normal file
After Width: | Height: | Size: 360 KiB |
BIN
images/dumm_aber_raffiniert.png
Normal file
After Width: | Height: | Size: 556 KiB |
BIN
images/illumination.png
Normal file
After Width: | Height: | Size: 232 KiB |
BIN
images/image-classification.png
Normal file
After Width: | Height: | Size: 111 KiB |
BIN
images/max_pooling.png
Normal file
After Width: | Height: | Size: 80 KiB |
BIN
images/neuro-biological_concept.png
Normal file
After Width: | Height: | Size: 163 KiB |
BIN
images/non-linear_functions.png
Normal file
After Width: | Height: | Size: 63 KiB |
BIN
images/occlusion.png
Normal file
After Width: | Height: | Size: 300 KiB |
BIN
images/semantical gap.png
Normal file
After Width: | Height: | Size: 220 KiB |
BIN
images/subsampling.png
Normal file
After Width: | Height: | Size: 154 KiB |
BIN
images/trends.png
Normal file
After Width: | Height: | Size: 197 KiB |
BIN
images/viewpoint variation.png
Normal file
After Width: | Height: | Size: 122 KiB |
2
parts/Semi-supervised Learning.tex
Normal file
@ -0,0 +1,2 @@
|
||||
\part{Semi-supervised Learning}
|
||||
\input{chapters/Semi-supervised Learning/Deep Learning.tex}
|