Algoritmus zpětného šíření chyby: Porovnání verzí

Smazaný obsah Přidaný obsah
m doplnění
Řádek 10:
== Algoritmus ==
[[File:Gradient descent.gif|náhled|Gradientní sestup]]
Kvalita naučení [[Umělá neuronová síť|umělé neuronové sítě]] je popsána chybovou funkcí, nejčastěji kvadratickou chybou:<ref name=UNS>{{Citace monografie| příjmení = Křivan| jméno = Miloš| titul = Umělé neuronové sítě| url = https://www.intelligentsoftware.eu/upload/pdf/Scriptum.pdf| vydavatel = Oeconomica| místo = Praha| rok = 2021| počet stran =76| vydání = první| isbn = 978-80-245-2420-7| jazyk = cs}}</ref>
 
: <math>E\;=\;\frac{1}{2} \sum\limits^{N}_{j=1} \sum\limits^{n}_{i=1} (t_z_{ij}-o_y_{ij})^{2}\;=\;\sum\limits^{N}_{j=1} E_{j}</math>, pak <math>\Delta w\;=\;-\alpha {\partial E_{j} \over \partial w}</math>,
 
 
: <math>E</math> chyba,
: <math>N</math> počet vzorků předložených síti,
: <math>n</math> počet neuronů výstupní vrstvy,
: <math>t_z_{ij}</math> požadovaný výstup ''(target)'' daného neuronu a daného vzorku,
: <math>o_y_{ij}</math> vypočítaný výstup ''(output)'' daného neuronu a daného vzorku,
: <math>\Delta w</math> vektor přírůstků vah agradientního kroku
: <math>\alpha</math> velikost gradientního kroku.
[[Soubor:Zpětné šíření chyby.png|náhled|Zpětné šíření chyby]]
 
 
Jeden adaptační ([[Gradientní sestup|sestupný gradientní]]) krok pak může vypadat následovně:<ref name=UNS></ref>
 
: <math>w_{ij}\left(T\right)=w_{ij}\left(T-1\right)+\alpha \ y_i\left(T\right)\ g_j(x_j(T))+\mu \ \Delta w_{ij}\left(T-1\right)</math>
Řádek 33:
: <math>g_k(x_k)=p_ky_k(1-y_k)(z_k-y_k) \ \ \ \ \ g_i(x_i)=p_iy_i\left(1-y_i\right)\ \sum_j{g_j(x_j)\ w_{ij}}</math>
 
: <math>k\in V_N, j\in V_L, i\in V_{L-1}, L\in \left\{2,\dots ,NM\right\}, T\in \left\{1,\dots ,MN\right\}</math>
 
 
Řádek 40:
: <math>y_i</math> skutečný stav i-tého neuronu
: <math>z_i</math> požadovaný stav i-tého neuronu
: <math>g_i</math> [[adaptační funkce]] i-tého neuronu
: <math>p_i</math> strmost [[aktivační funkce]] i-tého neuronu
: <math>\vartheta_i</math> práh i-tého neuronu
: <math>p_iw_{ij}</math> strmostváha aktivační funkcevazby i-tého neuronu s j-tým neuronem
: <math>w_{ij}\alpha</math> synaptickávelikost váhagradientního vazby i-tého neuronu s j-tým neuronemkroku
: <math>\alpha</math> rychlost učení
: <math>\mu</math> míra setrvačnosti gradientního sestupu
: <math>V_L</math> populace neuronů L-té vrstvy
: <math>NM</math> počet vrstev sítě
: <math>M</math> počet prvků trénovací množiny
: <math>\Delta</math> předcházející přírůstek příslušné proměnné
}}
 
 
Cílem učení je minimalizovat tuto chybovou funkci závislou na vstupních vahách neuronů, přičemž [[Gradientní sestup|gradientní sestup]] obecně najde pouze [[Extrém funkce|lokální minimum]], proto se do gradientního sestupu zavádí jistá jeho setrvačnost, spočívající v míře respektování směru jeho minulého sestupného kroku, tj. k aktuálnímu gradientu se připočte minulý gradient a aktuální sestupný krok se provede ve směru jejich součtu, tato deformace gradientního sestupu pak umožní vyklouznutí z mělkého lokálního minima. [[Učení umělés učitelem|Učení]] neuronové sítě spočívá ve změně vah vstupů neuronů. Algoritmus zpětného šíření chyby v každém kroku postupuje v následujících třech fázích:
 
* Aplikují se vzorky a pro každý vzorek se postupně směrem vpřed napočítají výstupy (vstupní signál se sítí šíří směrem dopředu).
* Napočítané výstupy se porovnají s požadovanými výstupy, tj. spočte se chyba, jak byla popsána výše.
* Na základě spočtené chyby se počítají hodnoty adaptačních funkcí ve směru od poslední vrstvy k první vrstvě (pro výpočet hodnoty adaptačních funkcí podřazené vrstvy již musí být vypočteny hodnoty adaptačních funkcí nadřazené vrstvy), tj. spočítá se gradient chybové funkce, na základě kterého se provede sestupný gradientní krok, tj. upraví se vstupní váhy neuronů tak, že klesne hodnota chyby. Výpočet tedy postupuje zpětně od výstupní vrstvy až po vstupní vrstvu (odtud zpětné šíření chyby), váhy se mění podle jejich vlivu na chybu.
* Spočítá se gradient chybové funkce, tj. jak chyba závisí na vahách neuronů. Výpočet postupuje zpětně od výstupní vrstvy až po vstupní vrstvu, přičemž se pro odvození parciálních derivací v následujících vrstvách využívá řetězové pravidlo. Váhy se zároveň mění podle jejich vlivu na chybu. To zaručuje, že po takové změně vah bude chyba vyhodnocení vzorků již menší.
 
Název algoritmu je podle posledního kroku, kdy se vliv chyby posouvá sítí zpětně, tj. zpětné šíření chyby.
 
== Reference ==