This repository has been archived on 2022-03-27. You can view files and clone it, but cannot push or open issues or pull requests.
presis/latex/machine-learning/index.tex
Simon Bruder 623902ab31
All checks were successful
continuous-integration/drone/push Build is passing
[machine-learning] after presentation fixes
2019-07-12 19:08:49 +00:00

194 lines
6.3 KiB
TeX
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

\PassOptionsToPackage{table}{xcolor}
\documentclass{custombeamer}
\usepackage[ngerman]{babel}
\usepackage{biblatex}
\nocite{*}
\addbibresource{sources.bib}
\usetikzlibrary{decorations.pathreplacing, positioning}
\usepackage[thinlines]{easytable}
\title{Machine Learning}
\subtitle{Eine Einführung}
\author{Simon Bruder}
%\titlegraphic{\includegraphics[scale=1.25]{focuslogo.pdf}}
\institute{Christian-von-Bomhard-Schule}
\usepackage{datetime}
\newdate{date}{09}{07}{2019}
\date{\displaydate{date}}
\begin{document}
\begin{frame}
\maketitle
\end{frame}
\begin{frame}[noframenumbering]
\tableofcontents
\end{frame}
\section{Einsatzgebiete}
\begin{frame}{Einsatzgebiete}
\begin{itemize}
\item{Computerspiele-»KI«}
\item{Medizinische Diagnostik}
\item{Personalisierte Werbung}
\item{Selbstfahrende Autos}
\item{Spracherkennung}
\end{itemize}
\end{frame}
\section{Praxis: Tic Tac Toe}
\begin{frame}{Tic Tac Toe}
\begin{minipage}[t]{.5\textwidth}
\textbf{Lernen}
\begin{itemize}
\item{Computer weiß nur, wann das Spiel gewonnen ist}
\item{\textbf{Generator} gibt zufällige Züge zurück}
\item{Wenn gewonnen: \textbf{Diskriminator} wertet Züge von Gewinner auf, Züge von Verlierer ab}
\end{itemize}
\end{minipage}%
\begin{minipage}[t]{.5\textwidth}
\textbf{Anwenden}
\begin{itemize}
\item{\textbf{Generator} weiß für jede Spielsituation, wie erfolgreich ein Zug ist}
\item{Erfolgreichster Zug wird ausgeführt}
\item{→ Immer Gewinn oder Unentschieden}
\end{itemize}
\end{minipage}
\vspace{1em}
\renewcommand*{\o}{$\pmb\bigcirc$}
\newcommand*{\x}{$\pmb\times$}
\begin{center}
\pause
\ttfamily\begin{TAB}(e,1em,1em){|c|c|c|}{|c|c|c|}
\x & \o & \x \\
1 & \o & 0.5\\
\x & 0 & \o \\
\end{TAB} \\
X am Zug
\end{center}
\end{frame}
\section{Theorie: Neuronale Netzwerke}
\begin{frame}{Neuronale Netzwerke: Eingabe}
\begin{center}
\begin{tikzpicture}
\onslide<+>\node[] (traffic light) {\includegraphics[height=.75\textheight]{traffic-light-ryg}};
\onslide<+->\node[] (traffic light) {\includegraphics[height=.75\textheight]{traffic-light-ryg-gray}};
\onslide<+->
\draw[decoration={brace, raise=1pt, amplitude=5pt}, decorate] (traffic light.north west) -- node[above=5pt] (width) {$25$} (traffic light.north east);
\draw[decoration={brace, mirror, raise=1pt, amplitude=5pt}, decorate] (traffic light.south east) -- node[right=5pt] (height) {$75$} (traffic light.north east);
\onslide<+->
\node[right=5 of traffic light.north east] (input) {$25 \cdot 75 = 1875$};
\draw[->, thick] (traffic light.north east) ++ (0.25,0) -- (input);
\onslide<+->
\node[below=1em of input] (values) {$[0 .. 255]$$[0, 1]$};
\node[below=1em of values] {\includegraphics[width=.33\textwidth]{traffic-light-ryg-gray-values}};
\onslide<1-> % I dont use reveal because I have to do ugly hacks there … wait what?
\end{tikzpicture}
\end{center}
\end{frame}
\begin{frame}{Neuronale Netzwerke}
% stolen from https://tex.stackexchange.com/a/153974
\tikzset{%
every neuron/.style={
circle,
draw,
minimum size=1cm
},
neuron missing/.style={
draw=none,
scale=4,
text height=0.333cm,
execute at begin node=\color{black}$\vdots$
},
}
\begin{tikzpicture}[x=2.4cm, y=1.5cm, >=stealth, font=\sffamily]
\foreach \m/\l [count=\y] in {1,2,3,missing,4}
\node [every neuron/.try, neuron \m/.try] (input-\m) at (0,2.5-\y) {};
\foreach \m [count=\y] in {1,missing,2}
\node [every neuron/.try, neuron \m/.try ] (hidden-\m) at (2,2-\y*1.25) {};
\foreach \m [count=\y] in {1,2,3}
\node [every neuron/.try, neuron \m/.try ] (output-\m) at (4,1.5-\y) {};
\foreach \l [count=\i] in {1,2,3,1875}
\draw [<-] (input-\i) -- ++(-1,0)
node [above, midway] {$I_{\l}$};
\foreach \l [count=\i] in {1,n}
\node [above] at (hidden-\i.north) {$H_\l$};
\foreach \l [count=\i] in {1,2,3}
\draw [->] (output-\i) -- ++(1,0)
node [above, midway] {$O_\l$};
\foreach \i in {1,...,4}
\foreach \j in {1,...,2}
\draw [->] (input-\i) -- (hidden-\j);
\foreach \i in {1,...,2}
\foreach \j in {1,...,3}
\draw [->] (hidden-\i) -- (output-\j);
\foreach \l [count=\x from 0] in {Input, Hidden, Output}
\node [align=center, above] at (\x*2,1.9) {\l \\ layer};
\end{tikzpicture}
\end{frame}
\begin{frame}{Graphische Demo}
\href{https://playground.tensorflow.org/\#activation=tanh&batchSize=10&dataset=gauss&regDataset=reg-plane&learningRate=0.03&regularizationRate=0&noise=0&networkShape=4,2&seed=0.90019&showTestData=false&discretize=false&percTrainData=50&x=true&y=true&xTimesY=false&xSquared=false&ySquared=false&cosX=false&sinX=false&cosY=false&sinY=false&collectStats=false&problem=classification&initZero=false&hideText=false&discretize_hide=true&numHiddenLayers_hide=true&regularizationRate_hide=true&learningRate_hide=true&batchSize_hide=true&dataset_hide=true&regularization_hide=true&noise_hide=true&problem_hide=true&activation_hide=true&showTestData_hide=false&percTrainData_hide=false}{playground.tensorflow.org}
\end{frame}
\section{Training in der Praxis}
\begin{frame}{Training}
\pause\begin{minipage}[t]{.30\textwidth}
\textbf{Computer trainiert sich selbst}
\begin{itemize}
\item{Diskriminator hat Regelwerk vorliegen}
\item{In zufälliger Generation ist auch ein richtiges Ergebnis vorhanden}
\item{Funktioniert gut für Spiele}
\end{itemize}
\end{minipage}\hfill%
\pause\begin{minipage}[t]{.30\textwidth}
\textbf{Entwickelnde Menschen als Diskriminator}
\begin{itemize}
\item{Menschen geben Eingabe und gewünschte Ausgabe vor}
\item{Teilweise existieren schon Datensätze}
\item{Arbeitsaufwändig/Teuer}
\end{itemize}
\end{minipage}\hfill%
\pause\begin{minipage}[t]{.30\textwidth}
\includegraphics[height=.1\textheight]{im-not-a-robot} \\
\includegraphics[height=.7\textheight]{captcha}
\end{minipage}%
\end{frame}
\appendix
\begin{frame}{Quellen}
\printbibliography[heading=none]
\end{frame}
\begin{frame}[focus]
Nicht ganz verstanden? \\
Fragen?
\end{frame}
\begin{frame}{Bonus/Weiterführende Informationen}
\begin{itemize}
\item{Videoserie: \href{https://www.youtube.com/playlist?list=PLZHQObOWTQDNU6R1_67000Dx_ZCJB-3pi}{3Blue1Brown: Neural networks}}
\end{itemize}
\end{frame}
\end{document}