Tento podrobný tutoriál o pravidlech učení neuronových sítí vysvětluje Hebbian Learning a Perceptron Learning Algorithm s příklady:
V předchozím tutoriálu jsme se zabývali umělou neuronovou sítí, což je architektura velkého počtu vzájemně propojených prvků zvaných neurony.
Tyto neurony zpracovávají přijaté vstupy tak, aby poskytly požadovaný výstup. Uzly neboli neurony jsou propojeny vstupy, váhami spojení a aktivačními funkcemi.
Hlavní vlastností neuronové sítě je její schopnost učit se. Neuronové sítě se trénují pomocí známých příkladů. Jakmile se síť vycvičí, může být použita pro řešení neznámých hodnot problému.
=> Přečtěte si kompletní seriál o strojovém učení
Neuronová síť se učí pomocí různých schémat učení, která se dělí na učení pod dohledem nebo bez dohledu.
V algoritmech učení pod dohledem jsou cílové hodnoty síti známy. Snaží se snížit chybu mezi požadovaným výstupem (cílem) a skutečným výstupem pro dosažení optimálního výkonu. V algoritmech učení bez dohledu jsou cílové hodnoty neznámé a síť se učí sama tím, že identifikuje skryté vzory na vstupu vytvářením shluků atd.
Síť ANN se skládá ze tří částí, tj. vstupní, skryté a výstupní vrstvy. Existuje jedna vstupní vrstva a výstupní vrstva, zatímco skrytá vrstva nemusí být žádná nebo může být v síti přítomna 1 nebo více skrytých vrstev. Na základě této struktury se ANN dělí na jednovrstvou, vícevrstvou, feed-forward nebo rekurentní síť.
- Důležitá terminologie ANN
- Srovnání pravidel učení neuronových sítí
- Klasifikace algoritmů učení s dohledem
- #1) Učení s gradientním sestupem
- #2) Stochastické učení
- Klasifikace algoritmů neřízeného učení
- #1) Hebbovo učení
- #2) Konkurenční učení
- Mc Culloch-Pittsův neuron
- Hebbův algoritmus učení
- Příklad pravidla Hebbova učení
- Algoritmus učení perceptronu
- Příklad pravidla učení perceptronu
- Widrow Hoffův algoritmus učení
- Závěr
Důležitá terminologie ANN
Předtím, než budeme klasifikovat různá pravidla učení v ANN, pochopíme některé důležité terminologie týkající se ANN.
#1) Váhy: V ANN je každý neuron propojen s ostatními neurony prostřednictvím spojovacích článků. Tyto vazby nesou určitou váhu. Váha obsahuje informaci o vstupním signálu do neuronu. Váhy a vstupní signál se použijí k získání výstupu. Váhy lze označit ve formě matice, která se také nazývá matice spojení.
Každý neuron je propojen s každým dalším neuronem následující vrstvy prostřednictvím vah spojení. Pokud tedy existuje „n“ uzlů a každý uzel má „m“ vah, pak matice vah bude:
W1 představuje vektor vah vycházející z uzlu 1. W11 představuje váhový vektor od 1. uzlu předchozí vrstvy k 1. uzlu následující vrstvy. Podobně wij představuje váhový vektor od „i-tého“ zpracovávajícího prvku (neuronu) k „j-tému“ zpracovávajícímu prvku následující vrstvy.
#2) Zkreslení: Zkreslení se do sítě přidá přidáním vstupního prvku x (b) = 1 do vstupního vektoru. Zkreslení také nese váhu označenou w (b).
Zkreslení hraje důležitou roli při výpočtu výstupu neuronu. Zkreslení může být buď kladné, nebo záporné. Kladné zkreslení zvyšuje čistou vstupní váhu, zatímco záporné zkreslení čistý vstup snižuje.
#3) Práh: V aktivační funkci se používá prahová hodnota. Pro získání výstupu se porovnává čistý vstup s prahovou hodnotou. V NN se aktivační funkce definuje na základě prahové hodnoty a vypočítá se výstup.
Prahová hodnota je:
#4) Míra učení: Označuje se alfa ?. Míra učení se pohybuje v rozmezí 0 až 1. Používá se pro úpravu vah během procesu učení NN.
#5) Faktor hybnosti: Přidává se pro rychlejší konvergenci výsledků. Faktor hybnosti se přidává k váze a obecně se používá v sítích se zpětným šířením.
Srovnání pravidel učení neuronových sítí
Metody učení -.> | Gradientní sestup | Hebbianova | Kompetitivní | Stochastická |
---|---|---|---|---|
Typ architektury | |
||||
Jednovrstvá Feedforward | ADALINE Hopfield Perceptron |
Asociativní Memory Hopfield |
Lineární Vektorová kvantizace |
|
Vícevrstvá dopředná | Kaskádová Korelační Vícevrstvá dopředná Dopředná Radiální bias Funkce |
Neocognitron | ||
Rekurentní | Rekurentní neuronová síť |
Obousměrná automatická asociativní paměť Mozku- State- In-a- Box Hopfield |
Adaptivní Resonanční teorie |
Boltzmann Machine Cauchy Machine |
Rozdělení různých typů učení ANN je uvedeno níže.
Klasifikace algoritmů učení s dohledem
- Gradientní sestup
- Stochastický
#1) Učení s gradientním sestupem
V tomto typu učení dochází ke snižování chyb pomocí vah a aktivační funkce sítě. Aktivační funkce by měla být diferencovatelná.
Přizpůsobení vah při tomto způsobu učení závisí na gradientu chyby E. Příkladem tohoto typu učení je pravidlo zpětného šíření. Úprava vah je tedy definována jako
#2) Stochastické učení
V tomto učení se váhy upravují pravděpodobnostním způsobem.
Klasifikace algoritmů neřízeného učení
- Hebbovo
- Konkurenční
#1) Hebbovo učení
Toto učení navrhl Hebb v roce 1949. Je založeno na korelačním nastavení vah. Dvojicím vstupních a výstupních vzorů je přiřazena váhová matice W.
Pro úpravu vah se bere transpozice výstupu.
#2) Konkurenční učení
Jedná se o strategii vítěz bere vše. Při tomto typu učení, když je síti zaslán vstupní vzor, všechny neurony ve vrstvě soutěží a pouze vítězné neurony mají upraveny váhy.
Mc Culloch-Pittsův neuron
Také známý jako M-P neuron, je to nejstarší neuronová síť, která byla objevena v roce 1943. V tomto modelu jsou neurony propojeny váhami spojení a aktivační funkce se používá binární. Práh se používá k určení, zda neuron zapálí, nebo ne.
Funkce M-P neuronu je:
Hebbův algoritmus učení
Hebbovu síť uvedl Donald Hebb v roce 1949. Podle Hebbova pravidla se zjistilo, že váhy se zvyšují úměrně součinu vstupu a výstupu. To znamená, že pokud jsou v Hebbově síti propojeny dva neurony, pak lze váhy spojené s těmito neurony zvyšovat změnami synaptické mezery.
Tato síť je vhodná pro bipolární data. Hebbovské pravidlo učení se obecně aplikuje na logická hradla.
Váhy se aktualizují takto:
W (nový) = w (starý) + x*y
Tréninkový algoritmus pro hebbovské pravidlo učení
Tréninkové kroky algoritmu jsou následující:
- Na začátku se váhy nastaví na nulu, tj.tj. w =0 pro všechny vstupy i =1 až n a n je celkový počet vstupních neuronů.
- Nechť s je výstup. Aktivační funkce pro vstupy je obecně nastavena jako funkce identity.
- Aktivační funkce pro výstup je také nastavena na y= t.
- Přizpůsobení vah a zkreslení se upraví na:
- Kroky 2 až 4 se opakují pro každý vstupní vektor a výstup.
Příklad pravidla Hebbova učení
Nechť implementujeme funkci logického AND s bipolárními vstupy pomocí Hebbova učení
X1 a X2 jsou vstupy, b je zkreslení brané jako 1, cílová hodnota je výstup operace logického AND nad vstupy.
Input | Input | Bias | Target |
---|---|---|---|
X1 | X2 | b | y |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
#1) Původně, jsou váhy nastaveny na nulu a zkreslení je rovněž nulové.
W1=w2=b=0
#2) První vstupní vektor je brán jako = a cílová hodnota je 1.
Nové váhy budou:
#3) Výše uvedené váhy jsou konečné nové váhy. Po předání druhého vstupu se z nich stanou počáteční váhy.
#4) Vezmeme druhý vstup = . Cílová hodnota bude -1.
#5) Podobně se vypočítají další vstupy a váhy.
V níže uvedené tabulce jsou uvedeny všechny vstupy:
Hebbova síť pro funkci AND
Algoritmus učení perceptronu
Perceptronové sítě jsou jednovrstvé sítě typu feed-forward. Nazývají se také sítě s jedním perceptronem. Perceptron se skládá ze vstupní vrstvy, skryté vrstvy a výstupní vrstvy.
Vstupní vrstva je propojena se skrytou vrstvou prostřednictvím vah, které mohou být inhibiční nebo excitační nebo nulové (-1, +1 nebo 0). Použitá aktivační funkce je binární skoková funkce pro vstupní vrstvu a skrytou vrstvu.
Výstup je
Y= f (y)
Aktivační funkce je:
Aktualizace vah probíhá mezi skrytou a výstupní vrstvou tak, aby odpovídala cílovému výstupu. Chyba se vypočítá na základě skutečného výstupu a požadovaného výstupu.
Pokud výstup odpovídá cíli, pak k aktualizaci vah nedochází. Váhy jsou zpočátku nastaveny na 0 nebo 1 a postupně se upravují, dokud se nenajde optimální řešení.
Váhy v síti mohou být zpočátku nastaveny na libovolné hodnoty. Učení perceptronu konverguje k vektoru vah, který dává správný výstup pro všechny vstupní trénovací vzory, a toto učení probíhá v konečném počtu kroků.
Pravidlo perceptronu lze použít pro binární i bipolární vstupy.
Pravidlo učení pro perceptron s jedním výstupem
#1) Nechť existuje „n“ trénovacích vstupních vektorů a x (n) a t (n) jsou spojeny s cílovými hodnotami.
#2) Inicializujte váhy a zkreslení. Pro snadný výpočet je nastavte na nulu.
#3) Nechť je míra učení 1.
#4) Vstupní vrstva má identitní aktivační funkci, takže x (i)= s ( i).
#5) Výpočet výstupu sítě:
#6) Aktivační funkce se aplikuje nad vstup sítě, aby se získal výstup.
#7) Nyní na základě výstupu porovnáme požadovanou cílovou hodnotu (t) a skutečný výstup.
#8) Pokračujeme v iteraci, dokud nedojde ke změně vah. Jakmile je této podmínky dosaženo, zastavte ji.
Pravidlo učení pro perceptron s více výstupy
#1) Nechť existuje „n“ trénovacích vstupních vektorů a x (n) a t (n) jsou spojeny s cílovými hodnotami.
#2) Inicializujte váhy a zkreslení. Pro snadný výpočet je nastavte na nulu.
#3) Nechť je míra učení 1.
#4) Vstupní vrstva má identitní aktivační funkci, takže x (i)= s ( i).
#5) Pro výpočet výstupu každého výstupního vektoru od j= 1 do m je vstup sítě:
#6) Nad vstup sítě se aplikuje aktivační funkce, aby se získal výstup.
#7) Nyní na základě výstupu porovnáme požadovanou cílovou hodnotu (t) a skutečný výstup a provedeme úpravy vah.
w je váhový vektor spojovacích článků mezi i-tým vstupním a j-tým výstupním neuronem a t je cílový výstup pro výstupní jednotku j.
#8) Pokračujeme v iteraci, dokud nedojde ke změně vah. Zastavte, jakmile je této podmínky dosaženo.
Příklad pravidla učení perceptronu
Implementace funkce AND pomocí sítě perceptronu pro bipolární vstupy a výstupy.
Vstupní vzorek bude x1, x2 a zkreslení b. Nechť počáteční váhy jsou 0 a zkreslení 0. Práh je nastaven na nulu a rychlost učení je 1.
Příklad pravidla učení perceptronu
.
And Gate
X1 | X2 | Target |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
#1) X1=1 , X2= 1 a cílový výstup = 1
W1=w2=wb=0 a x1=x2=b=1, t=1
Síťový vstup= y =b + x1*w1+x2*w2 = 0+1*0 +1*0 =0
Jako prahová hodnota je tedy nulová:
Odtud dostáváme, že výstup = 0. Nyní zkontrolujeme, zda výstup (y) = cíl (t).
y = 0, ale t= 1, což znamená, že nejsou stejné, proto dojde k aktualizaci vah.
Nové váhy jsou 1, 1 a 1 po předložení prvního vstupního vektoru.
#2) X1= 1 X2= -1 , b= 1 a cíl = -1, W1=1 ,W2=2, Wb=1
Čistý vstup= y =b + x1*w1+x2*w2 = 1+1*1 + (-1)*1 =1
Čistý výstup pro vstup= 1 bude 1 z:
Tedy opět cíl = -1 se neshoduje se skutečným výstupem =1. Proběhne aktualizace vah.
Nyní jsou nové váhy w1 = 0 w2 =2 a wb =0
Podobně, pokračujeme-li s další sadou vstupů, dostaneme následující tabulku:
EPOCHS je cyklus vstupních vzorů přiváděných do systému, dokud není nutná změna vah a iterace se zastaví.
Widrow Hoffův algoritmus učení
Známý také jako Delta pravidlo, řídí se pravidlem gradientního sestupu pro lineární regresi.
Aktualizuje váhy spojení s rozdílem mezi cílovou a výstupní hodnotou. Jedná se o algoritmus učení podle nejmenšího středního čtverce spadající do kategorie algoritmů učení s dohledem.
Tímto pravidlem se řídí ADALINE (Adaptive Linear Neural Networks) a MADALINE. Na rozdíl od Perceptronu se iterace sítí Adaline nezastavují, ale konvergují snižováním nejmenší střední kvadratické chyby. MADALINE je síť složená z více než jedné ADALINE.
Motivem pravidla učení delta je minimalizovat chybu mezi výstupem a cílovým vektorem.
Váhy v sítích ADALINE se aktualizují podle:
Nejmenší střední kvadratická chyba = (t- yin)2, ADALINE konverguje, když je dosaženo nejmenší střední kvadratické chyby.
Závěr
V tomto učebním materiálu jsme probrali dva algoritmy, tj. pravidlo hebbianského učení a pravidlo perceptronového učení. Hebbovo pravidlo vychází z pravidla, že váhový vektor se zvyšuje úměrně vstupnímu a učícímu se signálu, tj. výstupu. Váhy se zvyšují přičtením součinu vstupní a výstupní váhy ke staré váze.
W (new) = w (old) +x*y
Použití Hebbových pravidel spočívá v problémech asociace vzorů, klasifikace a kategorizace.
Perceptronové pravidlo učení lze použít jak pro síť s jedním výstupem, tak pro síť s více výstupy. Cílem perceptronové sítě je klasifikovat vstupní vzor do určité třídy členů. Vstupní a výstupní neurony jsou propojeny prostřednictvím vazeb, které mají váhy.
Váhy se upravují tak, aby skutečný výstup odpovídal cílové hodnotě. Míra učení je nastavena od 0 do 1 a určuje škálovatelnost vah.
Váhy se aktualizují podle:
Kromě těchto pravidel učení se algoritmy strojového učení učí mnoha dalšími metodami, tj. metodami Supervised, Unsupervised, Reinforcement. Některé z dalších běžných algoritmů ML jsou Back Propagation, ART, Kohonen Self Organizing Maps atd.
Doufáme, že se vám všechny výukové programy z tohoto seriálu o strojovém učení líbily!!!
=> Navštivte zde pro exkluzivní seriál o strojovém učení