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
- A neurális hálózatok tanulási szabályainak összehasonlítása
- A felügyelt tanulási algoritmusok osztályozása
- #1) Gradient Descent Learning
- #2) Sztochasztikus tanulás
- A felügyelet nélküli tanulási algoritmusok osztályozása
- #1) Hebbi tanulás
- #2) Versengő tanulás
- Mc Culloch-Pitts Neuron
- Hebbi tanulási algoritmus
- Példa a Hebbian tanulási szabályra
- Perceptron tanulási algoritmus
- Példa a Perceptron tanulási szabályra
- Widrow Hoff tanulási algoritmus
- Következtetés
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
- Gradient Descent
- 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
- Hebbi
- 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
.