Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse code

Pridane texty k trenovaniu testovaniu a datam do experimentov

  • Loading branch information...
commit 44b98ac8d91893c25eb8ad7fea6b702a6d480071 1 parent 94c8887
Michal Hozza authored May 26, 2012

Showing 1 changed file with 34 additions and 27 deletions. Show diff stats Hide diff stats

  1. 61  experimenty.tex
61  experimenty.tex
... ...
@@ -1,45 +1,52 @@
1 1
 \chapter{Experimenty}\label{chap:experiments}
2 2
 
3  
-V~tejto kapitole predstavíme základný algoritmus a postupne sa budeme venovať jeho jednotlivým častiam. Budeme sa venovať metódam na zlepšenie úspešnosti klasifikátora a porovnáme rôzne prístupy. 
  3
+V~tejto kapitole porovnáme jednotlivé typy architektúr neurónových sietí, porovnáme ich úspešnosť a ukážeme, ktorá z nich je najvhodnejšia. Ďalej sa budeme venovať aj predspracovaniu segmentov, ktoré priamo ovplyvňuje vlastnosti trénovania a úspešnosť sietí.
4 4
 \bigskip
5  
-%Neural Net
6  
-%\section{Návrh architektúry neurónovej siete}\label{chap:neuralnetarch}
7 5
 
8  
-%V tejto kapitole si popíšeme rôzne architektúry sietí, ktoré sme vyskúšali a porovnáme ich vlastnosti a úspešnosť pri riešení problému rozpoznania ruky a vyberieme vhodnú architektúru, ktorú potom použijeme v našej aplikácii.
9  
-
10  
-\section{Cieľ}
  6
+\section{Trénovanie}
11 7
 
12  
-Našim cieľom je vytvoriť vhodnú architektúru neurónovej siete, ktorá bude rozhodovať o danom vstupe, či zodpovedá ruke alebo nie. Vyskúšame niekoľko typov architektúr, porovnáme ich a následne vyberieme najvhodnejšiu, ktorú potom použijeme. 
  8
+Trénovanie dopredných sietí sme robili pomocou algoritmu \textit{Backpropagation} - algoritmu spätného šírenia chyby \cite{haykin1999neural}. Sieti sme postupne predkladali dáta s informáciou či sa jedná o ruku alebo nie. Pred každou epochou sme dáta náhodne preusporiadali. 
13 9
 
14  
-Neurónová sieť má rozdeliť vstupy do 2 tried - tie, ktoré zodpovedajú rukám a ostatné. Na to využijeme vo všetkých architektúrach jeden výstupný neurón.
  10
+Pri rekurentných sieťach sme predkladali postupnosti dát, pričom sme zachovávali poradie obrázkov v postupnosti. Rekurentné vstupy sme updatli len v prípade, že sme detekovali ruku. Po každej postupnosti sme rekurentné vstupy resetli na 0. Takto simulujeme správanie siete v reálnej aplikácii.
15 11
 
  12
+\section{Testovanie a vyhodnocovanie neurónových sietí}
  13
+Pri trénovaní sa snažíme minimalizovať kvadratickú chybu. Preto aj pri vyhodnocovaní úspešnosti sietí budeme používať túto metriku.
16 14
 
  15
+%TODO formatovanie vzorca?
  16
+Kvadratická chyba sa počíta takto: $\frac{1}{2}(t-o)^2$, kde $t$ je cieľová hodnota a $o$ je výstup siete. V tabuľkách budeme uvádzať priemernú kvadratickú chybu, ktorú budeme počítať ako súčet všetkých kvadratických chýb deleno počet testovacích vstupov. 
17 17
 
18  
-\section{Trénovanie}
  18
+\section{Trénovacie a testovacie dáta}
19 19
 
20 20
 Na generovanie dát sme použili upravenú verziu našej aplikácie, ktorá umožňovala ukladanie vysegmentovaných obrázkov na disk bez toho, aby došlo k výraznému spomaleniu. 
21 21
 
22  
-%TODO odkaz na kapitolu v implementácii???
23  
-
24 22
 %Aby sme dostali čo najrealistickejšie obrázky, potrebovali sme aby aplikácia išla takmer tak rýchlo ako pôvodná. Zápis na disk je však časovo náročná operácia, preto sme si obrázky ukladali do buffera a zapisovali dávkovo. Zapisovali sme čo najmenšie množstvo dát, preto sme dáta fourierovych transformácií\footnote{viď kapitola \ref{sect:metodyzlepseniaklasifikacie} } robili až dodatočne ďalšou aplikáciou.
  23
+%TODO odkaz na kapitolu v implementácii???
25 24
 
26  
-{\color{red}
27  
-Trénovanie dopredných sietí sme robili pomocou algoritmu \textit{Backpropagation} - algoritmu spätného šírenia chyby \cite{haykin1999neural}. Sieti sme postupne predkladali dáta s informáciou či sa jedná o ruku alebo nie. Pred každou epochou sme dáta náhodne preusporiadali. 
  25
+Trénovacie dáta sme rozdelili na dve sady. Každá sada bola rozdelená na trénovaciu a testovaciu množinu.
28 26
 
29  
-Pri rekurentných sieťach sme predkladali postupnosti dát, pričom sme zachovávali poradie obrázkov v postupnosti. Rekurentné vstupy sme updatli len v prípade, že sme detekovali ruku. Po každej postupnosti sme rekurentné vstupy resetli na 0. Takto simulujeme správanie siete v reálnej aplikácii.
  27
+Prvou sadou sme vyhodnocovali vlastnosti rôznych typov architektúr neurónových sietí a vplyv fourierovej transformácie. Obsahovala dáta, ktoré boli rozdelené do postupností. To nám umožnovalo trénovať nimi rekurentné neurónové siete. Dopredné siete tieto dáta brali ako jednotlivé obrázky.
30 28
 
31  
-Na trénovanie sme použili dáta fourierovych transformácií (viď \ref{sect:ft}). Množina dát obsahovala cca 800 vzorov, ktoré boli pri trénovaní rekurentnej neurónovej siete rozdelené do približne 70 postupností.
32  
-}
  29
+Druhá sada bola špecializovaná na vyhodnocovanie použitia pôvodného vs. rozdielového obrázka. Z tejto sady boli vyňaté obrázky rúk, ktoré sa nepodarilo algoritmu floodfill správne vyselektovať. Porovnávali sme teda úspešnosti v ideálnych prípadoch.
33 30
 
34  
-\section{Testovanie a vyhodnocovanie neurónových sietí}
35  
-Pri trénovaní sa snažíme minimalizovať kvadratickú chybu. Preto aj pri vyhodnocovaní úspešnosti sietí budeme používať túto metriku.
36  
-
37  
-%TODO formatovanie vzorca?
38  
-Kvadratická chyba sa počita takto: $\frac{1}{2}(t-o)^2$, kde $t$ je cieľová hodnota a $o$ je výstup siete. V tabuľkách budeme uvádzať priemernú kvadratickú chybu, ktorú budeme počitať ako súčet všetkých kvadratických chýb deleno počet testovacích vstupov. 
  31
+\begin{table}[h]
  32
+\catcode`\-=12 %kvoli babelu a pomlcke
  33
+\centering
  34
+\begin{tabular}{|l|c|c|c|c|c|}
  35
+\cline{2-5}
  36
+\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia množina}} & \multicolumn{2}{c|}{\textbf{Trénovacia množina}}\\ 
  37
+\hline
  38
+\textbf{Sada} & \textbf{ruky} & \textbf{ostatné} & \textbf{ruky} & \textbf{ostatné} \\ \hline
  39
+1. sada & & & & \\ \hline
  40
+2. sada & & & & \\ 
  41
+\hline
  42
+\end{tabular}
  43
+\caption{Veľkosti sád vstupov}
  44
+\label{tab:neuroncountcmp}
  45
+\end{table}
39 46
 
40  
-Na testovanie sme mali množinu cca 650 vzorov (60 postupností), ktoré sme nepoužívali na trénovanie.
  47
+%Na trénovanie sme použili dáta fourierovych transformácií (viď \ref{sect:ft}). Množina dát obsahovala cca 800 vzorov, ktoré boli pri trénovaní rekurentnej neurónovej siete rozdelené do približne 70 postupností.
41 48
 
42  
-\section{Trénovacie a testovacie dáta}
  49
+%Na testovanie sme mali množinu cca 650 vzorov (60 postupností), ktoré sme nepoužívali na trénovanie.
43 50
 
44 51
 \section{Porovnanie architektúr neurónových sietí}
45 52
 
@@ -60,7 +67,7 @@ \section{Porovnanie architektúr neurónových sietí}
60 67
 \centering
61 68
 \begin{tabular}{|l|c|c|c|c|c|}
62 69
 \cline{2-5}
63  
-\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia sada}} & \multicolumn{2}{c|}{\textbf{Trénovacia sada}} & \multicolumn{1}{l}{}\\ 
  70
+\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia množina}} & \multicolumn{2}{c|}{\textbf{Trénovacia množina}} & \multicolumn{1}{l}{}\\ 
64 71
 \hline
65 72
 \textbf{Počet neurónov} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{čas} \\ \hline
66 73
 40 & 81,11\% & 0,0818 & & &\\ \hline
@@ -94,7 +101,7 @@ \section{Porovnanie architektúr neurónových sietí}
94 101
 \centering
95 102
 \begin{tabular}{|l|c|c|c|c|c|}
96 103
 \cline{2-5}
97  
-\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia sada}} & \multicolumn{2}{c|}{\textbf{Trénovacia sada}} & \multicolumn{1}{l}{}\\ 
  104
+\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia množina}} & \multicolumn{2}{c|}{\textbf{Trénovacia množina}} & \multicolumn{1}{l}{}\\ 
98 105
 \hline
99 106
 \textbf{Počet neurónov} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{čas} \\ \hline
100 107
 48; 12 & 83,33\% & 0,0745 & & &\\ \hline
@@ -120,7 +127,7 @@ \section{Porovnanie architektúr neurónových sietí}
120 127
 \centering
121 128
 \begin{tabular}{|l|c|c|c|c|c|}
122 129
 \cline{2-5}
123  
-\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia sada}} & \multicolumn{2}{c|}{\textbf{Trénovacia sada}} & \multicolumn{1}{l}{}\\ 
  130
+\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia množina}} & \multicolumn{2}{c|}{\textbf{Trénovacia množina}} & \multicolumn{1}{l}{}\\ 
124 131
 \hline
125 132
 \textbf{Rekurentná vrstva} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{čas} \\ \hline
126 133
 spodná & 83,33\% & 0,0745 & & &\\ \hline
@@ -178,7 +185,7 @@ \section{Porovnanie rôznych typov dát}
178 185
 \centering
179 186
 \begin{tabular}{|l|c|c|c|c|c|}
180 187
 \cline{2-5}
181  
-\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia sada}} & \multicolumn{2}{c|}{\textbf{Trénovacia sada}} & \multicolumn{1}{l}{}\\ 
  188
+\multicolumn{1}{l}{} & \multicolumn{2}{|c|}{\textbf{Testovacia množina}} & \multicolumn{2}{c|}{\textbf{Trénovacia množina}} & \multicolumn{1}{l}{}\\ 
182 189
 \hline
183 190
 \textbf{Typ dát} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{úspešnosť} & \textbf{chyba} & \textbf{čas} \\ \hline
184 191
 \textbf{Rozdielový obr.} & 83,33\% & 0,0745 & & & \\ \hline

0 notes on commit 44b98ac

Please sign in to comment.
Something went wrong with that request. Please try again.