diff --git a/doc/Grundlagen_des_maschinellen_lernens.aux b/doc/Grundlagen_des_maschinellen_lernens.aux index 980cfcb..6c384e5 100644 --- a/doc/Grundlagen_des_maschinellen_lernens.aux +++ b/doc/Grundlagen_des_maschinellen_lernens.aux @@ -66,27 +66,30 @@ \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.6}Gradientenverfahren und Backpropagation}{12}{subsection.3.6}\protected@file@percent } \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {10}{\ignorespaces Die Gleichung f\IeC {\"u}r den Gradienten der Fehlerfunktion}}{12}{figure.10}\protected@file@percent } \newlabel{Gradient_Function}{{10}{12}{Die Gleichung für den Gradienten der Fehlerfunktion}{figure.10}{}} +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.6.1}Lernrate}{12}{subsubsection.3.6.1}\protected@file@percent } \@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {11}{\ignorespaces Die Gleichung f\IeC {\"u}r die Anpassung eines einzelnen Parameters}}{13}{figure.11}\protected@file@percent } \newlabel{Learning_Rate_Function}{{11}{13}{Die Gleichung für die Anpassung eines einzelnen Parameters}{figure.11}{}} +\@writefile{lof}{\defcounter {refsection}{0}\relax }\@writefile{lof}{\contentsline {figure}{\numberline {12}{\ignorespaces $\eta $ ist hier zu gro\IeC {\ss } gew\IeC {\"a}hlt}}{13}{figure.12}\protected@file@percent } +\newlabel{Learning_Rate_Graphic}{{12}{13}{$\eta $ ist hier zu groß gewählt}{figure.12}{}} \@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {3.7}Verschiedene Layerarten}{13}{subsection.3.7}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Fully connected Layers}{13}{subsubsection.3.7.1}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Convolutional Layers}{13}{subsubsection.3.7.2}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.3}Pooling Layers}{13}{subsubsection.3.7.3}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {4}PyTorch}{13}{section.4}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{13}{subsection.4.1}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{13}{subsection.4.2}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{13}{subsection.4.3}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{13}{section.5}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Aufgabe}{13}{subsection.5.1}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{13}{subsection.5.2}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Fragmentbasierte Erkennung}{13}{subsection.5.3}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Ergebnis}{13}{subsection.5.4}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{13}{section.6}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Das Prinzip}{13}{subsection.6.1}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{13}{subsection.6.2}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{13}{subsection.6.3}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Vergleich}{13}{subsection.6.4}\protected@file@percent } -\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {7}Schlusswort}{13}{section.7}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.1}Fully connected Layers}{14}{subsubsection.3.7.1}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.2}Convolutional Layers}{14}{subsubsection.3.7.2}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsubsection}{\numberline {3.7.3}Pooling Layers}{14}{subsubsection.3.7.3}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {4}PyTorch}{14}{section.4}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{14}{subsection.4.1}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{14}{subsection.4.2}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{14}{subsection.4.3}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{14}{section.5}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.1}Aufgabe}{14}{subsection.5.1}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{14}{subsection.5.2}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.3}Fragmentbasierte Erkennung}{14}{subsection.5.3}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {5.4}Ergebnis}{14}{subsection.5.4}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{14}{section.6}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.1}Das Prinzip}{14}{subsection.6.1}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{14}{subsection.6.2}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{14}{subsection.6.3}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {subsection}{\numberline {6.4}Vergleich}{14}{subsection.6.4}\protected@file@percent } +\@writefile{toc}{\defcounter {refsection}{0}\relax }\@writefile{toc}{\contentsline {section}{\numberline {7}Schlusswort}{14}{section.7}\protected@file@percent } \bibcite{1}{1} \bibcite{2}{2} \bibcite{3}{3} diff --git a/doc/Grundlagen_des_maschinellen_lernens.lof b/doc/Grundlagen_des_maschinellen_lernens.lof index 9777127..c57c56f 100644 --- a/doc/Grundlagen_des_maschinellen_lernens.lof +++ b/doc/Grundlagen_des_maschinellen_lernens.lof @@ -22,3 +22,5 @@ \contentsline {figure}{\numberline {10}{\ignorespaces Die Gleichung f\IeC {\"u}r den Gradienten der Fehlerfunktion}}{12}{figure.10}% \defcounter {refsection}{0}\relax \contentsline {figure}{\numberline {11}{\ignorespaces Die Gleichung f\IeC {\"u}r die Anpassung eines einzelnen Parameters}}{13}{figure.11}% +\defcounter {refsection}{0}\relax +\contentsline {figure}{\numberline {12}{\ignorespaces $\eta $ ist hier zu gro\IeC {\ss } gew\IeC {\"a}hlt}}{13}{figure.12}% diff --git a/doc/Grundlagen_des_maschinellen_lernens.log b/doc/Grundlagen_des_maschinellen_lernens.log index d177d74..10044e2 100644 --- a/doc/Grundlagen_des_maschinellen_lernens.log +++ b/doc/Grundlagen_des_maschinellen_lernens.log @@ -1,4 +1,4 @@ -This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2019.12.27) 9 JAN 2020 16:51 +This is pdfTeX, Version 3.14159265-2.6-1.40.19 (TeX Live 2019/dev/Debian) (preloaded format=pdflatex 2019.12.27) 11 JAN 2020 20:59 entering extended mode restricted \write18 enabled. %&-line parsing enabled. @@ -1382,7 +1382,7 @@ LaTeX Font Info: Font shape `T1/LinuxBiolinumT-TLF/b/n' will be LaTeX Warning: Citation '1' on page 4 undefined on input line 37. [4] -<../graphics/Neuron.png, id=234, 299.9205pt x 158.994pt> +<../graphics/Neuron.png, id=239, 299.9205pt x 158.994pt> File: ../graphics/Neuron.png Graphic file (type png) Package pdftex.def Info: ../graphics/Neuron.png used on input line 61. @@ -1395,7 +1395,7 @@ LaTeX Warning: Citation '2' on page 5 undefined on input line 67. LaTeX Warning: `h' float specifier changed to `ht'. [5] -<../graphics/Neural_Net.png, id=241, 548.16795pt x 432.8973pt> +<../graphics/Neural_Net.png, id=246, 548.16795pt x 432.8973pt> File: ../graphics/Neural_Net.png Graphic file (type png) Package pdftex.def Info: ../graphics/Neural_Net.png used on input line 72. @@ -1446,19 +1446,26 @@ nded (in y). (see also unbounded coords=jump). LaTeX Warning: `h' float specifier changed to `ht'. [11] +<../graphics/gdf_big_lr.png, id=303, 484.57034pt x 482.0409pt> +File: ../graphics/gdf_big_lr.png Graphic file (type png) + +Package pdftex.def Info: ../graphics/gdf_big_lr.png used on input line 265. +(pdftex.def) Requested size: 172.5pt x 171.60013pt. + LaTeX Warning: `h' float specifier changed to `ht'. +[12] Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding): -(hyperref) removing `\newline' on input line 270. +(hyperref) removing `\newline' on input line 281. Package hyperref Warning: Token not allowed in a PDF string (PDFDocEncoding): -(hyperref) removing `\newline' on input line 275. +(hyperref) removing `\newline' on input line 286. -[12] [13] -Underfull \hbox (badness 10000) in paragraph at lines 292--296 +[13 <../graphics/gdf_big_lr.png>] [14] +Underfull \hbox (badness 10000) in paragraph at lines 303--307 \T1/LinuxBiolinumT-TLF/m/n/10 Quelle: https://towardsdatascience.com/common-los s-functions-in-machine- [] @@ -1467,16 +1474,16 @@ s-functions-in-machine- \tf@lof=\write7 \openout7 = `Grundlagen_des_maschinellen_lernens.lof'. - [14] -Package atveryend Info: Empty hook `BeforeClearDocument' on input line 299. -Package atveryend Info: Empty hook `AfterLastShipout' on input line 299. + [15] +Package atveryend Info: Empty hook `BeforeClearDocument' on input line 310. +Package atveryend Info: Empty hook `AfterLastShipout' on input line 310. (./Grundlagen_des_maschinellen_lernens.aux) -Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 299. -Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 299. +Package atveryend Info: Executing hook `AtVeryEndDocument' on input line 310. +Package atveryend Info: Executing hook `AtEndAfterFileList' on input line 310. Package rerunfilecheck Info: File `Grundlagen_des_maschinellen_lernens.out' has not changed. -(rerunfilecheck) Checksum: 41516AE22E63742FED19399773C7C20F;3003. +(rerunfilecheck) Checksum: 7E0FBC47986DDE9EDCD0A605F1EC2BAC;3071. LaTeX Warning: There were undefined references. @@ -1492,13 +1499,13 @@ un.xml'. ) Here is how much of TeX's memory you used: - 37213 strings out of 492615 - 833403 string characters out of 6131389 - 1359789 words of memory out of 5000000 - 40449 multiletter control sequences out of 15000+600000 + 37224 strings out of 492615 + 833630 string characters out of 6131389 + 1359847 words of memory out of 5000000 + 40455 multiletter control sequences out of 15000+600000 78207 words of font info for 117 fonts, out of 8000000 for 9000 1143 hyphenation exceptions out of 8191 - 62i,14n,100p,1509b,3432s stack positions out of 5000i,500n,10000p,200000b,80000s + 62i,14n,100p,1509b,3448s stack positions out of 5000i,500n,10000p,200000b,80000s {/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}{/usr/share/texliv e/texmf-dist/fonts/enc/dvips/libertine/lbtn_25tcsq.enc} -Output written on Grundlagen_des_maschinellen_lernens.pdf (14 pages, 385078 byt +Output written on Grundlagen_des_maschinellen_lernens.pdf (15 pages, 421440 byt es). PDF statistics: - 394 PDF objects out of 1000 (max. 8388607) - 359 compressed objects within 4 object streams - 80 named destinations out of 1000 (max. 500000) - 343 words of extra memory for PDF output out of 10000 (max. 10000000) + 410 PDF objects out of 1000 (max. 8388607) + 372 compressed objects within 4 object streams + 84 named destinations out of 1000 (max. 500000) + 356 words of extra memory for PDF output out of 10000 (max. 10000000) diff --git a/doc/Grundlagen_des_maschinellen_lernens.out b/doc/Grundlagen_des_maschinellen_lernens.out index 397345b..306c6d3 100644 --- a/doc/Grundlagen_des_maschinellen_lernens.out +++ b/doc/Grundlagen_des_maschinellen_lernens.out @@ -19,22 +19,23 @@ \BOOKMARK [3][-]{subsubsection.3.5.2}{MAE \205 Durchschnitztlicher absoluter Fehler}{subsection.3.5}% 19 \BOOKMARK [3][-]{subsubsection.3.5.3}{Kreuzentropiefehler}{subsection.3.5}% 20 \BOOKMARK [2][-]{subsection.3.6}{Gradientenverfahren und Backpropagation}{section.3}% 21 -\BOOKMARK [2][-]{subsection.3.7}{Verschiedene Layerarten}{section.3}% 22 -\BOOKMARK [3][-]{subsubsection.3.7.1}{Fully connected Layers}{subsection.3.7}% 23 -\BOOKMARK [3][-]{subsubsection.3.7.2}{Convolutional Layers}{subsection.3.7}% 24 -\BOOKMARK [3][-]{subsubsection.3.7.3}{Pooling Layers}{subsection.3.7}% 25 -\BOOKMARK [1][-]{section.4}{PyTorch}{}% 26 -\BOOKMARK [2][-]{subsection.4.1}{Datenvorbereitung}{section.4}% 27 -\BOOKMARK [2][-]{subsection.4.2}{Definieren des Netzes}{section.4}% 28 -\BOOKMARK [2][-]{subsection.4.3}{Trainieren des Netzes}{section.4}% 29 -\BOOKMARK [1][-]{section.5}{Fallbeispiel I:Ein Klassifizierungsnetzwerk f\374r handgeschriebene Ziffern}{}% 30 -\BOOKMARK [2][-]{subsection.5.1}{Aufgabe}{section.5}% 31 -\BOOKMARK [2][-]{subsection.5.2}{Der MNIST Datensatz}{section.5}% 32 -\BOOKMARK [2][-]{subsection.5.3}{Fragmentbasierte Erkennung}{section.5}% 33 -\BOOKMARK [2][-]{subsection.5.4}{Ergebnis}{section.5}% 34 -\BOOKMARK [1][-]{section.6}{Fallbeispiel II:Eine selbsttrainierende KI f\374r Tic-Tac-Toe}{}% 35 -\BOOKMARK [2][-]{subsection.6.1}{Das Prinzip}{section.6}% 36 -\BOOKMARK [2][-]{subsection.6.2}{Chance-Tree Optimierung}{section.6}% 37 -\BOOKMARK [2][-]{subsection.6.3}{L\366sung mittels eines neuronalen Netzes}{section.6}% 38 -\BOOKMARK [2][-]{subsection.6.4}{Vergleich}{section.6}% 39 -\BOOKMARK [1][-]{section.7}{Schlusswort}{}% 40 +\BOOKMARK [3][-]{subsubsection.3.6.1}{Lernrate}{subsection.3.6}% 22 +\BOOKMARK [2][-]{subsection.3.7}{Verschiedene Layerarten}{section.3}% 23 +\BOOKMARK [3][-]{subsubsection.3.7.1}{Fully connected Layers}{subsection.3.7}% 24 +\BOOKMARK [3][-]{subsubsection.3.7.2}{Convolutional Layers}{subsection.3.7}% 25 +\BOOKMARK [3][-]{subsubsection.3.7.3}{Pooling Layers}{subsection.3.7}% 26 +\BOOKMARK [1][-]{section.4}{PyTorch}{}% 27 +\BOOKMARK [2][-]{subsection.4.1}{Datenvorbereitung}{section.4}% 28 +\BOOKMARK [2][-]{subsection.4.2}{Definieren des Netzes}{section.4}% 29 +\BOOKMARK [2][-]{subsection.4.3}{Trainieren des Netzes}{section.4}% 30 +\BOOKMARK [1][-]{section.5}{Fallbeispiel I:Ein Klassifizierungsnetzwerk f\374r handgeschriebene Ziffern}{}% 31 +\BOOKMARK [2][-]{subsection.5.1}{Aufgabe}{section.5}% 32 +\BOOKMARK [2][-]{subsection.5.2}{Der MNIST Datensatz}{section.5}% 33 +\BOOKMARK [2][-]{subsection.5.3}{Fragmentbasierte Erkennung}{section.5}% 34 +\BOOKMARK [2][-]{subsection.5.4}{Ergebnis}{section.5}% 35 +\BOOKMARK [1][-]{section.6}{Fallbeispiel II:Eine selbsttrainierende KI f\374r Tic-Tac-Toe}{}% 36 +\BOOKMARK [2][-]{subsection.6.1}{Das Prinzip}{section.6}% 37 +\BOOKMARK [2][-]{subsection.6.2}{Chance-Tree Optimierung}{section.6}% 38 +\BOOKMARK [2][-]{subsection.6.3}{L\366sung mittels eines neuronalen Netzes}{section.6}% 39 +\BOOKMARK [2][-]{subsection.6.4}{Vergleich}{section.6}% 40 +\BOOKMARK [1][-]{section.7}{Schlusswort}{}% 41 diff --git a/doc/Grundlagen_des_maschinellen_lernens.pdf b/doc/Grundlagen_des_maschinellen_lernens.pdf index 745f812..b149d77 100644 Binary files a/doc/Grundlagen_des_maschinellen_lernens.pdf and b/doc/Grundlagen_des_maschinellen_lernens.pdf differ diff --git a/doc/Grundlagen_des_maschinellen_lernens.synctex.gz b/doc/Grundlagen_des_maschinellen_lernens.synctex.gz index 9d72c87..adb2192 100644 Binary files a/doc/Grundlagen_des_maschinellen_lernens.synctex.gz and b/doc/Grundlagen_des_maschinellen_lernens.synctex.gz differ diff --git a/doc/Grundlagen_des_maschinellen_lernens.tex b/doc/Grundlagen_des_maschinellen_lernens.tex index 92b3748..2c22deb 100644 --- a/doc/Grundlagen_des_maschinellen_lernens.tex +++ b/doc/Grundlagen_des_maschinellen_lernens.tex @@ -247,8 +247,10 @@ Das Gradientenverfahren ist ein Verfahren um das Minimum einer Funktion zu finde \label{Gradient_Function} \end{figure} \newline -Um also das Ergebnis \glqq richtiger'' zu machen, müssen alle Gewichtungen und Biases negativ zu diesem Gradienten angepasst werden, da der Gradient ja den Hochpunkt angibt.\newline -Diese Anpassung erfolgt, indem das Netz vom Ausgabelayer an, deshalb heißt das Verfahren Backpropagation, durchgegangen wird, und die Gewichtungen und Biases angepasst werden. Dies geschieht in der Regel mit hilfe der \glqq Lernrate'' $\eta$, mit der die Änderung nach der Formel in Abbildung \ref{Learning_Rate_Function} berechnet wird. +Um also das Ergebnis \glqq richtiger'' zu machen, müssen alle Gewichtungen und Biases negativ zu diesem Gradienten angepasst werden, da der Gradient ja den Hochpunkt angibt. Diese Anpassung erfolgt, indem das Netz vom Ausgabelayer an, deshalb heißt das Verfahren Backpropagation, durchgegangen wird, und die Gewichtungen und Biases angepasst werden.\newline +Oft wird zur Verbildlichung des Gradientenverfahrens die Analogie eines Balles verwendet, der einen Hügel hinunter rollt. Er findet den Tiefpunkt indem er hinab rollt und dabei immer automatisch eine Kraft nach unten wirkt. +\subsubsection{Lernrate} +Eine wichtige Rolle dabei spielt die sogenannte \glqq Lernrate'' $\eta$, mit der die Änderung nach der Formel in Abbildung \ref{Learning_Rate_Function} berechnet wird. \begin{figure}[h] \begin{equation*} w^n_{neu}=w^n_{alt}-\eta\times\frac{\partial C}{\partial w^n} @@ -257,9 +259,18 @@ Diese Anpassung erfolgt, indem das Netz vom Ausgabelayer an, deshalb heißt das \label{Learning_Rate_Function} \end{figure} \newline -Diese Lernrate ist notwendig um nicht über das Minimum \glqq hinweg zu springen''. Sollte sie zu groß sein, passiert genau dies, da die Anpassungen der Parameter in zu großen Schritten erfolgt, sollte sie hingegen zu klein sein, lernt das Netz sehr langsam. Typische Werte sind abhängig von der zu erlernenden Aufgabe, liegen jedoch in der Regel bei etwa 0.01 bis 0.00001 - +Diese Lernrate ist notwendig um nicht über das Minimum \glqq hinweg zu springen''. Sollte sie zu groß sein, passiert genau dies, da die Anpassungen der Parameter in zu großen Schritten erfolgt. Sollte sie hingegen zu klein sein, lernt das Netz sehr langsam. Typische Werte sind abhängig von der zu erlernenden Aufgabe, liegen jedoch in der Regel bei etwa 0.01 bis 0.0001 \footnote{Dies ist ein bloßer Erfahrungswert. Maschinelles Lernen erfordert oft sehr viele Versuche, weshalb nicht genau festgelegt werden kann, wann welche Lernrate optimal ist.}. +\begin{figure}[h] + \begin{center} + \includegraphics[width=0.5\linewidth]{../graphics/gdf_big_lr.png} + \end{center} + \caption{$\eta$ ist hier zu groß gewählt} + \label{Learning_Rate_Graphic} +\end{figure} +\newline +Abbildung \ref{Learning_Rate_Graphic} stellt dar, wieso das Minimum nicht erreicht werden kann, falls die Lernrate zu groß gewählt wurde. Es ist zu sehen, dass der Parameter immer gleich viel geändert wird und dabei das Minimum übersprungen wird, da die Lernrate konstant zu groß ist. Dieses Problem kann behoben werden indem eine adaptive Lernrate verwendet wird. Dabei verringert sich die Lernrate im Laufe des Lernprozesses, sodass zu Beginn die Vorzüge des schnellen Lernens genutzt werden können und am Ende trotzdem ein hoher Grad an Präzision erreicht werden kann. \subsection{Verschiedene Layerarten} +edtfh \subsubsection{Fully connected Layers} \subsubsection{Convolutional Layers} \subsubsection{Pooling Layers} diff --git a/doc/Grundlagen_des_maschinellen_lernens.toc b/doc/Grundlagen_des_maschinellen_lernens.toc index efc98e6..c834315 100644 --- a/doc/Grundlagen_des_maschinellen_lernens.toc +++ b/doc/Grundlagen_des_maschinellen_lernens.toc @@ -43,40 +43,42 @@ \defcounter {refsection}{0}\relax \contentsline {subsection}{\numberline {3.6}Gradientenverfahren und Backpropagation}{12}{subsection.3.6}% \defcounter {refsection}{0}\relax +\contentsline {subsubsection}{\numberline {3.6.1}Lernrate}{12}{subsubsection.3.6.1}% +\defcounter {refsection}{0}\relax \contentsline {subsection}{\numberline {3.7}Verschiedene Layerarten}{13}{subsection.3.7}% \defcounter {refsection}{0}\relax -\contentsline {subsubsection}{\numberline {3.7.1}Fully connected Layers}{13}{subsubsection.3.7.1}% +\contentsline {subsubsection}{\numberline {3.7.1}Fully connected Layers}{14}{subsubsection.3.7.1}% \defcounter {refsection}{0}\relax -\contentsline {subsubsection}{\numberline {3.7.2}Convolutional Layers}{13}{subsubsection.3.7.2}% +\contentsline {subsubsection}{\numberline {3.7.2}Convolutional Layers}{14}{subsubsection.3.7.2}% \defcounter {refsection}{0}\relax -\contentsline {subsubsection}{\numberline {3.7.3}Pooling Layers}{13}{subsubsection.3.7.3}% +\contentsline {subsubsection}{\numberline {3.7.3}Pooling Layers}{14}{subsubsection.3.7.3}% \defcounter {refsection}{0}\relax -\contentsline {section}{\numberline {4}PyTorch}{13}{section.4}% +\contentsline {section}{\numberline {4}PyTorch}{14}{section.4}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{13}{subsection.4.1}% +\contentsline {subsection}{\numberline {4.1}Datenvorbereitung}{14}{subsection.4.1}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{13}{subsection.4.2}% +\contentsline {subsection}{\numberline {4.2}Definieren des Netzes}{14}{subsection.4.2}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{13}{subsection.4.3}% +\contentsline {subsection}{\numberline {4.3}Trainieren des Netzes}{14}{subsection.4.3}% \defcounter {refsection}{0}\relax -\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{13}{section.5}% +\contentsline {section}{\numberline {5}Fallbeispiel I:\newline Ein Klassifizierungsnetzwerk f\IeC {\"u}r handgeschriebene Ziffern}{14}{section.5}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {5.1}Aufgabe}{13}{subsection.5.1}% +\contentsline {subsection}{\numberline {5.1}Aufgabe}{14}{subsection.5.1}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{13}{subsection.5.2}% +\contentsline {subsection}{\numberline {5.2}Der MNIST Datensatz}{14}{subsection.5.2}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {5.3}Fragmentbasierte Erkennung}{13}{subsection.5.3}% +\contentsline {subsection}{\numberline {5.3}Fragmentbasierte Erkennung}{14}{subsection.5.3}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {5.4}Ergebnis}{13}{subsection.5.4}% +\contentsline {subsection}{\numberline {5.4}Ergebnis}{14}{subsection.5.4}% \defcounter {refsection}{0}\relax -\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{13}{section.6}% +\contentsline {section}{\numberline {6}Fallbeispiel II:\newline Eine selbsttrainierende KI f\IeC {\"u}r Tic-Tac-Toe}{14}{section.6}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {6.1}Das Prinzip}{13}{subsection.6.1}% +\contentsline {subsection}{\numberline {6.1}Das Prinzip}{14}{subsection.6.1}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{13}{subsection.6.2}% +\contentsline {subsection}{\numberline {6.2}Chance-Tree Optimierung}{14}{subsection.6.2}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{13}{subsection.6.3}% +\contentsline {subsection}{\numberline {6.3}L\IeC {\"o}sung mittels eines neuronalen Netzes}{14}{subsection.6.3}% \defcounter {refsection}{0}\relax -\contentsline {subsection}{\numberline {6.4}Vergleich}{13}{subsection.6.4}% +\contentsline {subsection}{\numberline {6.4}Vergleich}{14}{subsection.6.4}% \defcounter {refsection}{0}\relax -\contentsline {section}{\numberline {7}Schlusswort}{13}{section.7}% +\contentsline {section}{\numberline {7}Schlusswort}{14}{section.7}% diff --git a/graphics/gdf_big_lr.png b/graphics/gdf_big_lr.png new file mode 100644 index 0000000..3f045fe Binary files /dev/null and b/graphics/gdf_big_lr.png differ diff --git a/wandb/settings b/wandb/settings new file mode 100644 index 0000000..8dae664 --- /dev/null +++ b/wandb/settings @@ -0,0 +1,2 @@ +[default] +