Intelligens Rendszerek Elmélete Dr. Kutor László : Mesterséges neurális hálózatok felügyelt tanítása hiba visszateresztő Back error Propagation algoritmussal Versengéses tanulás http://mobil.nik.bmf.hu/tantargyak/ire.html Login név: ire elszó: IRE07 2008. ősz BMF NIK, dr. Kutor László IRE 8/ Mikor célszerű neurális hálózatokat alkalmazni? A megoldandó problémával kapcsolatban gazdag adathalmaz áll rendelkezésre A megoldáshoz szükséges szabályok ismeretlenek A rendelkezésre álló adathalmaz nem teles, hibás adatokat is tartalmazhat Sok összefüggő bemenő adat-, összefüggő kimeneti paraméter áll rendelkezésre IRE 8/2
Neurális hálózatok alkalmazásának menete Feladatspecifikus neurális hálózat (paradigma) kiválasztása. A hálózat ellemző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. A tanító adatok összeállítása. Tanítás és tesztelés, amíg a hálózat a kívánt viselkedést nem mutata. IRE 8/3 A neurális hálózat tervezésének lépései Reprezentatív tapasztalati adat gyűtése (bemeneti adatok és elvárt válaszok) Megfelelő neurális paradigma kiválasztása Rendszer paraméterek kiválasztása Telesí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 utunk) IRE 8/4
Eldöntendő ellemzők a neurális hálózatok tervezésénél Processzor szinten: - a processzor átviteli függvénye -a bemenő elek típusa Hálózat szinten: - a hálózat topológiáa - 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 IRE 8/5 A felügyeletes tanítás lényege, algoritmusa Mottó: Addig hangoluk 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 2. A tanítóminta bemeneti értéke alapán a hálózat kimeneti értékének kiszámítása. 3. A tanítóminta célértékének összehasonlítása a hálózat célértékével. 4. Szükség esetén a hálózat súlytényezőinek módosítása. 5. 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ával a célértéknek megfelelő kimeneti értéket nem tuda előállítani. IRE 8/6
A perceptron ellemzői Frank Rosenblatt (957) Vetített nyomtatott betűk felismerése tanítás alapán 20 x 20 fotóérzékelő Mc. Culloch-Pitts neuronok Előrecsatolt egyrétegű hálózat I O O 36 I 400 IRE 8/7 A perceptron processzora W. Mc Culloch és W. Pitts ) I I 2 I n- I n w w 2 w n S T O I ingerfelvevők (bemenet) w i súlytényezők T Árviteli (Transzfer) függvény S = n i= w O = 0 ha S <= 0 O = + ha S > 0 i I i I B IRE 8/8
A perceptron tanító algoritmusa 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 telesül (ahol p = tanító minták száma) A k.-ik tanítóminta bemeneti vektora alapán processzoronként az aktiváció kiszámítása S k = I k * Wi A köszöb átviteli függvény alapán processzoronként a kimeneti értékek kiszámítása. (O ) A hálózat súlytényezőinek módosítása. ha O k = C k akkor wi (t+) = w i (t) ha O k = 0 és C k = akkor wi (t+) = w i (t) + I i k (t) ha O k = és C k = 0 akkor wi (t+) = w i (t) - I i k (t) A hálózat hibáának kiszámítása H k =C k -O k A hibák összesítése H i =H i +H k:=k+ Minták end Tanítás end IRE 8/9 A perceptron ellemzői ( Perceptrons M. Minsky S. Pappert, 969). Csak egy réteg tanítását teszi lehetővé 2. Csak lineárisan elválasztható csoportokat tud osztályozni. I * I 2 O 0 0 0 0 0 0 0 I +I 2 O 0 0 0 0 I I I 2 I 2 I + I 2 IRE 8/0 O 0 0 0 0 0 0 I I 2
A perceptron értékelése IRE 8/ Többrétegű neurális hálózatok tanítása (D.E Rummelhart, G.E. Hinton, R.J.Williams, 986) (David Parker, Yann Le Cun) + Hálózat topológia i N H Processzor: M k O i O O k T k i k Oi S f(s) IRE 8/2 N O S = w O O =f(s)= /(+e -S ) i= i i
A hálózat hibáa felügyelt tanítás esetén Egy tanító mintánál: E = ½ (T k -O k ) 2 A teles tanító mintára: E = ½ (T k -O k ) 2 p k A tanítás (súlytényező változtatás) mottóa: hiba visszateresztés = Back error Propagation A hálózat súlytényezőit a hiba létrehozásában átszott szerepükkel arányosan változtatuk. = A súlytényezőket a hibafüggvény parciális deriválta szerint változtatuk k IRE 8/3 I I 2 I i I n A delta szabály matematikai értelmezése i S δe/δw i = δe/δo * δo /δs * δs /δw δe/δo = ½ * 2 * (T-O) * -= - (T-O) δo /δs = S = w i * I i ; O = S ; i O T O i w i O T Lineáris átviteli függvény esetén W i (t+)=w i (t)- α*o*δe/δw i E = ½ * ( T O ) 2 Delta szabály w i (t+) = w i (t) + α * I i * Δw ahol α = tanítási tényező, 0 <= α <=, Δ = T O IRE 8/4 E w i W i+ Δw δs /δw = δ(w *I + w i *I i + w n *I n )= I i
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 alapán) δe/δw k = δe/δok * δo k /δs k * δs k /δw k Súlytényező változtatás a kimeneti rétegben W k (t+) = W k (t) + αδ k O = Δk W k (t) + α*(t k -O k )*f(s k )*(-f(s k ))*O Súlytényező változtatás a retett rétegben Δ M W i (t) + α* (Δk*Wk)*f(S )*(-f(s ))*O i k= (A levezetés a avasolt olvasmányok között található) IRE 8/5 A NETTALK tapasztalatai. Fonémák, hangsúlyok tanulása IRE 8/6
A NETTALK tapasztalatai 2. C és K tanulása IRE 8/7 A NETTALK tapasztalatai 3. A súlytényezők megváltoztatásának hatása IRE 8/8
A NETTALK tapasztalatai 4. Az úratanulás ellemzői IRE 8/9 Processzor Versengéses (competitive) tanulás I I i S Carpenter, Grossberg 988 O = f (S ) f (S ) f I N S = I i * w i S Topológia: egy rétegű előrecsatolt, telesen összekötött Megkötések:.) w i = 2.) Súly értékek: 0<W< 3.) A bemenő vektor bináris IRE 8/20
A versengéses tanító algoritmus (Grossberg) Mottó: A győztes visz mindent. Kezdeti súlytényezők beállítása (inicializálás, véletlenszerű) 0<W< 2. A tanítóminta i-ik értéke (vektora) alapán, a processzorok kimeneti S = O i * w i, O = f (S ) értékeinek kiszámítása. 3. A legnagyobb kimeneti értékű processzor kiválasztása. A győztes visz mindent elv alapán, a győztes kimeneti értéket -re, az összes többi kimeneti értéket 0-ra változtatuk 3. A győztes elem súlytényezőit megváltoztatuk (csak azokat!) Δ W i (t+) = W i (t) + Δ w i, Δw i = α (O i /m-w i (t)) ahol α = tanulási együttható, 0 < α << (tipikusan 0.0-0.3) m = az aktív bemenetek száma 5. 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. IRE 8/2 Versengéses tanulás folyamata IRE 8/22
Versengés oldalirányú gátlással IRE 8/23 Processzor: Kohonen önszervező hálózata (Teuvo Kohonen, 982) S O = f (S ) f f (S ) S = I i * w i + társ processzorok aktivációa S Hálózat topológia: egy rétegű, telesen összekötött, előrecsatolt IRE 8/24
A Kohonen tanító algoritmus.) 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 d = I-W = (I i -W i ) 2 ahol N = a bemeneti vektor elemeinek száma I i = a bemeneti vektor (I) i-ik elemének értéke W i = a ik processzor elemhez tartozó, az i-ik bemenettől érkező összeköttetés súlytényezőe 4.) A legkisebb eltérést mutató processzor kiválasztása (pl. ) 5.) A kiválasztott elem () környezetében (N ) 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 IRE 8/25 A súlytényező megváltoztatása a Kohonen tanuló algoritmusban W i (t+) = W i (t) + ΔW i (t) Ahol ΔW i (t) = α (I i W i ) α (t) = α (0)( t/t), t = az adott tanulási iteráció száma T= a teles tanulási ciklusok száma A tanulás során módosított környezet nagysága csökken! N (t) = N(0)(-t/T) IRE 8/26
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. IRE 8/27 Példák 3D-s tárgyak leképezésére 2D-be Bemenetek száma: 3 Kimenetek száma: 20 Tanítóminta: 000 Tanítási ciklus: 5-30 IRE 8/28
Kohonen fonetikus írógépe Jellemzői: 5.4 KHz aluláteresztő szűrő, 2 bit A/D, 3.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 (5-20 ezer szabály) TMS 3200 digitális processzor Közel folyamatos beszéd feldolgozás 92-97%- os pontosság IRE 8/29 Neurális hálózatok Szakértői rendszerek Nincs tudás-hozzáférési probléma Dinamikus tudásábrázolás Minta kiegészítő képesség (általánosítás = generalizás) Robusztus (nem érzékeny az adatvesztésre) Interpolálni képes Többet tudhat mint ami az adatokból látszik Nincs magyarázatadás Nincs igazoló képessége Nehéz a tudás megszerzése Statikus(abb) tudásábrázolás Feltételezzük az adatok hibátlanságát és ellentmondás mentességét Érzékeny az adatvesztésre Nincs intuitív képessége Legfelebb olyan ó lehet mint a szakértő Részletes magyarázat kérhető A döntéseket viszonylag könnyű igazolni. IRE 8/30