Perceptron
Přenosové funkce
Rosenblattův perceptron • Rosenblatt – r. 1958. Inspirace lidským okem • Podle fyziologického vzoru je třívrstvá: • Vstupní vrstva – rozvětvovací – jejím úkolem je mapování dvourozměrného pole čidel na jednorozměrný vektor přenosových elementů • Druhá vrstva – detektory rysů – detekce příznaků (démony) • Třetí vrstva – rozpoznávače vzorů
• Váhy na první a druhé vrstvě jsou pevné, váhy na třetí nastavujeme při učení (proto tuto vrstvu počítáme mezi jednovrstvé, i když jsou zde tři vrstvy)
Rosenblattův perceptron
Rosenblattův perceptron • Vlastní procesorové elementy se liší podle vrstev (další obrázek) • Přenosová charakteristika neuronu perceptronové vrstvy je následující: výstup je nulový, je-li vážený součet všech jeho vstupů nulový nebo záporný. V opačném případě je výstup roven jedné (Heavisideova aktivační funkce)
Rosenblattův perceptron – základní prvky
Perceptron Rozdíl mezi McCulloch-Pittsovým perceptronem a perceptronem podle Rosenblatta lze vyjádřit takto: Rosenblatt = McCulloch-Pitts + učící algoritmus
Učící algoritmus perceptronu MP perceptron – zjednodušený Rosenblattův (základem je vždy McCulloch-Pittsův perceptron)
Učící algoritmus perceptronu
Učící algoritmus perceptronu
je chyba perceptronu (odchylka jeho skutečného binárního výstupu y od požadovaného d, sj je jeho vnitřní potenciál Symbol η značí učící krok (učící koeficient nabývá hodnot <0,1)
Geometrická interpretace učení
Geometrická interpretace učení – perceptron naučený pro klasifikaci
Lineárně separovatelné a neseparovatelné množiny (XOR funkce, kritika neuronových sítí 1969) Funkce OR – lineárně separabilní Funkce XOR – není lineárně separabilní, není možné řešit pomocí jednoduchého perceptronu – kritika neuronových sítí Později bylo dokázáno, že libovolná transformace může být provedena neuronovou sítí s alespoň třemi vrstvami – Kolmogorovův teorém
ADALINE (Adaptive Linear Neuron)
ADALINE (Adaptive Linear Neuron) • Zatímco u klasického perceptronu je vstupem do učícího bloku dvouhodnotový výstup neuronu je u ADALINE vstupem vnitřní potenciál neuronu • Učící algoritmus minimalizuje Euklidovu vzdálenost požadované odezvy sítě a vnitřního potenciálu neuronu, tedy střední kvadratickou odchylku (LMS-Least Mean Squares) • Tomuto algoritmu se také říká Widrow-Hoffovo delta pravidlo (jde o gradientní metodu)
Hopfieldova síť • Jednovrstvá síť, zpětnovazební (rekurzivní) a binární • Neuronem Hopfieldovy sítě je klasický McCulloh-Pitsův perceptron • Skládá se z tolika neuronů, kolik má vstupů (pokud např. učíme síť obrázky, odpovídá každý pixel jednomu neuronu • Výstup každého neuronu se vede zpět na vstupy ostatních neuronů přes synaptické váhy wij (tak vznikají zpětnovazebné smyčky) – tím vzniká diagonálně symetrická matice vah (váhy na spojích z jednoho do druhého neuronu jsou stejné v obou směrech • Práh je nulový • Všechny signály jsou binární (nabývají hodnot 0,1 nebo –1,+1) • Hopfieldova síť patří mezi asociativní paměti. Její odpovědí na předložený vzor je přímo nalezený vzor
Hopfieldova síť
Hopfieldova síť – jiné znázornění (funkčně stejné s předchozím)
Hopfieldova síť • Vstupy x0,x1, …,xN-1 jsou vstupy sítě, µ0, µ1, …, µN-1 jsou stavy v jednotlivých časových krocích, které se v následujícím kroku stávají opět vstupy. Výstupy y0,y1, …yN-1 jsou po téměř celou dobu funkce sítě neaktivní. To se změní až po dosažení stabilního stavu při vybavování, kdy se jejich hodnota nastaví na µ0, µ1, …, µN-1. Vybavování je iteračním procesem, a proto je smysluplným výstupem až stav neuronů po posledním časovém kroku
Hopfieldova síť – učení •
•
Pro každý vzor vytvoříme dílčí matici dimenze NxN (N je počet vstupů). Tuto matici tvoří prvky, které vzniknou vynásobením i-tého vstupu s j-tým výstupem (je-li i=j, je prvek nulový). Výsledná čtvercová matice vah vznikne jako součet všech dílčích matic jednotlivých vzorů, kterých je M Používá se Hammingova metrika (součet absolutních hodnot rozdílu sobě odpovídajících vektorových souřadnic)
Hopfieldova síť – vybavování
Hopfieldova síť – příklad • Příklad – Hopfieldova síť s 120 neurony (obrazce 12x10 = 120 bodů) • Trénování bude pomocí 1202=14400 vahami • Bylo natrénováno 8 vzorů. Ty byly vybrány tak, aby mezi vzory byla velká Hammingova vzdálenost (jinak by si byly vzory podobné a docházelo k chybám při vybavování)
Hopfieldova síť – příklad • Vybavování – trojka, která byla z 25% poškozena (náhodně bylo invertováno 30 pixelů). • Potom takto poškozený obraz by přiložen na vstup – jednotlivé fáze iterace jsou patrné z obrázku. • Při vybavování hledá Hopfieldova síť ten vzor, který má nejmenší Hammingovu vzdálenost od vstupního obrazu