Intelligens Rendszerek Elmélete Dr. Kutor László
:
¾ Mesterséges neurális hálózatok felügyelt tanítása hiba visszaterjesztő „Back error Propagation” algoritmussal ¾ Versengéses tanulás http://mobil.nik.bmf.hu/tantargyak/ire.html Login név: ire jelszó: IRE07 2008. ősz
BMF NIK,
dr. Kutor László
IRE 8/1
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 teljes, hibás adatokat is tartalmazhat
Sok összefüggő bemenő adat-, összefüggő kimeneti paraméter áll rendelkezésre 2009. ősz
BMF NIK,
Dr. Kutor László
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 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. 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 mutatja.
2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/3
A neurális hálózat tervezésének lépései 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) 2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/4
Eldöntendő jellemzők a neurális hálózatok tervezésénél 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 2009. ősz
Mottó:
BMF NIK,
Dr. Kutor László
IRE 8/5
A felügyeletes tanítás lényege, algoritmusa
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: 1. Kezdeti súlytényezők beállítása 2. A tanítóminta bemeneti értéke alapjá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 tudja előállítani. 2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/6
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 2009. ősz
BMF NIK,
IRE 8/7
Dr. Kutor László
A perceptron processzora „ W. Mc Culloch és W. Pitts „)
I1 I2
In-1
wj1
j
wj2
Sj T
Oj
I – ingerfelvevők (bemenet) wji súlytényezők T – Árviteli (Transzfer) függvény n
S j = ∑ w ji I i i =1
wjn
Oj = 0 ha Sj <= 0
In
Oj = +1 ha Sj > 0
IB 2009. ősz
BMF NIK,
Dr. Kutor László
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 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 2009. ősz
BMF NIK,
IRE 8/9
Dr. Kutor László
A perceptron jellemzői („Perceptrons” M. Minsky – S. Pappert, 1969) 1. Csak egy réteg tanítását teszi lehetővé 2. Csak lineárisan elválasztható csoportokat tud osztályozni. I1 * I2 O 0 0 1 1
0 1 0 1
0 0 0 1
I1 +I2 O 0 0 1 1 2009. ősz
0 1 0 1
0 1 1 1
I1
I1 + I2 O
1
1
I2
0 0 1 1
0 1 0 1
0 1 1 0
I1
I1
1
1
1
I2
BMF NIK,
1 Dr. Kutor László
I2 IRE 8/10
A perceptron értékelése
2009. ősz
BMF NIK,
IRE 8/11
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
i
k
j H
N
i
Oj j
Ok
Tk
k
M
Processzor:
Oi
Sj
f(s)
Oj
N
S j = ∑ w ji Oi i =1
j 2009. ősz
BMF NIK,
Dr. Kutor László
Oj=f(S)= 1/(1+e-S) IRE 8/12
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
pk
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 2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/13
A delta szabály matematikai értelmezése I1 I2 Ii
S
Sj= ∑wji * Ii ; Oj = Sj ; E = ½ * ∑ ( Tj – Oj)2 j i Oj Tj Lineáris átviteli függvény esetén E
j
In
Wji(t+1)=wji(t)- α*Oj*δE/δwji
δE/δwji= δE/δOj * δOj/δSj * δSj/δwj wi δE/δOj = ½ * 2 * (Tj-Oj) * -1= - (Tj-Oj) δOj/δSj=1 i O i
2009. ősz
Wi+1
Δw
δSj/δwj= δ(wj1*I1+…wji*Ii…+ wjn*In)= Ii
wji j Oj Tj
Delta szabály
wji(t+1) = wji (t) + α * Ii * Δw ahol α = tanítási tényező, 0 <= α <= 1, Δ = Tj – Oj IRE 8/14 BMF 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
2009. ősz
(A levezetés a javasolt olvasmányok között található)
BMF NIK,
Dr. Kutor László
IRE 8/15
A NETTALK tapasztalatai 1. Fonémák, hangsúlyok tanulása
2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/16
A NETTALK tapasztalatai 2. C és K tanulása
2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/17
A NETTALK tapasztalatai 3. A súlytényezők megváltoztatásának hatása
2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/18
A NETTALK tapasztalatai 4. Az újratanulás jellemzői
2009. ősz
BMF NIK,
IRE 8/19
Dr. Kutor László
Versengéses (competitive) tanulás Carpenter, Grossberg 1988 I1 Processzor I i IN
Sj f
Oj = f (Sj)
Sj= ∑ Ii * wji
1
f (Sj)
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 2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/20
A versengéses tanító algoritmus Mottó:
(Grossberg) A győztes visz mindent
1. Kezdeti súlytényezők beállítása (inicializálás, véletlenszerű) 0<Wj<1 2. A tanítóminta i-ik értéke (vektora) alapján, a processzorok kimeneti
Sj= ∑ Oi * wji, Oj = f (Sj) 3. A legnagyobb kimeneti értékű processzor kiválasztása. A győztes visz értékeinek kiszámítása.
mindent elv alapján, a győztes kimeneti értéket 1-re, az összes többi kimeneti értéket 0-ra változtatjuk 3. 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 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/21 2009. ősz BMF NIK, Dr. Kutor László
Versengéses tanulás folyamata
2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/22
Versengés oldalirányú gátlással
2009. ősz
BMF NIK,
IRE 8/23
Dr. Kutor László
Kohonen önszervező hálózata (Teuvo Kohonen, 1982) Processzor:
Sj f
Oj = f (Sj)
1
f (Sj)
1
Sj= ∑ Ii * wji + társ processzorok aktivációja
Sj
Hálózat topológia: egy rétegű, teljesen összekötött, előrecsatolt
2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/24
A Kohonen tanító algoritmus 1.) Kezdeti súlytényezők beállítása Kezdeti környezet beállítása 2.) A bemeneti vektor (tanító minta) j 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
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 IRE 8/25 2009. ősz BMF 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)
2009. ősz
BMF NIK,
Dr. Kutor László
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.
2009. ősz
BMF NIK,
Dr. Kutor László
IRE 8/27
Példák 3D-s tárgyak leképezésére 2D-be Bemenetek száma: 3 Tanítóminta: 1000
2009. ősz
BMF NIK,
Kimenetek száma: 20 Tanítási ciklus: 15-30
Dr. Kutor László
IRE 8/28
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 2009. ősz
BMF NIK,
Neurális hálózatok
Dr. Kutor László
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 2009. ősz
BMF NIK,
IRE 8/29
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 Legfeljebb olyan jó lehet mint a szakértő Részletes magyarázat kérhető A döntéseket viszonylag könnyű igazolni.
Dr. Kutor László
IRE 8/30