handout-art-in-ml.tex 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154
  1. \documentclass[a4paper,9pt]{scrartcl}
  2. \usepackage{amssymb, amsmath} % needed for math
  3. \usepackage[utf8]{inputenc} % this is needed for umlauts
  4. \usepackage[ngerman]{babel} % this is needed for umlauts
  5. \usepackage[T1]{fontenc} % this is needed for correct output of umlauts in pdf
  6. \usepackage[margin=2.0cm]{geometry} %layout
  7. \usepackage{hyperref} % links im text
  8. \usepackage{enumerate} % for advanced numbering of lists
  9. \usepackage{color}
  10. \usepackage{framed}
  11. \usepackage{float}
  12. \usepackage{caption}
  13. \usepackage{csquotes}
  14. \usepackage[hang]{subfigure}
  15. \usepackage[pdftex,final]{graphicx}
  16. \usepackage{pgfplots}
  17. \usepackage{tikz}
  18. \usepackage{tikzscale}
  19. \usetikzlibrary{shapes, calc, shapes, arrows}
  20. \DeclareMathOperator{\sigmoid}{sigmoid}
  21. \newcommand\titleText{Kreativität im maschinellen Lernen}
  22. \title{\vspace{-5ex}\titleText\vspace{-7ex}}
  23. \author{}
  24. \date{}
  25. \hypersetup{
  26. pdfauthor = {Martin Thoma},
  27. pdfkeywords = {Machine Learning, Art, Creativity},
  28. pdftitle = {\titleText}
  29. }
  30. \usepackage{fancyhdr}
  31. \pagestyle{fancy}
  32. \fancyhead{}
  33. \fancyfoot{}
  34. \fancyhead[L]{Referat vom 15.01.2016}
  35. \fancyhead[R]{Martin Thoma}
  36. \renewcommand{\headrulewidth}{0.4pt}
  37. \makeatletter
  38. \let\ps@plain\ps@fancy
  39. \makeatother
  40. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  41. % Custom definition style, by %
  42. % http://mathoverflow.net/questions/46583/what-is-a-satisfactory-way-to-format-definitions-in-latex/58164#58164
  43. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  44. \makeatletter
  45. \newdimen\errorsize \errorsize=0.2pt
  46. % Frame with a label at top
  47. \newcommand\LabFrame[2]{%
  48. \fboxrule=\FrameRule
  49. \fboxsep=-\errorsize
  50. \textcolor{FrameColor}{%
  51. \fbox{%
  52. \vbox{\nobreak
  53. \advance\FrameSep\errorsize
  54. \begingroup
  55. \advance\baselineskip\FrameSep
  56. \hrule height \baselineskip
  57. \nobreak
  58. \vskip-\baselineskip
  59. \endgroup
  60. \vskip 0.5\FrameSep
  61. \hbox{\hskip\FrameSep \strut
  62. \textcolor{TitleColor}{\textbf{#1}}}%
  63. \nobreak \nointerlineskip
  64. \vskip 1.3\FrameSep
  65. \hbox{\hskip\FrameSep
  66. {\normalcolor#2}%
  67. \hskip\FrameSep}%
  68. \vskip\FrameSep
  69. }}%
  70. }}
  71. \definecolor{FrameColor}{rgb}{0.25,0.25,1.0}
  72. \definecolor{TitleColor}{rgb}{1.0,1.0,1.0}
  73. \newenvironment{contlabelframe}[2][\Frame@Lab\ (cont.)]{%
  74. % Optional continuation label defaults to the first label plus
  75. \def\Frame@Lab{#2}%
  76. \def\FrameCommand{\LabFrame{#2}}%
  77. \def\FirstFrameCommand{\LabFrame{#2}}%
  78. \def\MidFrameCommand{\LabFrame{#1}}%
  79. \def\LastFrameCommand{\LabFrame{#1}}%
  80. \MakeFramed{\advance\hsize-\width \FrameRestore}
  81. }{\endMakeFramed}
  82. \newcounter{definition}
  83. \newenvironment{definition}[1]{%
  84. \par
  85. \refstepcounter{definition}%
  86. \begin{contlabelframe}{Definition \thedefinition:\quad #1}
  87. \noindent\ignorespaces}
  88. {\end{contlabelframe}}
  89. \makeatother
  90. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  91. % Begin document %
  92. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  93. \begin{document}
  94. \maketitle
  95. \begin{definition}{Machine Learning (ML) nach Tom Mitchell}
  96. A computer program is said to learn from \textbf{experience}~$\mathbf{E}$ with
  97. respect to some class of \textbf{tasks}~$\mathbf{T}$ and \textbf{performance
  98. measure}~$\mathbf{P}$, if its performance at tasks in~$T$, as measured by~$P$,
  99. improves with experience~$E$.
  100. \end{definition}
  101. \begin{figure}[H]
  102. \centering
  103. \subfigure[Aufbau eines künstlichen Neurons. Die Eingabesignale werden mit $x_i \in \mathbb{R}$ bezeichnet; $w_i \in \mathbb{R}$ heißen \textit{Gewichte} und müssen gelernt werden. Jedes Eingabesignal wird mit seinem Gewicht multipliziert. Die Produkte werden aufsummiert. Dann wird die sog. \textit{Aktivierungsfuntkion} $i$ angewendet.]{
  104. \label{fig:artificial-neuron}
  105. \includegraphics[width=0.45\linewidth]{neuron.tikz}
  106. }%
  107. \subfigure[Eine einfaches Feed-Forward Neuronales Netz. Die 5~Eingabeneuronen sind rot, die 2~Bias-Neuronen sind Grau, die 3~Hidden-Neuronen sind Grün und das einzelne Ausgabeneuron ist Blau. Dieses 3-schichtige Modell hat $6 \cdot 4 + 4 \cdot 1 = 28$ Kanten. Für jede Kante muss ein Gewicht $w_{ij} \in \mathbb{R}$ gelernt werden.]{
  108. \label{fig:feed-forward-nn}
  109. \includegraphics[width=0.45\linewidth]{feed-forward-nn.tikz}
  110. }
  111. \subfigure[Beispiele für Aktivierungsfuntkionen $\varphi: \mathbb{R} \rightarrow \mathbb{R}$]{
  112. \label{fig:artificial-neuron}
  113. \includegraphics[width=0.9\linewidth]{activation-functions.tikz}
  114. }%
  115. \caption{Neuronale Netze basieren auf einfachen Einheiten, welche zu komplexen Netzwerken verschaltet werden können. Diese können mittels \textit{Gradientenabstieg} automatisch trainiert werden.}
  116. \label{fig:neural-style}
  117. \end{figure}
  118. \begin{definition}{Convolutional Neural Network (CNN)}
  119. Ein CNN ist ein neuronales Netz, welches keine vollverbundenen Schichten hat
  120. sondern die Gewichte von Bildfiltern lernt.
  121. \end{definition}
  122. \begin{definition}{Rekurrentes Neuronale Netz (RNN)}
  123. Ein RNN ist ein neuronales Netz, welches Kanten hat, die zeitlich versetzt
  124. wieder als Eingabe genutzt werden.
  125. \end{definition}
  126. CNNs können sehr effektiv für Bilder eingesetzt werden, RNNs können zur
  127. Behandlung von Sequenzen verwendet werden. Insbesondere können beliebig lange
  128. Eingabesequenzen genutzt werden und unabhängig von der Eingabe beliebig lange
  129. Ausgaben erzeugt werden.
  130. \begin{definition}{Google DeepDream}
  131. Google DeepDream ist eine Abwandlung einer Technik zur Analyse der gelernten
  132. Gewichte.
  133. \end{definition}
  134. \section*{Quellen}
  135. Alle Quellen und eine detailierte Beschreibung der Verfahren sind unter\\
  136. \url{https://github.com/MartinThoma/seminar-art-in-machine-learning} sowie im arXiv unter\\
  137. \enquote{Creativity in Machine Learning} --- \url{http://arxiv.org/abs/1601.03642} ---
  138. zu finden.
  139. \end{document}