Neurális hálózat tanulási szabályai – Perceptron és Hebbi tanulás

Ez a mélyreható bemutató a neurális hálózat tanulási szabályairól a Hebbi tanulás és a Perceptron tanulási algoritmust magyarázza el példákkal:

Az előző bemutatóban a mesterséges neurális hálózatról beszéltünk, amely egy nagyszámú összekapcsolt elem, az úgynevezett neuronok architektúrája.

Ezek a neuronok feldolgozzák a kapott bemenetet, hogy a kívánt kimenetet adják. A csomópontokat vagy neuronokat bemenetek, kapcsolati súlyok és aktiválási függvények kötik össze.

A neurális hálózat fő jellemzője a tanulási képesség. A neurális hálózatok ismert példákkal képzik magukat. Miután a hálózat betanult, felhasználható a probléma ismeretlen értékeinek megoldására.

=> Olvassa el a teljes gépi tanulás képzési sorozatot

A neurális hálózat különböző tanulási sémákon keresztül tanul, amelyeket felügyelt vagy nem felügyelt tanulásként kategorizálnak.

A felügyelt tanulási algoritmusokban a célértékek ismertek a hálózat számára. Az optimális teljesítmény érdekében megpróbálja csökkenteni a kívánt kimenet (cél) és a tényleges kimenet közötti hibát. A felügyelet nélküli tanulási algoritmusokban a célértékek ismeretlenek, és a hálózat saját maga tanul a bemenetben lévő rejtett minták azonosításával, klaszterek stb. kialakításával.

Az ANN 3 részből, azaz bemeneti, rejtett és kimeneti rétegből áll. Egyetlen bemeneti réteg és kimeneti réteg van, míg lehet, hogy nincs rejtett réteg vagy 1 vagy több rejtett réteg van jelen a hálózatban. E struktúra alapján az ANN-t egyrétegű, többrétegű, előrecsatolásos vagy rekurrens hálózatokba sorolják.

Fontos ANN-terminológia

Mielőtt osztályoznánk az ANN különböző tanulási szabályait, értsük meg az ANN-hez kapcsolódó néhány fontos terminológiát.

#1) Súlyok: Az ANN-ben minden egyes neuron a többi neuronhoz kapcsolati kapcsolatokon keresztül kapcsolódik. Ezek a kapcsolatok súlyt hordoznak. A súly információt tartalmaz a neuron bemeneti jeléről. A súlyokat és a bemeneti jelet a kimenethez használjuk. A súlyok jelölhetők mátrix formában, amelyet kapcsolati mátrixnak is neveznek.

Minden neuron kapcsolati súlyokon keresztül kapcsolódik a következő réteg minden egyes neuronjához. Ha tehát “n” csomópont van, és minden csomópontnak “m” súlya van, akkor a súlymátrix a következő lesz:

W1 az 1. csomópontból kiinduló súlyvektort jelenti. W11 az előző réteg 1. csomópontjától a következő réteg 1. csomópontjáig tartó súlyvektort jelenti. Hasonlóképpen, wij a súlyvektort jelenti az “i-edik” feldolgozó elemtől (neuron) a következő réteg “j-edik” feldolgozó eleméig.

#2) Előfeszítés: Az előfeszítést úgy adjuk hozzá a hálózathoz, hogy a bemeneti vektorba egy x (b) = 1 bemeneti elemet adunk. A torzítás egy súlyt is hordoz, amelyet w (b) jelöl.

A torzítás fontos szerepet játszik a neuron kimenetének kiszámításában. Az előfeszítés lehet pozitív vagy negatív. A pozitív előfeszítés növeli a nettó bemeneti súlyt, míg a negatív előfeszítés csökkenti a nettó bemenetet.

#3) Küszöbérték: Az aktiválási függvényben egy küszöbértéket használunk. A nettó bemenetet a küszöbértékkel hasonlítjuk össze, hogy megkapjuk a kimenetet. Az NN-ben az aktiválási függvényt a küszöbérték alapján határozzuk meg, és kiszámítjuk a kimenetet.

A küszöbérték:

#4) Tanulási sebesség: Ezt jelöli az alfa ? A tanulási ráta 0 és 1 között mozog. Az NN tanulási folyamata során a súlyok beállítására szolgál.

#5) Momentumtényező: Az eredmények gyorsabb konvergenciája érdekében adódik hozzá. A momentumtényezőt a súlyhoz adják hozzá, és általában a backpropagációs hálózatokban használják.

A neurális hálózatok tanulási szabályainak összehasonlítása

Tanulási módszerek -.> Gradient Descent Hebbian Competitive Stochastic
Architektúra típusa
||
Egyrétegű Feedforward ADALINE
Hopfield
Perceptron
Associatív
Memória
Hopfield
Lineáris. Vektor
Kvantálás
Multilayer Feed Forward Cascade
Correlation
Multilayer Feed
Forward
Radial Bias
Function
Neocognitron
Recurrent Recurrent Neural
Network
Bidirectional Auto
Associative
Memory
Brain-
. State- In-a- Box
Hopfield
Adaptív
Rezonanciaelmélet
Boltzmann
Gép
Cauchy
Gép

Az ANN különböző tanulási típusainak osztályozása az alábbiakban látható.

A felügyelt tanulási algoritmusok osztályozása

  1. Gradient Descent
  2. Stochasztikus

#1) Gradient Descent Learning

Ebben a tanulási típusban a hiba csökkentése a súlyok és a hálózat aktivációs függvényének segítségével történik. Az aktivációs függvénynek differenciálhatónak kell lennie.

A súlyok beállítása ebben a tanulásban az E hiba gradiensétől függ. A backpropagation szabály egy példa erre a tanulási típusra. Így a súlyok beállítása a következőképpen definiálható

#2) Sztochasztikus tanulás

Ebben a tanulásban a súlyok beállítása valószínűségi alapon történik.

A felügyelet nélküli tanulási algoritmusok osztályozása

  1. Hebbi
  2. versengő

#1) Hebbi tanulás

Ezt a tanulást Hebb javasolta 1949-ben. A súlyok korrelatív beállításán alapul. A bemeneti és kimeneti mintapárokhoz egy súlymátrixot, W-t társítunk.

A kimenet transzponálását vesszük a súlybeállításhoz.

#2) Versengő tanulás

Ez egy győztes mindent visz stratégia. Ebben a tanulási típusban, amikor egy bemeneti mintát küldünk a hálózatnak, a rétegben lévő összes neuron versenyez, és csak a győztes neuronoknál történik súlybeállítás.

Mc Culloch-Pitts Neuron

Az M-P neuron néven is ismert legkorábbi neurális hálózat, amelyet 1943-ban fedeztek fel. Ebben a modellben a neuronok kapcsolati súlyokkal vannak összekötve, és az aktivációs függvényt binárisan használják. A küszöbérték határozza meg, hogy a neuron tüzel-e vagy sem.

Az M-P neuron funkciója:

Hebbi tanulási algoritmus

A Hebb-hálót Donald Hebb 1949-ben állapította meg. Hebb szabálya szerint a súlyok a bemenet és a kimenet szorzatával arányosan növekednek. Ez azt jelenti, hogy egy Hebb-hálózatban, ha két neuron összekapcsolódik, akkor az ezekhez a neuronokhoz tartozó súlyok a szinaptikus rés változásával növelhetők.

Ez a hálózat bipoláris adatokra alkalmas. A Hebb-tanulási szabályt általában logikai kapuknál alkalmazzák.

A súlyok frissítése a következőképpen történik:

W (új) = w (régi) + x*y

Tréning algoritmus a Hebb-tanulási szabályhoz

Az algoritmus képzési lépései a következők:

  • Először a súlyokat nullára állítjuk, i.azaz w =0 minden i =1-től n-ig terjedő bemenetre, és n a bemeneti neuronok teljes száma.
  • Legyen s a kimenet. A bemenetek aktiválási függvényét általában identitásfüggvényként állítjuk be.
  • A kimenet aktiválási függvényét szintén y= t.
  • A súlybeállítások és a torzítás beállítása:
  • A 2-4. lépést minden bemeneti vektorra és kimenetre megismételjük.

Példa a Hebbian tanulási szabályra

Végrehajtjuk a logikai ÉS függvényt kétpólusú bemenetekkel a Hebbian tanulás segítségével

X1 és X2 a bemenetek, b az 1-nek vett torzítás, a célérték a bemeneteken végzett logikai ÉS művelet kimenete.

.

Bemenet Bemenet Bias Cél
X1 X2 b y
1 1 1 1 1
1 -1 1 -1
-1 1 1 -1
-1 -1 1 -1

#1) Kezdetben, a súlyok nullára vannak állítva, és a torzítás is nulla.

W1=w2=b=0

#2) Az első bemeneti vektor = és a célérték 1.

Az új súlyok a következők lesznek:

#3) A fenti súlyok a végleges új súlyok. A második bemenet átadásakor ezek lesznek a kezdeti súlyok.

#4) Vegyük a második bemenetet = . A célérték -1.

#5) Hasonlóan kiszámítjuk a többi bemenetet és súlyokat.

Az alábbi táblázat mutatja az összes bemenetet:

Hebb-háló az AND függvényhez

Perceptron tanulási algoritmus

A perceptron hálózatok egyrétegű feed-forward hálózatok. Ezeket single perceptron hálózatoknak is nevezik. A Perceptron egy bemeneti rétegből, egy rejtett rétegből és egy kimeneti rétegből áll.

A bemeneti réteg a rejtett réteghez súlyokon keresztül kapcsolódik, amelyek lehetnek gátló vagy gerjesztő vagy nulla (-1, +1 vagy 0). Az alkalmazott aktiválási függvény egy bináris lépésfüggvény a bemeneti réteg és a rejtett réteg számára.

A kimenet

Y= f (y)

Az aktiválási függvény:

A súlyok frissítése a rejtett réteg és a kimeneti réteg között történik a célkimenetnek való megfelelés érdekében. A hiba kiszámítása a tényleges kimenet és a kívánt kimenet alapján történik.

Ha a kimenet megfelel a célnak, akkor nem történik súlyfrissítés. A súlyokat kezdetben 0-ra vagy 1-re állítjuk, és egymás után állítjuk be, amíg az optimális megoldást meg nem találjuk.

A hálózat súlyai kezdetben tetszőleges értékekre állíthatók. A Perceptron tanulás olyan súlyvektorhoz konvergál, amely minden bemeneti képzési mintára helyes kimenetet ad, és ez a tanulás véges számú lépésben történik.

A Perceptron szabály bináris és bipoláris bemenetekre egyaránt használható.

Tanulási szabály egy kimenetű Perceptronhoz

#1) Legyen “n” képzési bemeneti vektor és x (n) és t (n) a célértékekhez tartozik.

#2) Inicializáljuk a súlyokat és a torzítást. Állítsuk őket nullára a könnyebb számítás érdekében.

#3) Legyen a tanulási ráta 1.

#4) A bemeneti réteg identikus aktiválási függvénnyel rendelkezik, tehát x (i)= s ( i).

#5) A hálózat kimenetének kiszámításához:

#6) Az aktiválási függvényt alkalmazzuk a háló bemenetére, hogy megkapjuk a kimenetet.

#7) Most a kimenet alapján összehasonlítjuk a kívánt célértéket (t) és a tényleges kimenetet.

#8) Folytatjuk az iterációt, amíg nincs súlyváltozás. Ha ez a feltétel teljesül, álljunk le.

Tanulási szabály a több kimenetű perceptronhoz

#1) Legyen “n” képzési bemeneti vektor, és x (n) és t (n) a célértékekhez tartozik.

#2) Inicializáljuk a súlyokat és az előfeszítést. Állítsuk őket nullára a könnyebb számítás érdekében.

#3) Legyen a tanulási ráta 1.

#4) A bemeneti réteg identitás aktiválási függvénnyel rendelkezik, így x (i)= s ( i).

#5) A kimenet kiszámításához minden egyes kimeneti vektor j= 1-től m-ig a háló bemenete:

#6) Az aktiválási függvényt alkalmazzuk a háló bemenetére, hogy kimenetet kapjunk.

#7) Most a kimenet alapján hasonlítsuk össze a kívánt célértéket (t) és a tényleges kimenetet, és végezzünk súlymódosítást.

w az i-edik bemenet és a j-edik kimeneti neuron közötti kapcsolati kapcsolatok súlyvektora, t pedig a j kimeneti egység célkimenete.

#8) Folytassuk az iterációt, amíg nincs súlyváltozás. Álljunk le, ha ez a feltétel teljesül.

Példa a Perceptron tanulási szabályra

Az AND függvény megvalósítása egy Perceptron hálózat segítségével kétpólusú bemenetek és kimenet esetén.

A bemeneti minta x1, x2 és bias b. Legyenek a kezdeti súlyok 0 és a bias 0. A küszöbértéket nullára állítjuk, a tanulási ráta pedig 1 legyen.

AND Gate

.

X1 X2 Target
1 1 1
1 -1 -1
-1 1 -1
-1 -1 -1

#1) X1=1 , X2= 1 és célkimenet = 1
W1=w2=wb=0 és x1=x2=b=1, t=1
Háló bemenet= y =b + x1*w1+x2*w2 = 0+1*0 +1*0 =0

Mivel a küszöbérték tehát nulla:

Azt kapjuk, hogy a kimenet = 0. Most ellenőrizzük, hogy a kimenet (y) = cél (t).

y = 0, de t= 1, ami azt jelenti, hogy ezek nem azonosak, ezért súlyfrissítésre kerül sor.

Az új súlyok 1, 1 és 1 az első bemeneti vektor bemutatása után.

#2) X1= 1 X2= -1 , b= 1 és cél = -1, W1=1 ,W2=2, Wb=1
Háló bemenet= y =b + x1*w1+x2*w2 = 1+1*1 + (-1)*1 =1
A nettó kimenet bemenet= 1 esetén 1 lesz:

Ezért ismét a cél = -1 nem egyezik a tényleges kimenettel =1. Súlyfrissítésre kerül sor.

Most az új súlyok w1 = 0 w2 =2 és wb =0

Hasonlóképpen, a következő bemeneti sorozattal folytatva a következő táblázatot kapjuk:

Az EPOCHS a rendszerbe táplált bemeneti minták ciklusa, amíg nincs szükség súlyváltozásra és az iteráció leáll.

Widrow Hoff tanulási algoritmus

Más néven Delta-szabályként is ismert, a lineáris regresszió gradiens ereszkedési szabályát követi.

A kapcsolati súlyokat a cél- és a kimeneti érték közötti különbséggel frissíti. Ez a legkisebb négyzetes átlagú tanulási algoritmus, amely a felügyelt tanulási algoritmus kategóriájába tartozik.

Ezt a szabályt követi az ADALINE (Adaptív lineáris neurális hálózatok) és a MADALINE. A Perceptronnal ellentétben az Adaline hálózatok iterációi nem állnak meg, hanem a legkisebb átlagos négyzetes hiba csökkentésével konvergál. A MADALINE egynél több ADALINE hálózat.

A delta tanulási szabály motívuma a kimenet és a célvektor közötti hiba minimalizálása.

A súlyok az ADALINE hálózatokban a következők szerint frissülnek:

Least mean square error = (t- yin)2, az ADALINE akkor konvergál, amikor a legkisebb átlagos négyzetes hibát elérjük.

Következtetés

Az oktatóanyagban a két algoritmust, azaz a Hebb-tanulási szabályt és a Perceptron-tanulási szabályt tárgyaltuk. A Hebb-szabály azon a szabályon alapul, hogy a súlyvektor a bemeneti és a tanulási jellel, azaz a kimenettel arányosan növekszik. A súlyokat úgy növeljük, hogy a bemenet és a kimenet szorzatát hozzáadjuk a régi súlyhoz.

W (új) = w (régi) +x*y

A Hebb-szabályok alkalmazása a mintaasszociációs, osztályozási és kategorizálási problémákban rejlik.

A Perceptron tanulási szabály mind az egy kimenetű, mind a több kimenetű osztályok hálózatára alkalmazható. A perceptron hálózat célja, hogy a bemeneti mintát egy adott tagosztályba sorolja. A bemeneti neuronok és a kimeneti neuronok súlyokkal rendelkező kapcsolatokon keresztül kapcsolódnak.

A súlyokat úgy állítjuk be, hogy a tényleges kimenetet a célértékkel egyeztessük. A tanulási ráta 0 és 1 között van beállítva, és ez határozza meg a súlyok skálázhatóságát.

A súlyok frissítése a következők szerint történik:

A gépi tanulási algoritmusok ezeken a tanulási szabályokon kívül számos más módszerrel is tanulnak, pl. felügyelt, felügyelet nélküli, megerősítés. Néhány más elterjedt ML algoritmus: Back Propagation, ART, Kohonen Self Organizing Maps, stb.

Reméljük, hogy élvezted a gépi tanulás sorozat összes bemutatóját!!!

=> Látogass el ide az exkluzív gépi tanulás sorozatért

.

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.