390 likes | 511 Views
I ntelligens R endszerek E lmélete. 8. : Mesterséges neurális hálózatok felügyelt tanítása hiba visszaterjesztő „ Back error Propagation” algoritmussal. A felügyelt tanítás paraméterei Versengéses tanulás Klasszikus példák tanulságai Kohonen paradigma Hopfield paradigma.
E N D
Intelligens Rendszerek Elmélete 8 Óbudai Egyetem, NIK Dr. Kutor László
: Mesterséges neurális hálózatok felügyelt tanítása hiba visszaterjesztő „Back error Propagation” algoritmussal • A felügyelt tanítás paraméterei • Versengéses tanulás • Klasszikus példák tanulságai • Kohonen paradigma • Hopfield paradigma http://nik.uni-obuda.hu/mobil Óbudai Egyetem, NIK Dr. Kutor László
A tanító adatok összeállítása. Feladatspecifikus neurális hálózat (paradigma) kiválasztása. A hálózat jellemzőinek (a processzorok átviteli függvényének, a processzorok számának, a tanítási módszereknek és paramétereknek, valamint a kezdeti súlymátrix értékeinek) kiválasztása. Teljesítmény mérő módszer kiválasztása Tanítás és tesztelés, amíg a hálózat a kívánt viselkedést nem mutatja. Neurális hálózatok alkalmazásának menete Óbudai Egyetem, NIK Dr. Kutor László
Reprezentatív tapasztalati adat gyűjtése (bemeneti adatok és elvárt válaszok) Megfelelő neurális paradigma kiválasztása Rendszer paraméterek kiválasztása Teljesítmény mérő módszer kiválasztása A rendszer tanítása és tesztelése, amíg az elvárt eredményhez nem jutunk. A neurális hálózat tervezésének lépései Óbudai Egyetem, NIK Dr. Kutor László
Processzor szinten: - a processzor átviteli függvénye - a bemenő jelek típusa Hálózat szinten: - a hálózat topológiája - rétegelt struktúránál a rétegek száma - processzorok száma a különböző rétegekben - processzorok típusa a különböző rétegekben Tanítási szinten - tanító algoritmus - tanítási paraméterek (pl.: α, β,….) - a tanítás megállásának feltételei Eldöntendő jellemzők a neurális hálózatok tervezésénél Óbudai Egyetem, NIK Dr. Kutor László
Mottó: Addig hangoljuk a súlytényezőket, amíg a bemenetre a hálózat megfelelő-, előre kiszámított választ nem ad. Algoritmusa: Kezdeti súlytényezők beállítása A tanítóminta bemeneti értéke alapján a hálózat kimeneti értékének kiszámítása. A tanítóminta célértékének összehasonlítása a hálózat célértékével. Szükség esetén a hálózat súlytényezőinek módosítása. A tanítás folytatása mindaddig, amíg a hálózat az összes tanítómintára – egy előre rögzített hibahatárnál kisebb hibávala célértéknek megfelelő kimeneti értéket nem tudja előállítani. A felügyeletes tanítás lényege, algoritmusa(ism.) Óbudai Egyetem, NIK Dr. Kutor László
A perceptron jellemzői Frank Rosenblatt (1957) Vetített nyomtatott betűk felismerése tanítás alapján • 20 x 20 fotóérzékelő • Mc. Culloch-Pitts neuronok • Előrecsatolt egyrétegű hálózat I1 O1 O36 I400 Óbudai Egyetem, NIK Dr. Kutor László
I – ingerfelvevők (bemenet) wjisúlytényezők T – Árviteli (Transzfer) függvény Oj = 0 ha Sj<=0 Oj = +1 ha Sj>0 ha Ojk = 0 és Cjk = 1 akkor wji(t+1) = wji(t) + Iik(t) ha Ojk = 1 és Cjk = 0 akkor wji(t+1) = wji(t) - Iik(t) A perceptron processzora „ W. Mc Culloch és W. Pitts „) I1 j wj1 wj2 I2 Oj Sj T wjn IB In-1 In Óbudai Egyetem, NIK Dr. Kutor László
Kezdeti súlytényezők beállítása (random !?) Tanítás iter amíg a hiba el nem éri a hibahatárt (Hi <= Hh) k= 0, Hi= 0 Minták iter amíg k = p nem teljesül (ahol p = tanító minták száma) A k.-ik tanítóminta bemeneti vektora alapján processzoronként az aktiváció kiszámítása Sjk= ∑Ijk * Wji A köszöb átviteli függvény alapján processzoronként a kimeneti értékek kiszámítása. (Oj) A hálózat súlytényezőinek módosítása. ha Ojk = Cjk akkor wji(t+1) = wji(t) ha Ojk = 0 és Cjk = 1 akkor wji(t+1) = wji(t) + Iik(t) ha Ojk = 1 és Cjk = 0 akkor wji(t+1) = wji(t) - Iik(t) A hálózat hibájának kiszámítása Hjk=Cjk-Ojk A hibák összesítése Hi=Hi+Hj k:=k+1 Minták end Tanítás end A perceptron tanító algoritmusa Óbudai Egyetem, NIK Dr. Kutor László
Csak egy réteg tanítását teszi lehetővé Csak lineárisan elválasztható csoportokat tud osztályozni. A perceptron jellemzői(„Perceptrons” M. Minsky – S. Pappert, 1969) I1 *I2 O 0 0 0 0 1 0 1 0 0 1 1 1 I1 I1 + I2 O 0 0 0 0 1 1 1 0 1 1 1 0 1 I2 1 I1 +I2 O 0 0 0 0 1 1 1 0 1 1 1 1 I1 I1 1 1 I2 I2 1 1 Óbudai Egyetem, NIK Dr. Kutor László
A perceptron értékelése Óbudai Egyetem, NIK Dr. Kutor László
Többrétegű neurális hálózatok tanítása (D.E Rummelhart, G.E. Hinton, R.J.Williams, 1986) (David Parker, Yann Le Cun) +…… Hálózat topológia Oi Oj Ok Tk i k j i j k M H N Processzor: Oj Oi Oj=f(S)= 1/(1+e-S) Sj f(s) j Óbudai Egyetem, NIK Dr. Kutor László
Két (tanítható) rétegű előrecsatolt hálózat Kimenetek Bemenetek bemeneti réteg „rejtett” réteg kimeneti réteg „súlytényező” Óbudai Egyetem, NIK Dr. Kutor László
A súlytényezők változását leíró egyenletek Súlytényező változtatás a kimeneti rétegben Wkj(t+1) = Wkj(t) + αΔkOj = Δk Wkj(t) + α*(Tk-Ok)*f(Sk)*(1-f(Sk))*Oj Súlytényező változtatás a „rejtett” rétegben Δj M Wji(t) + α*∑(Δk*Wkj)*f(Sj)*(1-f(Sj))*Oi k=1 Óbudai Egyetem, NIK Dr. Kutor László
A hálózat hibája felügyelt tanítás esetén Egy tanító mintánál: E = ½ ∑(Tk-Ok)2 A teljes tanító mintára: E = ½ ∑∑ (Tk-Ok)2 k p k A tanítás (súlytényező változtatás) mottója: „hiba visszaterjesztés = Back error Propagation” „ A hálózat súlytényezőit a hiba létrehozásában játszott szerepükkel arányosan változtatjuk.” = A súlytényezőket a hibafüggvény parciális deriváltja szerint változtatjuk! Óbudai Egyetem, NIK Dr. Kutor László
A delta szabály matematikai értelmezése Sj= ∑wji * Ii ; Oj = Sj ; E = ½ *∑ ( Tj – Oj)2 I1 I2 Ii In i j Oj Tj Lineáris átviteli függvény esetén E S j Wji(t+1)=wji(t)- α*Oj*δE/δwji Wi+1 wi δE/δwji= δE/δOj *δOj/δSj*δSj/δwj Δw δE/δOj = ½* 2 * (Tj-Oj) * -1= - (Tj-Oj) δOj/δSj=1 δSji/δwji= δ(wj1*I1+…wji*Ii…+ wjn*In)= Ii i j Oi wji Oj Tj Delta szabály wji(t+1) = wji (t) + α* Ii*Δw ahol α= tanítási tényező, 0 <= α <= 1, Δw= -Tj – Oj Óbudai Egyetem, NIK Dr. Kutor László
Tanítást leíró összefüggések a többrétegű hálózatoknál Általánosított delta szabály: (deriválás a lánc szabály alapján) δE/δwkj = δE/δOk * δOk/δSk * δSk/δwkj Súlytényező változtatás a kimeneti rétegben Wkj(t+1) = Wkj(t) + αΔkOj = Δk Wkj(t) + α*(Tk-Ok)*f(Sk)*(1-f(Sk))*Oj Súlytényező változtatás a „rejtett” rétegben Δj M Wji(t) + α*∑(Δk*Wkj)*f(Sj)*(1-f(Sj))*Oi k=1 (A levezetés a javasolt olvasmányok között található) Óbudai Egyetem, NIK Dr. Kutor László
Célja: Angol betűk kiejtésének kiszámolása Módszere: 2 tanítható rétegű, előrecsatolt neurális hálózat 7 egymást követő betű közül a középsőt kellett kiejteni Eredménye: Minden korábbi megoldásnál jobb eredményt mutatott NetTalk neurális hálózat jellemzői Óbudai Egyetem, NIK Dr. Kutor László
A NETTALK tapasztalatai 1. Fonémák, hangsúlyok tanulása Óbudai Egyetem, NIK Dr. Kutor László
A NETTALK tapasztalatai 2. C és K tanulása Óbudai Egyetem, NIK Dr. Kutor László
A NETTALK tapasztalatai 3. A súlytényezők megváltoztatásának hatása Óbudai Egyetem, NIK Dr. Kutor László
A NETTALK tapasztalatai 4. Az újratanulás jellemzői Óbudai Egyetem, NIK Dr. Kutor László
Momentum Csökkenő hibahatár („descending epsilon”) módszere Kis súlytényezők kiszűrése („Metszés”) Inkrementális hálózat építás „kaszád korreláció” Algoritmus gyorsító megoldások Óbudai Egyetem, NIK Dr. Kutor László
Benenő adatok Elvárt kimenő adatok „célértékek” A tanító adatok szerkezete c1 Bemenetek 1-n C1 Cm NH cm n m Tanító minták 1-k Teszt adatok Óbudai Egyetem, NIK Dr. Kutor László
„Kaszkád korreláció” (KK) Scott E. Fahlman Christian Lebierre Lépésről-lépésre épülő hálózat Óbudai Egyetem, NIK Dr. Kutor László
Kettős spirál tanulása „KK” algoritmussal 2. Óbudai Egyetem, NIK Dr. Kutor László
Kettős spirál tanulása „KK” algoritmussal 2. Óbudai Egyetem, NIK Dr. Kutor László
Processzor Versengéses (competitive) tanulásCarpenter, Grossberg 1988 I1 Oj = f (Sj) f (Sj) Ii 1 Sj f IN Sj= ∑ Ii* wji Sj Topológia: egy rétegű előrecsatolt, teljesen összekötött Megkötések: 1.) ∑ wji= 1 2.)Súly értékek: 0<Wj<1 3.) A bemenő vektor bináris Óbudai Egyetem, NIK Dr. Kutor László
Mottó: A győztes visz mindent Kezdeti súlytényezők beállítása (inicializálás, véletlenszerű) 0<Wj<1 A tanítóminta i-ik értéke (vektora) alapján, a processzorok kimeneti értékeinek kiszámítása. A legnagyobb kimeneti értékű processzor kiválasztása. A győztes visz mindent elv alapján, a győztes kimeneti értéket 1-re, az összes többi kimeneti értéket 0-ra változtatjuk A győztes elem súlytényezőit megváltoztatjuk (csak azokat!) Δ Wji (t+1) = Wji (t) + Δ wji, Δwji = α (Oi/m-wji(t)) ahol α = tanulási együttható, 0 < α << 1 (tipikusan 0.01-0.3) m = az aktív bemenetek száma A 2. 3. 4. pont ismétlése amíg a kimenetek két egymást követő tanítási ciklus során nem változnak. A versengéses tanító algoritmus(Grossberg) Sj= ∑ Oi* wji, Oj = f (Sj) Óbudai Egyetem, NIK Dr. Kutor László
Versengéses tanulás folyamata Óbudai Egyetem, NIK Dr. Kutor László
Versengés oldalirányú gátlással Óbudai Egyetem, NIK Dr. Kutor László
Processzor: Kohonen önszervező hálózata(Teuvo Kohonen, 1982) f (Sj) 1 Oj = f (Sj) Sj f 1 Sj Sj= ∑ Ii* wji + társ processzorok aktivációja Hálózat topológia: egy rétegű, teljesen összekötött, előrecsatolt Óbudai Egyetem, NIK Dr. Kutor László
1.) Kezdeti súlytényezők beállítása Kezdeti környezet beállítása 2.) A bemeneti vektor (tanító minta) rákapcsolása a bemenetekre 3.) Minden processzor elemnél a bemenő vektor és a súlyvektor egyezésének (távolságának) kiszámítása dj = ║I-Wj║ = ∑ (Ii-Wji)2 ahol N = a bemeneti vektor elemeinek száma Ii = a bemeneti vektor (I) i-ik elemének értéke Wji= a j –ik processzor elemhez tartozó, az i-ik bemenettől érkező összeköttetés súlytényezője A Kohonen tanító algoritmus j 4.) A legkisebb eltérést mutató processzor kiválasztása (pl. j) 5.) A kiválasztott elem (j) környezetében (Nj) a súlytényezők módosítása 6.) A 2., 3., 4., 5.-ik lépés ismétlése amíg a kimenetek nem változnak Óbudai Egyetem, NIK Dr. Kutor László
A súlytényező megváltoztatása a Kohonen tanuló algoritmusban Wji (t+1) = Wji (t) + ΔWji (t) Ahol ΔWji (t) = α(Ii –Wji) α (t) = α (0)(1 – t/T), t = az adott tanulási iteráció száma T= a teljes tanulási ciklusok száma A tanulás során módosított környezet nagysága csökken! Nj (t) = N(0)(1-t/T) Óbudai Egyetem, NIK Dr. Kutor László
Az „önszerveződés” folyamata a Kohonen hálózatban A véletlenszerűen beállított súlytényezők a tanulás során egyre inkább felveszik a tanítóminta statisztikai eloszlását. Óbudai Egyetem, NIK Dr. Kutor László
Példák 3D-s tárgyak leképezésére 2D-be Bemenetek száma: 3 Kimenetek száma: 20 Tanítóminta: 1000 Tanítási ciklus: 15-30 Óbudai Egyetem, NIK Dr. Kutor László
Kohonen fonetikus írógépe Jellemzői: 5.4 KHz aluláteresztő szűrő, 12 bit A/D, 13.03 KHz mintavétel, 256 pontos Fourier transzformáció (FFT) Fonémák kézi azonosítása a tanításhoz, Szabály alapú következtetés (15-20 ezer szabály) TMS 32010 digitális processzor Közel folyamatos beszéd feldolgozás 92-97%- os pontosság Óbudai Egyetem, NIK Dr. Kutor László
Nincs tudás-hozzáférési probléma Nehéz a tudás megszerzése Dinamikus tudásábrázolás Statikus(abb) tudásábrázolás Minta kiegészítő képesség Feltételezzük az adatok (általánosítás = generalizás) hibátlanságát és ellentmondás mentességét Robusztus (nem érzékeny az adatvesztésre) Érzékeny az adatvesztésre Interpolálni képes Nincs intuitív képessége Többet „tudhat” mint ami az Legfeljebb olyan jó lehet mint a adatokból látszik szakértő Nincs magyarázatadás Részletes magyarázat kérhető Nincs igazoló képessége A döntéseket viszonylag könnyű igazolni. Neurális hálózatok Szakértői rendszerek Óbudai Egyetem, NIK Dr. Kutor László
A neurális hálózatok tanítása során változik a hálózat szerkezete? Miért nem vezet garantáltan jó megoldáshoz a hiba visszaterjesztő algoritmus, és hogyan lehet megkerülni a problémát? Mi a neurális hálózatok „önszerveződésének” alapja? Kérdések Óbudai Egyetem, NIK Dr. Kutor László