Umělé neuronové sítě 5. 4. 205 _ 5-
Model umělého neuronu y výstup neuronu u vnitřní potenciál neuronu w i váhy neuronu x i vstupy neuronu Θ práh neuronu f neuronová aktivační funkce _ 5-2
Neuronové aktivační funkce: sigmoidální funkce hyperbolický tangens znaménková funkce Heavisideova funkce! " # 0 0 % _ 5-3
Učení neuronových sítí Cílem učení je nastavit váhy spojení w ij tak, aby síť vytvářela správnou odezvu na vstupní signál. Základní způsoby učení: učení s učitelem (supervised learning) Neuronová síť se učí srovnáváním aktuálního výstupu s výstupem požadovaným (učitel) a nastavováním vah synapsí tak, aby se snížil rozdíl mezi skutečným a požadovaným výstupem. _ 5-4
učení bez učitele (unsupervised learning) Váhy spojení se nastavují tak, aby výstup sítě byl konzistentní, tj. aby síť poskytovala stejnou odezvu při stejných, popř. podobných vstupních vektorech. _ 5-5
Základní model učení D.O. Hebb (949) učení bez učitele "síla" synaptického spojení mezi dvěma neurony se zvětší, pokud jsou oba tyto neurony aktivovány; změna hodnoty synaptického spojení je přímo úměrná součinu výstupních hodnot aktivovaných neuronů (α je tzv. koeficient učení) & '()* & +(,)- & _ 5-6
Typy neuronových sítí _ 5-7
_ 5-8
Lineární asociativní paměť (LAM) jednovrstvá síť s dopředným šířením a pevnými vahami vstupní vektory mohou být binární (0/), popř. reálné _ 5-9
Výstupní hodnoty neuronů: 5. Umělé neuronové sítě pro reálné vstupy & &, &/,.,3 pro binární vstupy Použití:. & & 4 5,,.,3 &/ hetero-/autoasociativní paměť rekonstrukce neúplných a šumem poškozených obrazů _ 5-0
Reálné vstupy: Nastavení váhových koeficientůů pro asociační seznam L: 6 7+8,9,,,8 @,9 @ D vstup: 8 : ;8 :,,8 : < = výstup: 9 : ;9 :,,9 : < = nebo maticově @ & >?, EFG H,,J; L,,N M ; & <98 = kde 9A3B@CA9,,9 @ C,8A@CA8,,8 @ C _ 5-
Odezva sítě na vstupní vektor O AO,,O @ C PMO98 = O8 O9 tj. výstup je lineární kombinace vektorů A s s koeficienty určenými skalárním součinem B s X. Jsou-li vstupní vektory ortonormální, je výstup shodný s obrazem uloženým v asociativní paměti. @ Kapacita sítě (maximální počet uchovávaných vzorů): @Q kde P je počet vzorů uchovávaných v paměti, N je dimenze vstupního vektoru. _ 5-2
% 5. Umělé neuronové sítě Binární vstupy: Nastavení váhových koeficientůů w ij a hodnot prahů Θ i pro asociační seznam L & R> +R? &,, EFG H,,J; L,,N 4 R &, EFG H,,N & Odezva sítě 3 V " + T & 4,Q" & 3 U T + & 4,!0 S & _ 5-3
Příklad: Asociační seznam L = {([0] T, [0] T ), ([00] T, [00] T )} MR9 R8 = W XY ZW R R R " R R R " R R R " " " X " R 3 4 R &A C = & _ 5-4
Testovací vektor OA0C [ M 4W R R R " R R R " R R R " " " XW " " X W R XW X " P M 4W X " _ 5-5
Bidirectional Associative Memory (BAM) _ 5-6
BAM je dvouvrstvá rekurentní síťť s pevnými vahami, vstupní vektory mohou být binární (0/), popř. bipolární (-/) Použití: heteroasociativní paměť rekonstrukce neúplných a šumem poškozených obrazů _ 5-7
Kapacita sítě (maximální počet uchovávaných vzorů): Hrubý odhad: \Q], n = min {N, M}, 5. Umělé neuronové sítě kde N a M jsou počty neuronůů v první a druhé vrstvě a P je maximální počet asociací. Přesnější odhad: Pokud vybereme L vektorů tak, že 6# ",^_ R A` R )ac R a každý vektor má 4 + log 2 (n) prvků rovných a zbytek 0, pak lze vytvořitt BAM, pro kterou je 98% stavů stabilních. _ 5-8
Algoritmus trénování a činnosti BAM Krok : Inicializace váhových koeficientů w ij a prahové hodnoty Θ :. vrstva M ; & < R> +R? &, 2. vrstva M T 3 & 4 c R &, H,,J @ 4 cc R &, L,,N kde w ij jsou váhové koeficienty mezi i-tým neuronem první vrstvy a vrstvy, >,? jsou i-té prvky s-tých vektorů asociačního seznamu (mohou nabývat pouze hodnot {0,}), P je počet prvků asociačního seznamu, Θ a Θ jsou vektory prahových hodnot neuronů první a druhé vrstvy (pro homogenní BAM jsou tyto vektory nulové). j-tým neuronem druhé _ 5-9
% 5. Umělé neuronové sítě Krok 2: Předložení neznámého vstupního vektoru B = [b, b n ] T, B {0,} N Krok 3: Iterace, dokud síť konverguje: Během t-té iterace se pro. vrstvu: ) vypočtou hodnoty d c e f) paralelně pro i =,2,...,M podle vztahu & c () &? ( 4 & c 2) vypočtou výstupní hodnoty h e f) pro j =,2,...,M podle vztahu & c ()!" > & () )i " c & () #" > & ( c & ()" _ 5-20
2. vrstvu: ) vypočtou hodnoty d cc e f) paralelně pro j =,2,...,N podle vztahu 2) vypočtou výstupní hodnoty j k f) pro j =,2,...,N podle vztahu Tento proces se opakuje, dokudd se výstup první, popř. druhé vrstvy mění. Po ukončení iterací odpovídá vstup první vrstvy BAM vzorovému vektoru z asociačního seznamu, ktery se nejvíce podobá neznámému vektoru předloženému na vstup, výstup pak odpovídá asociaci uložené v BAM během trénování. cc () &? & ( 4 cc Krok 4: Opakování od kroku 2 pro nový vstupní vektor. 3 & cc ()!"? () )l" cc () #"%? ( cc ()" _ 5-2
Jednoduchý perceptron jednoduchý neuron, popř. jednovrstvá síť s dopředným šířením učení: s učitelem neuronová aktivační funkce: znaménková funkce, popř. jednotkový skok _ 5-22
Příklad použití: Klasifikátor pro lineárně separovatelné obrazy _ 5-23
Trénování jednoduchého perceptronu Krok : Počáteční inicializace vah w i, Q H Q N a prahu Θ (náhodně) Krok 2: Přivedení vstupního vektoru a definice požadované výstupní odezvy Krok 3: Výpočet odezvy perceptronu podle vztahu ( n ( ( 4, Q H Q J _ 5-24
Krok 4: Adaptace vah () ()paq( (C (, Q i Q J of ), Ehfří uh vwfde og fříox y, Ehfří uh vwfde og fříox z % kde d(t) je požadovaný výstup, (0,) Krok 5: Opakování od kroku 2 η je tzv. zisk (koeficient učení), který nabývá hodnot z intervalu pro všechny trénovací dvojice Pro lineárně neseparovatelné obrazy modifikované algoritmy: Kapsový algoritmus (Gallant) LMS algoritmus _ 5-25
Trénování perceptronu (Widrow Hoff LMS) Krok : Počáteční inicializace vah w i a prahu Θ Krok 2: Přivedení vstupního vektoru X = [x,..., x N ] T a definice požadované výstupní odezvy d Krok 3: Výpočet vnitřního potenciálu perceptronu podle vztahu ( ( ( 4 Krok 4: Výpočet chyby prezentace podle vztahu {(q( ( _ 5-26
Krok 5: Adaptace vah kde 0 < α < je tzv. koeficient () () -{( učení O R Krok 6: Opakování kroků 3-5, dokud není změna vah menší než požadovaná přesnost _ 5-27
Vícevrstvý perceptron _ 5-28
Vícevrstvý perceptron vícevrstvá síť s dopředným je šířením učení: s učitelem neuronová aktivační funkce: sigmoidálná funkce, hyperbolický tangens, popř. jiná nelineární funkce spojitá a spojitě diferencovatelná v celém definičním oboru Použití: klasifikace obrazů aproximace funkcí predikce časových řad řízení _ 5-29
Trénování vícevrstvého perceptronu (Backpropagation alg.) Krok : Počáteční inicializace vah w ij a prahů Θ i jednotlivých neuronů. Krok 2: Přivedení vstupního vektoru X = [x,...,x N ] T a definice požadované výstupní odezvy D = [d,..., d M ] T. Krok 3: Výpočet aktuálního výstupu podle následujících vztahů (platí pro třívrstvý perceptron) R cc `(. :` ( cc : ( 4`cc 5, : Qu QN výwfde]í vfwfvh _ 5-30
c cc : (. &: ( c & ( 4 c : 5, & QQJ 2. wfxfá vfwfvh c & ( & ( ( ( 4 &, QLQJ. wfxfá vfwfvh Krok 4: Adaptace vah a prahů podle vztahu & () & ()pƒ &, popř. & () & ()pƒ & )-' & ( & ( * _ 5-3
% 5. Umělé neuronové sítě Nastavení vah začíná u výstupních uzlů a postupuje zpětně směrem ke vstupům. V uvedených vztazích jsou w ij váhy mezi i-tým skrytým uzlem (popř. vstupním uzlem) a uzlem j-tým v čase t, k c je výstup i-tého, popř. vstupního uzlu, η je koeficient učení (zisk), α je tzv. momentový koeficient a δ j je chyba, pro kterou platí následující vztahy: ƒ & i c & & &+ &,+q & &, EFG výwfde]í d ux ƒ : &: EFG v]hfř]í wfxfé d ux : kde k se mění přes všechny uzly vrstvy, která následuje za uzlem j. Krok 5 : Opakování kroků 3-5, dokud chyba není menší než předem stanovená hodnota. _ 5-32
Hopfieldova síť jednovrstvá rekurentní síťť s pevnými vahami, vstupní vektory musí být binární (0/), popř. bipolární (-/) _ 5-33
Neuronová aktivační funkce: 5. Umělé neuronové sítě funkce jednotkového skoku pro! 0 " pro # 0 % znaménková funkce (pro bipolární vstupní vektory) Použití: autoasociativní paměť rekonstrukce neúplných a šumem poškozených obrazů optimalizační problémy _ 5-34
Kapacita sítě (maximální počet uchovaných vzorů): @ Q ",, kde P je počet vzorů uchovávaných v paměti, N je počet neuronů v síti Energie: {( R & > (> & ( 4 > ( & _ 5-35
Hopfieldova síť (synchronní model) Krok : Inicializace váhových koeficientů w ij a prahu Θ i podle vztahu @ & R> +R> &,, Q,&Q, 4 R &,,,, & kde w ij jsou váhové koeficienty mezi i-tým a j-tým neuronem, > je i-tý prvek vzorového vektoru s-té třídy (může nabývat pouze hodnot {0,}), P je počet vzorových vektorů. Krok 2: Předložení neznámého vstupního vektoru X = [x,...x N ] T, x i {0,} ", QQ, kde y i (0) je výstup i-tého neuronu v čase t=0, x i je i-tý prvek vstupního vektoru. _ 5-36
Krok 3: Iterace, dokud síť konverguje: Během t-té iterace se ) vypočtou hodnoty d k f) paralelně pro i=,2,, N podle vztahu () & & ( 4 2) vypočtou výstupní hodnoty x k f) pro i=,2,, N podle vztahu () ) l Tento proces se opakuje, dokud se výstup mění. Po ukončení iterací odpovídají výstupy vzorovému vektoru, který se nejvíce podobá vektoru vstupnímu. & ()!" " () #"% ( ()" Krok 4: Opakování od kroku 2 pro nový vstupní vektor _ 5-37
Příklad: Hopfieldova síť (synchronní model) Dány trénovací vektory Œ A0C [, Œ A00C [ Ž ke 2h k +2h e,, H L, QH,L QJ, tj. M W X Y Z W 2 2 0 2 2 0 0 0 2 2 2 0 2 2 X 0 2 4 2 ke A00C [ e _ 5-38
Pro testovací vektor 0 A000C [ dostaneme: a) v. iteraci: 2 2 0 2 0 M 4 W 2 2 0 2 XW X W 0 0 2 0 0 2 2 0 2 0 b) v 2. iteraci: M 4 W M 4 W X 0 0 2 2 0 2 2 2 0 2 XW X W 0 0 2 0 0 2 2 0 2 0 2 M 4 W X 0 0 XW XW X 3 3 X 3 _ 5-39
Hopfieldova síť (asynchronní model) Krok : Inicializace váhových koeficientů w ij a prahu Θ i podle vztahu @ & i R> +R> &,, &, Q,&Q % 5. Umělé neuronové sítě 4 R &, " & kde w ij jsou váhové koeficienty mezi i-tým a j-tým neuronem, > je i-tý prvek vzorového vektoru s-té třídy (může nabývat pouze hodnot {0,}), P je počet vzorových vektorů. Krok 2: Předložení neznámého vstupního vektoru X = [x,..., x N ] T, x i {0,} kde y i (0) je výstup i-tého neuronu v čase t=0, x i je i-tý prvek vstupního vektoru. &,,, ", QQ, _ 5-40
% 5. Umělé neuronové sítě Krok 3: Iterace, dokud síť konverguje: Během t-té iterace se nastavují výstupy neuronů v sekvenčním pořadí pro i=,2,, N ) () & & ( 4 & 2) ()!" () ) l" () #" ( ()" Krok 4: Opakování od kroku 2 pro nový vstupní vektor _ 5-4
Příklad: Hopfieldova síť (asynchronní model) Dány trénovací vektory Œ A0C [, Œ A00C [ Ž ke 2 2h k +2h e,, H L, QH,L QJ %, tj. " H L M W XY Z W " 2 0 2 " 0 0 0 " 2 2 0 2 2 X 0 " 4 2 ke A0 0 0 2C [ e _ 5-42
Pro testovací vektor 0A000C [ dostaneme: a) v. iteraci: M 4W. bit: A00C [ 2. bit: A00C [ 3. bit: A00C [ 4. bit: A00C [ 0 2 0 2 0 2 0 0 2 XW X W 0 0 0 0 0 2 2 0 0 0 0 0 0 2 X postupně pro _ 5-43
b) v 2. iteraci: 2 M 4W 0 2 0 2 2 0 0 2 XW X W 0 0 0 0 0 2 2 0 0 0 0 0 0 2 X postupně pro. bit: A00C [ 2. bit: A00C [ 3. bit: A00C [ 4. bit: A00C [ _ 5-44
ART (Adaptive Resonance Theory) _ 5-45
ART je: dvouvrstvá rekurentní síťť učení: bez učitele 5. Umělé neuronové sítě vstupní vektor X: binární pro model ART- reálný pro model ART-2 Použití: shlukování rozpoznávání znaků, řečových segmentů apod. _ 5-46
Řídicí signály G2 G2 =, je-li alespoň jeden prvek vstupního vektoru x i = G G =, je-li alespoň jeden prvek x i =. Pokud je však zároveňň alespoň jeden prvek r i =, je G=0 Reset je generován, je-li podobnost mezi vektorem C a X menší než předem zvolená hodnota prahu ostražitosti ρ. Podobnost mezi vektory se počítá jako skalární součin X a T dělený počtem jednotkových bitů vektoru X. _ 5-47
Porovnávací vrstva Každý neuron v této vrstvě přijímá tři binární signály: ) složky x i vstupního vektoru X = [x, x 2,..., x N ] T, 2) zpětnovazební signál p j, který je vytvořen jako vážený součet výstupů neuronů z rozpoznávací vrstvy, 3) signál G. Výstup neuronů c i je roven jedné, pokud jsou nejméně dva ze tří signálů rovny jedné. Na počátku jsou všechny složky vektoru R a signál G nastaveny na hodnotu 0 => C = X. _ 5-48
_ 5-49
Rozpoznávací vrstva Rozpoznávací vrstva klasifikuje vstupní vektor. Skládá se z M neuronů (M je počet klasifikačních tříd), vstupy neuronů jsou spojeny s výstupem porovnávací vrstvy. Spojením jsou přiřazeny vektory váhových koeficientů B j +j ek,. Po předložení vstupního vektoru je v rozpoznávací vrstvě aktivován pouze neuron s vektorem váhových koeficientů nejvíce podobným vstupu. Ostatní neurony budou mít výstup nulový. _ 5-50
_ 5-5
Algoritmus použití ART sítě 5. Umělé neuronové sítě Krok : Počáteční inicializace vah t ij,b ij a nastavení prahu ostražitosti ρ ( & "? & " ) i =,2,,N, j =,2,,M, "Q Q Krok 2: Přivedení vektoru X = [x,..., x N ] T na vstup sítě _ 5-52
Krok 3: Výpočet odezvy neuronu v rozpoznávací vrstvě podle vztahu &? & (, L,2,,N kde y j je odezva j-tého neuronuu v rozpoznávací vrstvě, x i je i-tý prvek vstupního vektoru Krok 4: Výběr neuronu s největší odezvou y k = max(y j ) Krok 5: Výpočet podobnosti µ podle vztahu ( : Je-li š, pokračování krokem 7, jinak provedení kroku 6 _ 5-53
Krok 6: Zablokování neuronu s největší odezvou a opakování od kroku 3. Výstup k-tého neuronu je dočasně nastaven na nulovou hodnotu a neuron nebude testován při dalším výběru maxima Krok 7: Adaptace vah u neuronu s největší odezvou. V tomto kroku se modifikují váhy spojení t ik a b ik podle vztahů ( : ()( : (? : () ( : ( ", ) ( : ( Krok 8: Odblokování jednotek zablokovaných v kroku 6 a opakování od kroku 2 _ 5-54
Kohonenova síť (Self Organizing Map SOM) _ 5-55
Kohonenova síť je jednovrstvá síť s dopředným šířením učení: bez učitele vstupní vektor: X = [x i,...,x N ] T, k výstupní hodnota neuronuu je definována jako vzdálenost mezi vstupním a váhovým Použití pro: vektorem, t.j. shlukování analýzu dat vytváření sémantických map aj. 5. Umělé neuronové sítě (' & ( & (* R & _ 5-56
Algoritmus (Kohonenova síť) 5. Umělé neuronové sítě Krok : Počáteční inicializace vah w ij a množiny Ne i (t ), která definuje sousednost okolo každého uzlu i =,2,,..., N. Krok 2: Přivedení vektoru X vektorem a váhovým = [x i,..., x N ] T na vstup sítě a výpočet vzdálenosti mezi vstupním vektorem každého neuronu podle vztahu q (' & ( & (* R & Krok 3: Výběr i-tého neuronu s nejmenší vzdáleností d i (tzv. vítězného neuronu) _ 5-57
Krok 4: Adaptace vah vítězného neuronu a všech neuronů k, pro které platí J k f (sousedí s i-tým neuronem) podle vztahu : () : () )p(+ ( : (,, J k f, H,2,J, kde œf 0#œf# je koeficient učení, jehož hodnota s rostoucím časem klesá Krok 5: Změna sousednosti J kf pro i=,2,..., N Krok 6: Opakování kroků 2-5 pro všechny vstupní vektory, dokud dochází ke změně vah. _ 5-58
vícevrstvá hierarchická neuronová síť Neocognitron Použití: např. rozpoznávání rukou psaných znaků Výhoda: schopnost správně rozpoznávat nejen naučené obrazy, ale i obrazy, které vzniknou částečným posunutím, otočením nebo jinou deformací _ 5-59
_ 5-60
Příklad použití: _ 5-6