neural network learning rules perceptron hebbian learning
Tento podrobný výukový program o pravidlách výučby neurónových sietí vysvetľuje hebbovské učenie a algoritmus učenia perceptronu s príkladmi:
V našom predchádzajúcom tutoriáli sme diskutovali o Umelá neurónová sieť čo je architektúra veľkého množstva vzájomne prepojených prvkov nazývaných neuróny.
Tieto neuróny spracúvajú prijatý vstup, aby poskytli požadovaný výstup. Uzly alebo neuróny sú spojené vstupmi, váhami spojenia a aktivačnými funkciami.
Hlavnou charakteristikou neurónovej siete je jej schopnosť učiť sa. Neurónové siete sa trénujú pomocou známych príkladov. Len čo sa sieť dostane do školenia, môže sa použiť na riešenie neznámych hodnôt problému.
=> Prečítajte si celú sériu školení o strojovom učení
Neurónová sieť sa učí prostredníctvom rôznych učebných schém, ktoré sú kategorizované ako učenie pod dohľadom alebo bez dozoru.
V algoritmoch supervidovaného učenia sú cieľové hodnoty známe v sieti. Snaží sa znížiť chybu medzi požadovaným výstupom (cieľ) a skutočným výstupom pre optimálny výkon. V algoritmoch učenia bez dozoru nie sú cieľové hodnoty známe a sieť sa učí sama identifikáciou skrytých vzorov vo vstupe vytvorením zhlukov atď.
ANN sa skladá z 3 častí, t. J. Vstupnej, skrytej vrstvy a výstupnej vrstvy. Existuje jedna vstupná vrstva a výstupná vrstva, zatiaľ čo v sieti nemusí byť žiadna skrytá vrstva alebo 1 alebo viac skrytých vrstiev. Na základe tejto štruktúry je ANN klasifikovaný do jednej vrstvy, viacvrstvových, dopredných alebo opakujúcich sa sietí.
Čo sa dozviete:
- Dôležitá terminológia ANN
- Porovnanie pravidiel učenia sa neurónových sietí
- Záver
Dôležitá terminológia ANN
Predtým, ako klasifikujeme rôzne pravidlá výučby v ANN, pochopme niektoré dôležité terminológie súvisiace s ANN.
# 1) Hmotnosti: V ANN je každý neurón spojený s ostatnými neurónmi spojovacími spojmi. Tieto odkazy majú váhu. Váha má informácie o vstupnom signáli do neurónu. Váhy a vstupný signál sa používajú na získanie výstupu. Váhy je možné označiť vo forme matice, ktorá sa tiež nazýva matica spojenia.
Každý neurón je spojený s každým ďalším neurónom nasledujúcej vrstvy prostredníctvom váh spojenia. Ak teda existujú uzly „n“ a každý uzol má hmotnosti „m“, potom bude matica hmotnosti:
W1 predstavuje váhový vektor začínajúci od uzla 1. W11 predstavuje váhový vektor z 1svuzol predchádzajúcej vrstvy k 1svuzol nasledujúcej vrstvy. Podobne, wij predstavuje váhový vektor od „i-tého“ procesného prvku (neurónu) po „j-tý“ procesný prvok nasledujúcej vrstvy.
# 2) Predpätie : Predpätie sa pridá do siete pridaním vstupného prvku x (b) = 1 do vstupného vektora. Vychýlenie tiež nesie váhu označenú ako w (b).
Predpätie zohráva dôležitú úlohu pri výpočte produkcie neurónu. Predpätie môže byť buď pozitívne alebo negatívne. Pozitívne skreslenie zvyšuje čistú váhu vstupu, zatiaľ čo záporné skreslenie znižuje čistý vstup.
# 3) Prahová hodnota: V aktivačnej funkcii sa používa prahová hodnota. Čistý vstup sa porovnáva s prahovou hodnotou, aby sa získal výstup. V NN je aktivačná funkcia definovaná na základe prahovej hodnoty a je vypočítaný výkon.
Prahová hodnota je:
# 4) Miera učenia : Je označená alfou?. Rýchlosť učenia sa pohybuje od 0 do 1. Používa sa na prispôsobenie hmotnosti počas procesu učenia NN.
# 5) Faktor hybnosti : Je pridaný pre rýchlejšiu konvergenciu výsledkov. Faktor hybnosti sa pripočíta k váhe a zvyčajne sa používa v sieťach spätného šírenia.
Porovnanie pravidiel učenia sa neurónových sietí
Metódy učenia -> | Zostupný zostup | Hebb | Konkurencieschopný | Stochastické | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|
EPOCH 2 | |||||||||||
Typ architektúry || | |||||||||||
Dopad na jednu vrstvu | ADALÍN Hopfield Perceptron | Asociatívne Pamäť Hopfield | Lineárny vektor Kvantovanie | ||||||||
Viacvrstvový posun vpred | Kaskáda Korelácia Viacvrstvové krmivo Vpred Radial Bias Funkcia | Neokognitrón | |||||||||
Opakujúci | Opakujúci sa neurálny Sieť | Obojsmerne automaticky Asociatívne Pamäť Mozog - štát - v krabici Hopfield | Adaptívne Teória rezonancie | Boltzmann Stroj Cauchy Stroj |
Klasifikácia rôznych typov výučby ANN je uvedená nižšie.
Klasifikácia učených algoritmov pod dohľadom
- Zostupný zostup
- Stochastické
# 1) Gradient Descent Learning
Pri tomto type učenia sa redukcia chýb uskutočňuje pomocou váh a aktivačnej funkcie siete. Aktivačná funkcia by mala byť odlíšiteľná.
Úprava váh závisí od chybového gradientu E v tomto učení. Príkladom tohto typu učenia je pravidlo spätného šírenia. Úprava hmotnosti je teda definovaná ako
# 2) Stochastické učenie
Pri tomto učení sa váhy upravujú pravdepodobnostným spôsobom.
Klasifikácia učiacich sa algoritmov bez dozoru
- Hebb
- Konkurencieschopný
# 1) Hebbovské učenie
Toto učenie navrhol Hebb v roku 1949. Je založené na korelačnej úprave váh. Páry vstupných a výstupných vzorov sú spojené s váhovou maticou, W.
Transpozícia výstupu sa použije na nastavenie hmotnosti.
aká je najlepšia vr aplikácia
# 2) Konkurenčné učenie
Je to víťaz berie celú stratégiu. Pri tomto type učenia, keď sa do siete pošle vstupný vzor, všetky neuróny vo vrstve súťažia a iba víťazné neuróny majú úpravy hmotnosti.
Mc Culloch-Pitts Neuron
Toto je tiež známy ako M-P Neuron, je to najskoršia neurónová sieť, ktorá bola objavená v roku 1943. V tomto modeli sú neuróny spojené váhami spojenia a aktivačná funkcia je použitá v binárnom formáte. Prahová hodnota sa používa na určenie, či bude neurón horieť alebo nie.
Funkcia neurónu M-P je:
Hebbian Algorithm
Sieť Hebb uviedol Donald Hebb v roku 1949. Podľa Hebbovej vlády sa zistí, že váhy sa zvyšujú úmerne s produktom vstupu a výstupu. Znamená to, že v sieti Hebb, ak sú dva neuróny vzájomne prepojené, potom možno hmotnosti spojené s týmito neurónmi zvýšiť zmenami v synaptickej medzere.
Táto sieť je vhodná pre bipolárne dáta. Hebbské pravidlo učenia sa všeobecne uplatňuje na logické brány.
Váhy sa aktualizujú ako:
W (nové) = w (staré) + x * y
Výcvikový algoritmus pre učenie hebrejčiny
Výcvikové kroky algoritmu sú tieto:
- Na začiatku sú váhy nastavené na nulu, t. J. W = 0 pre všetky vstupy i = 1 až n a n je celkový počet vstupných neurónov.
- Nech s je výstup. Aktivačná funkcia pre vstupy sa vo všeobecnosti nastavuje ako funkcia identity.
- Aktivačná funkcia pre výstup je tiež nastavená na y = t.
- Úpravy hmotnosti a predpätie sú upravené na:
- Kroky 2 až 4 sa opakujú pre každý vstupný vektor a výstup.
Príklad pravidla pre učenie hebrejčiny
Implementujme logickú funkciu AND s bipolárnymi vstupmi pomocou Hebbian Learning
X1 a X2 sú vstupy, b je odchýlka braná ako 1, cieľová hodnota je výstup logickej operácie AND cez vstupy.
Vstup | Vstup | Zaujatosť | Cieľ |
---|---|---|---|
X1 | X2 | b | Y. |
1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 |
-1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 |
# 1) Na začiatku sú váhy nastavené na nulu a predpätie je tiež nastavené na nulu.
W1 = w2 = b = 0
#dva) Prvý vstupný vektor sa berie ako [x1 x2 b] = [1 1 1] a cieľová hodnota je 1.
Nové váhy budú:
# 3) Vyššie uvedené hmotnosti sú konečné nové hmotnosti. Keď prejde druhý vstup, stanú sa z nich počiatočné váhy.
# 4) Vezmite druhý vstup = [1 -1 1]. Cieľ je -1.
# 5) Podobne sa vypočítajú ďalšie vstupy a váhy.
Nasledujúca tabuľka zobrazuje všetky vstupy:
Vstupy | Zaujatosť | Cieľový výstup | Zmeny hmotnosti | Zmeny zaujatosti | Nové váhy | ||||
---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | Y. | ? w1 | ? w2 | ? b | W1 | W2 | b |
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | -1 | 1 | -1 | 0 | dva | 0 |
-1 | 1 | 1 | -1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | 1 | 1 | -1 | dva | dva | -dva |
Hebb Net pre funkciu AND
Algoritmus učenia Perceptron
Siete Perceptron sú jednovrstvové siete posielania dopredu. Nazývajú sa tiež Single Perceptron Networks. Perceptron sa skladá zo vstupnej vrstvy, skrytej vrstvy a výstupnej vrstvy.
Vstupná vrstva je spojená so skrytou vrstvou prostredníctvom váh, ktoré môžu byť inhibičné alebo vzrušujúce alebo nulové (-1, +1 alebo 0). Použitá aktivačná funkcia je funkcia binárneho kroku pre vstupnú vrstvu a skrytú vrstvu.
Výstup je
Y = f (y)
Aktivačná funkcia je:
Aktualizácia hmotnosti prebieha medzi skrytou vrstvou a výstupnou vrstvou, aby zodpovedala cieľovému výstupu. Chyba sa počíta na základe skutočného a požadovaného výkonu.
Ak sa výstup zhoduje s cieľom, aktualizácia hmotnosti sa neuskutoční. Váhy sa spočiatku nastavia na 0 alebo 1 a postupne sa upravujú, kým sa nenájde optimálne riešenie.
Váhy v sieti je možné pôvodne nastaviť na ľubovoľné hodnoty. Perceptronové učenie bude konvergovať na váhový vektor, ktorý poskytuje správny výstup pre všetky vstupné tréningové vzorce a toto učenie sa deje v konečnom počte krokov.
Pravidlo Perceptron možno použiť pre binárne aj bipolárne vstupy.
Pravidlo učenia pre jeden výstup Perceptron
# 1) Nechajte cvičné vstupné vektory „n“ a x (n) at (n) sú spojené s cieľovými hodnotami.
#dva) Inicializujte váhy a skreslenie. Nastavte ich na nulu pre ľahký výpočet.
# 3) Nech je miera učenia 1.
# 4) Vstupná vrstva má funkciu aktivácie identity, takže x (i) = s (i).
# 5) Výpočet výstupu zo siete:
# 6) Aktivačná funkcia sa aplikuje na čistý vstup, aby sa získal výstup.
# 7) Teraz na základe výstupu porovnajte požadovanú cieľovú hodnotu (t) a skutočný výstup.
# 8) Pokračujte v iterácii, kým nedôjde k zmene hmotnosti. Po dosiahnutí tejto podmienky prestaňte.
Pravidlo učenia pre viacnásobný výstup Perceptron
# 1) Nechajte cvičné vstupné vektory „n“ a x (n) at (n) sú spojené s cieľovými hodnotami.
#dva) Inicializujte váhy a skreslenie. Nastavte ich na nulu pre ľahký výpočet.
# 3) Nech je miera učenia 1.
# 4) Vstupná vrstva má funkciu aktivácie identity, takže x (i) = s (i).
# 5) Na výpočet výstupu každého výstupného vektora od j = 1 do m je čistý vstup:
# 6) Aktivačná funkcia sa aplikuje na čistý vstup, aby sa získal výstup.
# 7) Teraz na základe výstupu porovnajte požadovanú cieľovú hodnotu (t) a skutočný výkon a vykonajte úpravy hmotnosti.
w je váhový vektor spojovacích väzieb medzi i-tým vstupným a j-tým výstupným neurónom at je cieľový výstup pre výstupnú jednotku j.
# 8) Pokračujte v iterácii, kým nedôjde k zmene hmotnosti. Po dosiahnutí tejto podmienky prestaňte.
Príklad pravidla učenia Perceptron
Implementácia funkcie AND pomocou siete Perceptron pre bipolárne vstupy a výstupy.
Vstupný vzor bude x1, x2 a skreslenie b. Počiatočné váhy nech sú 0 a predpätie 0. Prahová hodnota je nastavená na nulu a rýchlosť učenia je 1.
A brána
X1 | X2 | Cieľ |
---|---|---|
1 | 1 | 1 |
1 | -1 | -1 |
-1 | 1 | -1 |
-1 | -1 | -1 |
# 1) X1 = 1, X2 = 1 a cieľový výstup = 1
W1 = w2 = wb = 0 a x1 = x2 = b = 1, t = 1
Čistý vstup = y = b + x1 * w1 + x2 * w2 = 0 + 1 * 0 + 1 * 0 = 0
Pretože prahová hodnota je teda nulová:
Odtiaľto dostaneme, výstup = 0. Teraz skontrolujte, či je výstup (y) = cieľ (t).
y = 0, ale t = 1, čo znamená, že nie sú rovnaké, preto dochádza k aktualizácii hmotnosti.
Nové váhy sú 1, 1 a 1 po predstavení prvého vstupného vektora.
#dva) X1 = 1 X2 = -1, b = 1 a cieľ = -1, W1 = 1, W2 = 2, Wb = 1
Čistý vstup = y = b + x1 * w1 + x2 * w2 = 1 + 1 * 1 + (-1) * 1 = 1
Čistý výstup pre vstup = 1 bude 1 z:
Preto sa cieľ = -1 nezhoduje so skutočným výstupom = 1. Prebieha aktualizácia hmotnosti.
Teraz sú nové váhy w1 = 0 w2 = 2 a wb = 0
Podobne pokračovaním v ďalšej množine vstupov dostaneme nasledujúcu tabuľku:
Vstup | Zaujatosť | Cieľ | Čistý vstup | Vypočítaný výstup | Zmeny hmotnosti | Nové váhy | |||||
---|---|---|---|---|---|---|---|---|---|---|---|
X1 | X2 | b | t | jin | Y. | ? w1 | ? w2 | ? b | W1 | W2 | wb |
EPOCH 1 | |||||||||||
1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | -1 | 1 | -1 | 1 | 1 | -1 | 1 | -1 | 0 | dva | 0 |
-1 | 1 | 1 | -1 | dva | 1 | 1 | -1 | -1 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 | -1 |
1 | -1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | 1 | 1 | -1 | -1 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
-1 | -1 | 1 | -1 | -3 | -1 | 0 | 0 | 0 | 1 | 1 | -1 |
EPOCHS sú cyklom vstupných vzorov privádzaných do systému, kým nie je potrebná zmena hmotnosti a kým sa iterácia nezastaví.
Algoritmus výučby Widrow Hoff
Taktiež známy ako Delta pravidlo , riadi sa pravidlom gradientového zostupu pre lineárnu regresiu.
Aktualizuje váhy spojenia s rozdielom medzi cieľovou a výstupnou hodnotou. Je to najmenší priemerný štvorcový výučbový algoritmus spadajúci do kategórie dohliadaného výučbového algoritmu.
Za týmto pravidlom nasledujú ADALINE (Adaptive Linear Neural Networks) a MADALINE. Na rozdiel od Perceptronu sa iterácie sietí Adaline nezastavujú, ale konvergujú znížením najmenšej strednej chyby štvorca. MADALINE je sieť viac ako jedného ADALINE.
Motívom pravidla delta learning je minimalizovať chybu medzi výstupom a cieľovým vektorom.
Váhy v sieťach ADALINE sú aktualizované o:
Najmenej stredná štvorcová chyba = (t- yv)dva, ADALINE konverguje, keď sa dosiahne najmenšia stredná chyba štvorca.
Záver
V tomto tutoriáli sme diskutovali o týchto dvoch algoritmoch, t. J. Hebbian Learning Rule a Perceptron Learning Rule. Hebbovo pravidlo je založené na pravidle, že váhový vektor sa zvyšuje úmerne so vstupným a učiacim sa signálom, tj. Výstupom. Váhy sa zvyšujú pripočítaním súčinu vstupu a výstupu k starej hmotnosti.
W (nové) = w (staré) + x * y
Uplatňovanie pravidiel Hebb spočíva v problémoch asociácie, klasifikácie a kategorizácie vzorov.
Pravidlo učenia Perceptron je možné použiť na sieť s jedným výstupom aj s viacerými triedami výstupov. Cieľom perceptrónovej siete je klasifikovať vstupný vzor do konkrétnej členskej triedy. Vstupné neuróny a výstupný neurón sú spojené prostredníctvom väzieb s váhami.
Váhy sú upravené tak, aby zodpovedali skutočnému výstupu s cieľovou hodnotou. Rýchlosť učenia je nastavená od 0 do 1 a určuje škálovateľnosť váh.
Váhy sa aktualizujú podľa:
Okrem týchto pravidiel učenia sa algoritmy strojového učenia učia prostredníctvom mnohých ďalších metód, napríklad Supervised, Unsupervised, Reinforcement. Niektoré z ďalších bežných algoritmov ML sú Back Propagation, ART, Kohonen Self Organizing Maps atď.
c ++ generátor náhodných čísel medzi dvoma číslami
Dúfame, že sa vám páčili všetky návody z tejto série strojového učenia !!
=> Navštívte tu exkluzívnu sériu strojového učenia
Odporúčané čítanie
- Kompletný sprievodca umelou neurónovou sieťou v strojovom učení
- Typy strojového učenia: Supervízované vs.
- Data Mining vs. Machine Learning vs. Artificial Intelligence vs. Deep Learning
- Testovanie zabezpečenia siete a najlepšie nástroje zabezpečenia siete
- 11 najpopulárnejších softvérových nástrojov pre strojové učenie v roku 2021
- Výukový program pre strojové učenie: Úvod do ML a jeho aplikácií
- 15 najlepších nástrojov na sieťové skenovanie (sieťový a IP skener) z roku 2021
- 30 najlepších nástrojov na testovanie siete (nástroje na diagnostiku výkonu siete)