Perceptrón

Perceptrón je špeciálnym prípadom formálneho neurónu predstavujúceho všeobecný výpočtový prvok všetkých neurónových sietí, v ktorom je vnútorný potenciál počítaný ako vážený súčet vstupov formula_1, 
formula_2 
a aktivačnou funkciou je sigmoida formula_3, 
formula_4, 
kde formula_5 je parameter strmosti (gain).
Perceptrón bol navrhnutý Frankom Rosenblattom a je určený na dichotomickú klasifikáciu, tj. rozdelenie do dvoch tried, pri ktorých sa predpokladá, že triedy sú lineárne separovateľné v príkladovom priestore. 
Nech je daná množina vektorov x v n-rozmernom priestore. O každom z týchto vektorov vieme, že určite patrí do triedy1 alebo triedy2. Pod lineárnou separovateľnosťou dvoch tried rozumieme situáciu, keď existuje možnosť oddeliť objekty v príkladovom priestore pomocou nadroviny napr.: priamka v 2-rozmernom alebo rovina v 3-rozmernom priestore. Príklad lineárnej separovateľnosti v rovine je na obrázku 
História.
V r. 1943 McCulloch a Pitts predstavili prvý model neuronóvej siete. Aplikovali sieť zloženú z tzv. formálnych neurónov na symbolickú logiku, na výroky zložené z elementárnych logických operácií (x AND y, x OR y, NOT x). Model McCullocha a Pittsa nie je schopný učenia, jeho parametre (váhové a prahové koeficienty) sú pevne nastavené tak, aby model vykonával požadovanú Boolovu funkciu (logickú spojku alebo konjuktívnu klauzulu). Neurónové siete zostrojené z týchto neurónov sa neučia (neadaptujú) tak, aby vykonávali požadovanú Boolovu funkciu sa používajú neuróny s vopred danými požadovanými vlastnosťami. 
V r. 1958 Frank Rosenblatt ukázal, že McCullochove-Pittsove siete s modifikovateľnými synaptickými váhami sa dajú natrénovať tak, aby vedeli rozpoznávať a klasifikovať objekty. Vymyslel pre ne názov “perceptróny”. Hlavná myšlienka jeho trénovacej procedúry je takáto: najskôr zaznamenajme odpoveď každého formálneho neurónu na daný podnet. Ak je odpoveď správna, nemodifikujme váhy. Ak je odpoveď daného neurónu nesprávna, potom modifikujme váhy všetkých aktivovaných vstupných synapsií, a to nasledovným spôsobom: ak má byť neurón aktívny a nie je, zväčšime ich, a naopak, ak má byť na výstupe neurónu 0 a nie je, zmenšime ich.
V r. 1969 Minsky a Papert vo svojej knihe "Perceptróny: úvod do výpočtovej geometrie" poukázali na obmedzenia perceptrónov. Ukázali, že tieto siete vôbec nie sú výpočtovo univerzálne a nedokážu riešiť všetky triedy problémov. Hlavne však išlo o to, že perceptróny nedokážu riešiť tzv. lineárne neseparovateľné problémy. Klasickým najjednoduchším príkladom zlyhania je logická funkcia XOR (vylučujúce alebo).
V r. 1986 autori Rumelhart, Hinton a Williams zaviedli pravidlo učenia metódou spätného šírenia sa chýb pre viacvrstvové perceptróny (angl. error back-propagation learning). Formálne neuróny v ich perceptrónoch však už nie sú jednoduché logické prepínače McCullochovho-Pittsovho typu, ale analógové elementy so spojitou vstupno-výstupnou funkciou (najčastejšie sigmoidálneho tvaru).
Klasifikácia.
Perceptrón môže byť diskrétny alebo lineárny, rozdiel je v tom, akým spôsobom sa zo vstupných dát produkuje výstup.
Topológia.
Perceptrón, ktorý bol navrhnutý Rosenblattom ako jednoduchý diskrétny perceptrón so svojím učiacim algoritmom má tri vrstvy a to: 
Spojenie medzi senzorovou vrstvou a asociatívnou má pevné váhy. Spojenie medzi asociatívnou vrstvou a výstupným neurónom je prepojené synapsiami s premenlivými váhami. Teda vstup do výstupného neurónu bol daný rovnicou formula_6
formula_7
kde formula_8 je počet neurónov v asociatívnej vrstve, formula_9 sú váhy medzi asociatívnou vrstvou a výstupným neurónom, kde neurón "i" je v asociatívnej vrstve a na vstupe je "j-ty" prvok množiny formula_10, formula_11 je stav "i"-teho neurónu a formula_12 je prah. Výstup prechádza prahovaním v zmysle konečného výstupu formula_13
formula_14
Je nutné poznamenať fakt, že jednoduchý perceptrón bol navrhnutý za cieľom klasifikácie do dvoch tried. V prípade elementárneho perceptrónu je separujúca nadrovina daná rovnicou 
formula_15
Z praktického hľadiska sa označuje vektor 
formula_16, 
vektor 
formula_17 
kde formula_8 je rozmer vektorov, teda počet neurónov v asociatívnej vrstve. Je potrebné poznamenať, že stále je formula_19 a formula_20.
Učenie.
Neurónové siete sa učia, tj. pomocou nejakého pravidla učenia si upravujú svoje váhy. Podľa toho akým spôsobom prebieha učenie môžeme neurónové siete rozdeliť na
Perceptrón je zástupcom sietí v ktorých učenie prebieha s učiteľom. Základná myšlienka takéhoto upravovania váh je taká, že sa perceptrónu prezentuje nejaký vstup, a on vráti výstup. Získaný
výstup sa porovná s očakávaný výstupom a vypočíta sa chyba, ktorú perceptrón spravil. Táto chyba sa potom použije na úpravu váh. 
formula_21
Kde formula_22 je i-ta váha, formula_23 je nejaký koeficient učenia, formula_24 je želaný výstup a formula_25 je získaný výstup, pričom formula_26 je i-ty komponent vstupu.
formula_27
Používa sa derivácia aktivačnej funkcie, pričom formula_28 je želaný výstup, formula_24 je získaný výstup a horné indexy formula_30 znamenajú “pre daný pattern” (konkrétny vstup).