300 likes | 383 Views
Pécsi Tudományegyetem Pollack Mihály Műszaki Kar Műszaki Informatika Szak Data Mining. 30. Gyakorlat Dr. Pauler Gá bor , Egyetemi Docens PTE-PMMK Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu
E N D
Pécsi TudományegyetemPollack Mihály Műszaki KarMűszaki Informatika SzakData Mining 30. Gyakorlat Dr. Pauler Gábor, Egyetemi Docens PTE-PMMK Számítástechnika Tanszék Iroda: Boszorkány u., B épület 101 Tel: 72/503-650/3725 E-mail: gjpauler@acsu.buffalo.edu Készült a PTE Alapítvány támogatásával
A gyakorlat tartalma 29. Házi Feladat ellenőrzése: Nőtervezés FuzzyTech-ben A neurális hálózatok tanulása: • Nem felügyelt tanulás • Hebb-féle tanulási törvény • A szükséges hálózati topológia: BAM • A BAM aktivációja • A Hebb-féle tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Felügyelt tanulás • Delta tanulási módszer • A szükséges hálózati topológia: perceptron • A perceptron aktivációja • A delta-szabály algoritmusa • Tesztelése, alkalmazása és kritikája • Visszacsatoló tanulási módszer • A szükséges hálózati topológia: többmezős perceptron • A többmezős perceptron aktivációja • A visszacsatoló tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Neurális hálózatok validációja • Nem felügyelt tanulásnál • Felügyelt tanulásnál • Egyszerű validáció • Keresztvalidáció • Számítógépes alkalmazás a neurális hálózatok elméletéhez • Mátrix diagramm • Vezérlési függvény diagramm 30. Házi Feladat: Karakterek tervezése a vezérlési függvény szimulátorban
Neurális rendszerek tanulása A tanulással kapcsolatos alapfogalmak: • Tanulás (Learning): • A neurális hálózat kezdetben véletlen értékű w szinaptikussúlyainak módosítása annak érdekében, hogy a hálózat a kívánt viselkedést mutassa • Tanítóminta (Teaching Sample/Pattern Set) • Az i=1..n input és o=1..O output változók korábban megfigyelt yj={yij i=1..n, yoj o=1..O}j=1..m vektoraiból álló adatbázis • gtanulási ráta (Learning Rate): • [0,1] közti skalár, amely azt fejezi ki, hogy a neurális hálózat milyen gyorsan sajátítja el az új ismereteket a régiek felülírásával • Magas tanulási ráta gyorsabb tanulást, de romlóáltalánosítási és memorizációs képességet jelent: g=1 nincs memória, csak az utolsó minta tanulása (pl. Alzheimer-kór) • Alacsony tanulási ráta viszont lassú tanulást eredményez: g=0 nincs tanulás, csak memória (pl. Elefánt) • Tanítási ciklus/ epoch (Learning Epoch) • A fenti dilemma feloldására a minta vektorokat nem egy lépésben magas tanulási rátával, hanem e=1..E ciklusban megismételve (Repetition), alacsonyabb tanulási ráta mellett tanítjuk meg a hálózatnak • Nem felügyelt tanulási módszerek (Unsupervised Learning): • Nem várjuk, hogy adott inputokhoz előre ismert outputokat adjon ki a rendszer, hanem egy általános hibafüggvényt próbálunk minimalizálni a szinaptikus súlyok beállítása során • Exploratív: tendenciákat keresünk a mintaadatokban, gyakorlatban ritkább
wki wik wkk wii xkt+2j xkt+1j xkt+2j bi bi Si(xit) Si(xit) xkt+1j ui ui Avgi Avgi sk(xkt+1j) ai ai xit xit li li sk(xkt+1j) sk(xkt+1j) ×wki Sk Sk ×wii si(xi1j) sk(xkt+1j) ×wkk ×wik si(xi1j) Nem felügyelt tanulás 1 Hebb-féle asszociatív tanulási törvény (Hebbian Rule): • A hozzá szükséges hálózati topológia: Kétirányú Asszociatív Memória (Bidirectional Associative Memory, BAM): • Egymezős, i,k=1..n neuronokból álló hálózat, ik kétirányú mezőközi összeköttetésekkel • A neuronok aggregációja additív, jelzési függvénye S-görbe • A mezőben a neuronok egy- vagy kétdimenziós térszerkezetbe lehetnek rendezve • Minden más hálózat ennek a speciális alesete, ez a legáltalánosabb topológia • A BAM hálózat aktivációja • Mivel BAM visszacsatoló hálózat, aktivációja yij inputokból t=1..T periódusban ciklikus: 1. Lépés:input minták be: xi1j = yij,i=1..n, j=1..m 2. Lépés:körkörös súly×jelzés aggregál: xkt+1j = Si(wik× si(xitj))/ Si(wik), (30.6) i,k=1..n, t=1..T, j=1..m • Kétféle kimenete lehet: - Ez az output jelzések inputba történő visszacsatoláshoz szükséges jelzés tükröző függvény I/O diagramm-jele
A BAM aktivációja • A hálózat xit membrán értékei a végtelenbe konvergálnak • A hálózat xit membrán értékei egy adott x* vektor fele konvergálnak, és e körül Ljapunov-stabil állapot (Ljapunov Stability) alakul ki, vagyis megadhatóx* olyan e sugarú környezete, amiből a rendszer már nem lép ki kűlső beavatkozás nélkül t=1..T időperióduson keresztül. Ekkor a rendszer felismerte (Recognition)x* vektort. A mátrix diagrammon egy 16 neuronból álló BAM-ra látunk példát, amelyek egy 4×4 pixeles kétdimenziós térrácsba vannak rendezve, és inputként az „A” karakter van betöltve membrán értékeikbe
sk(ykj) ykj sije×skje skje×skje si(yij) Dwkkje Dwikje si(yij) sk(ykj) ykj sije×sije sije×skje Dwikje Dwiije yij yij A Hebb-féle tanulás algoritmusa • e=1..E-epoch soránaj=1..m mintaelemeket cikli-kusan betöltjük a neuronok membrán értékeibe, mire a hálózat a fentebb leírt módon tüzel (lásd: ) • Majd az i-edik és k-adik neuronok köztiik összeköttetésekwikjesúlyát (ami kezdetben random értékű) • Az i-edik és k-adik neuronok sijeés skje jelzéseinek (lásd: ) szorzatával (lásd: ) módo-sítjuk (lásd: ), agiketanulási rátával arányosan: FORe=1..EDO /Epochok FORj=1..mDO /Minták wik(je+1) = gike×sije×skje + (1-gike)×wikje, i,k=1..n Ahol: (30.7) sije = si(yij), skje = sk(ykj) - az i-edik, illetve k- adik neuronok jelzései a j-edik mintaelemnél yij, ykj- az i-edik, illetve k-adik neuronok membrán értékeibe töltött a j-edik mintaelemek NEXT j /Következő minta NEXTe /Következő epoch • A jelzések szorzata tulajdonképpen egy kompenzálóÉS operátor a két jelzés közt, amivel asszociatív kapcsolatot teremthet az adott két neuron által modellezett dolgok közt. (Pl. Pavlov híres kísérletében a kutya nyálazási feltételes reflexe úgy alakult ki, hogy „betöltöttek neki” sokmintát, amikor a csengő szólt ÉSa kaja is jött)
A Hebb-féle tanulás tesztelése • Az aktiváció konvergenciája (Activation Convergency): azyj megtanult minták ( ) egyre mélyebb völgyeket hoznak létre a tanulás során a rendszer Ljapunov-energiafüggvényén (Ljapunov Energy Function): Lje= SiSkSi(xi)×Sk(xk)×wik (30.7) A tanulás minőségét jelzi, hogy a rendszer hány lépésben talál bele az ezek mélyén lévő Ljapunov-stabil helyekre, vagyis ismer fel mintákat. • A helyesen felismert minták aránya (Recognition Efficiency): abetanított mintát hány %-ban ismeri fel az yj input vektorokból, vagy téveszti össze más mintával (Crosstalk), mert egy másik közeli völgybe ugrik be • A tanulás konvergenciája (Learning Convergency): az yj input vektorok és az y* felismert minta ( ) közti négyzetes eukli- deszi távolságként megjelenő SSEjeösszesített négyzetes hibafüggvény milyen gyor- san csökken egy előre rög- zített SSE* határérték aláaz e=1..E epochok során: SSEje= Si(yji-yi*)2 (30.8)
A Hebb-féle tanulás alkalmazásai 1 Egyszerűbb karakter felismerés (Character Recognition): • Kétdimenziós mezőstruktúrát alkalmazunk, a minták egy kétdimenziós pixelrácsban definiálódnak (itt pl. 4×4-es 16 neuronnal) • Zajos, vagy hiányos inputból több aktivációs körön keresztül előhívja a leghasonlóbb betanított mintát (pl. az „A” karaktert) • Hátránya, hogy a pixelrács felbontása felülről korlátozza, hányféle karaktert képes hatékonyan megtanulni, pl. 4×4-es felbontásnál ideális esetben max. 16 karaktert, a valóságban inkább csak 4-et, az elméletileg lehetséges 216=65536 féle karakterből. Elég pazarlóan bánik a neuronokkal!
bi bi bi bi wki Si(xit) Si(xit) Si(xit) Si(xit) wik wki wki ui ui ui ui wik wik wki wki wki wik wik wik wii wii wii wii ai ai ai ai xit xit xit xit li li li li Sk Sk Sk Sk A Hebb-féle tanulás alkalmazásai 2 Temporális asszociatív memória (Temporal Associative memory, TAM): • Egydimenziós mezőstruktúrájú BAM hálózat, ahol • A mintaadatbázis egy t=1..m+nelemű idősoron j=1..m eltolással végigcsúszói=1..n elemű időbeli ablakban jön létre • A TAM aktivációs ciklusai során az időbeli ablakot előre csúsztatva képes előrejelzést készíteni durván nemlináris szerkezetű idősorokra • Az autoregressziós (Autoregression, AR) modellekkel (lásd: Session15) analóg működésű, azok multikolinearitással kapcsolatos hátrányai nélkül • Részvényárfolyam-előrejelzésnél, vagy hangfelismerésnél használják A BAM hálózat és a Hebb-féle tanulás kritikája: • Előnye, hogy egyszerű hálózatot igényel, és a tanulás számolásigénye alacsony • Hátránya, hogy csak a gyakorlatban ritkább nem felügyelt tanulás során használható, rosszul elkülönülő minták esetén baj lehet a Ljapunov-stabilitással, az aktiváció számolásigénye a ciklikus iterációk miatt magas, és nagyon pazarlóan bánik a neuronokkal • Csak nem felügyelt tanulásra használható Felügyelt tanulási módszerek (Supervised Learning) • Adott inputokból előre ismert outputokat szeretnénk megkapni • A gyakorlatban gyakrabban fordul elő, mint a nem felügyelt változat
A gyakorlat tartalma 29. Házi Feladat ellenőrzése: Nőtervezés FuzzyTech-ben A neurális hálózatok tanulása: • Nem felügyelt tanulás • Hebb-féle tanulási törvény • A szükséges hálózati topológia: BAM • A BAM aktivációja • A Hebb-féle tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Felügyelt tanulás • Delta tanulási módszer • A szükséges hálózati topológia: perceptron • A perceptron aktivációja • A delta-szabály algoritmusa • Tesztelése, alkalmazása és kritikája • Visszacsatoló tanulási módszer • A szükséges hálózati topológia: többmezős perceptron • A többmezős perceptron aktivációja • A visszacsatoló tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Neurális hálózatok validációja • Nem felügyelt tanulásnál • Felügyelt tanulásnál • Egyszerű validáció • Keresztvalidáció • Számítógépes alkalmazás a neurális hálózatok elméletéhez • Mátrix diagramm • Vezérlési függvény diagramm 30. Házi Feladat: Karakterek tervezése a vezérlési függvény szimulátorban
xoj so(xoj) so(xoj) xoj bo bo Avgi So(xot) So(xot) Avgi uo uo so(xoj) ×wio ao ao xot xot lo lo so(xoj) ×wio si(yij) wio wio wio wio Si Si yij si(yij) si(yij) bi bi Si(xit) Si(xit) si(yij) ui ui si(yij) ×wio ×wio si(yij) ai ai xit xit li li yij yij yij Input Input Delta tanulási szabály A hozzá szükséges hálózati topológia: Perceptron (Perceptron): • Az i=1..n input és o=1..O output neuronokból állókétmezős (Dual-Layer) hálózat io mezőközti teljes előrecsatolást (Full Feedforward Connection) tartalmaz • Az output neuronok additív aggregációjúak, az inputok jelzési függvénye lineáris, az outputoké S-görbe A Perceptron aktivációja • Előrecsatoló hálózatként egy lépésben xoj output membrán értékeket számít ki az input mezőbe töltöttyij mintákból: xoj = Si(wio× si(yij))/ Si(wio), i=1..n, o=1..O, j=1..m (30.8) A perceptron aktivációja I/O diagrammon: A perceptron aktivációja jelzési diagrammon:
s’o(yoj) Doje si(yij)×Doje si(yij)×Doje so(yoj) yoj xoje si(yij) si(yij) Dwioje Dwioje s’o(yoj) Doje yoj so(yoj) si(yij)×Doje si(yij)×Doje xoje Dwioje Dwioje yij yij A Delta-tanulási algoritmus 1 • e=1..E-epoch soránaz yjj=1..m mintaelemeket ciklikusan betöltjük az i=1..n input neuronok membrán értékeibe, mire a hálózat a fentebb leírt módon tüzel (lásd: ) • Majd az i-edik és o-adik neuronok köztiio összeköttetésekwiojesúlyát (ami kezdetben random értékű) agioetanulási rátával arányosan az alábbi szorzattal (lásd: ) módosítjuk (lásd: ): • Az i-edik input neuron si(yij)jelzését (lásd: ) összeszorozzuk o output Doje „deltájával”, ami: • Az xoje output membrán érték ésyoj elvárt output minta közti különbségnek és az output jelzési függ-vény S’o(yoj) elvárt outputbeli elsőrendű parciális deriváltjának(lásd: ) szorzata. A delta az output neuron jelzésében fennálló +/- hibát jelenti. FORe=1..EDO /Epochok FORj=1..mDO /Minták wio(je+1)= gioe× si(yij)×Doje + (1-gioe)×wioje, i=1..n, o=1..O(30.9) ahol:Doje = so’(yoj)×(yoj - xoje) (30.10) so’(yoj) – az o-adikoutput neuron jelzési függvényének elsőrendű parciális deriváltja yoj– elvárt output mintaérték xoje- tényleges output membrán érték NEXT j /Következő minta NEXTe /Következő epoch • A delta-szabály lényegében az input jelzés és az output hiba közti kompenzáló ÉS operátor
A Delta-tanulási algoritmus 2 Tesztelése: • Összesített négyzetes hiba (Sum of Squared Errors, SSE): SSEje = So(Doje 2), j=1..m, e=1..E (30.11) • A tanulás konvergenciája (Convergency): az SSEjeösszesített négyzetes hiba csökkenési üteme az e=1..E epochok során • Addig pörgeti a tanulási epochokat, amíg egy előre definiált SSE* határárték alá nem megy Felhasználása: • A vezérlési függvény ploton látszik, hogy az output mező neuronjainak So jelzési függvénye tetszőleges szögben elforgatott és eltolt fuzzy féltereket (Fuzzy Halfspace) képes ábrázolni az input változók (lásd: X és Y) terében • A félterek határának életlensége az output jelzési függvény bo meredekségétől függ • A perceptron afaktoranalízishez (lásd: Session16)hasonló működésű, csak lineárisan szeparálható csoportosításra használható, hasonlóan a faktoranalízis-alapú csoportosításhoz (lásd: Lesson18) Kritikája: • Csak egy input és egy output mezős hálózatot kezel, és csak primitív lineáris szeparációkat tud megtanulni
A gyakorlat tartalma 29. Házi Feladat ellenőrzése: Nőtervezés FuzzyTech-ben A neurális hálózatok tanulása: • Nem felügyelt tanulás • Hebb-féle tanulási törvény • A szükséges hálózati topológia: BAM • A BAM aktivációja • A Hebb-féle tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Felügyelt tanulás • Delta tanulási módszer • A szükséges hálózati topológia: perceptron • A perceptron aktivációja • A delta-szabály algoritmusa • Tesztelése, alkalmazása és kritikája • Visszacsatoló tanulási módszer • A szükséges hálózati topológia: többmezős perceptron • A többmezős perceptron aktivációja • A visszacsatoló tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Neurális hálózatok validációja • Nem felügyelt tanulásnál • Felügyelt tanulásnál • Egyszerű validáció • Keresztvalidáció • Számítógépes alkalmazás a neurális hálózatok elméletéhez • Mátrix diagramm • Vezérlési függvény diagramm 30. Házi Feladat: Karakterek tervezése a vezérlési függvény szimulátorban
who who who who bh bo bo bh Sh(xht) Sh(xht) So(xot) So(xot) uo uh uo uh ah ao ao ah xht xot xht xot lh lo lh lo wih wih wih wih Si Si Ph Ph bi bi Si(xit) Si(xit) ui ui ai ai xit xit li li Input Input A visszacsatoló tanulási módszer A szükséges hálózati topológia: Többmezős perceptron (Multi-Layer Perceptron): • Egy i=1..n input, h=1..H rejtett és o=1..O output neuronokból állótöbbmezős (Multi-Layer)hálózat ihés ho teljes mezőközi előrecsatolásokkal (Full Feedforward Connection) • Mezőn belüli csatolások nincsenek • A mezőközi teljes előrecsatolások kizárólag tanulás közben kétirányúvá válnak, és visszafele közvetítenek hibajelzéseket, innen kapta a visszacsatoló tanulási módszer (Backpropagation) a nevét • A rejtett mező additív aggregációjú, az output lehet additív és multiplikatív is. Az input neuronok jelzési függvényei lineárisak, a többi mező neuronjaié S-görbe.
so(xoj) xoj ×who ×who Pi so(xoj) sh(xhj) sh(xhj) xoj ×who ×who Pi xhj xhj Avgi Avgi ×wih ×wih si(yij) yij ×wih ×wih si(yij) yij A többmezős perceptron aktivációja I/O diagrammon • Előrecsatoló hálózatként először xhj rejtett membrán értékeket számít ki az yij input mintákból: xhj = Si(wih × si(yij))/ Si(wih), i=1..n, h=1..H, j=1..m (30.11) • Majd az xhj rejtett membrán értékekből kiszámítja az xoj output membrán értékeket: xoj = Ph(sh(xhj)Who)1/Sh(Who), h=1..H, o=1..O, j=1..m (30.12) • Végül az xojoutput membrán értékekből kiszámítja az soj output jelzésiértékeket: soj = So(xoj), o=1..O, j=1..m (30.13)
so(xoj) so(xoj) xoj xoj sh(xhj) sh(xhj) sh(xhj) sh(xhj) xhj xhj si(yij) si(yij) si(yij) si(yij) yij yij • Az előrecsatolásban először xhj rejtett membrán értékeket számít ki az yij input mintákból: xhj = Si(wih × si(yij))/ Si(wih), i=1..n, h=1..H, j=1..m (30.11) • Majd az xhj rejtett membrán értékekből kiszámítja az xoj output membrán értékeket: xoj = Ph(sh(xhj)Who)1/Sh(Who), h=1..H, o=1..O, j=1..m (30.12) • Végül az xojoutput membrán értékekből kiszámítja az soj output jelzésiértékeket: soj = So(xoj), o=1..O, j=1..m (30.13) A többmezős perceptron aktivációja jelzési diagrammon
Az aktiváció fentről lefele, illetve balról jobbra halad: A többmezős perceptron aktivációja mátrix diagrammon • Egy mezőként 16 neuronnal rendelkező, 3 mezős perceptront látunk mátrixos formában, a mezők és a csatolások beállításaival • A rejtett mező gyakran több neuronból áll, mint az I/O mezők, így a csatolási mátrixok nem mindig kvadratikusak
S’o(yoj) sh(xhje)×Doje sh(xhje)×Doje Doje yoj so(xoje) xoj sh(xhje) sh(xhje) ×who(je+1) ×who(je+1) S’o(yoj) sh(xhje)×Doje sh(xhje)×Doje Doje yoj so(xoje) xoj ×who(je+1) ×who(je+1) xhj xhj Avgo Avgo Dwih si(yij)×Dhje yij si(yij) Dwih si(yij)×Dhje sh(xhje) Dhje sh(xhje) Dhje si(yij)×Dhje Dwih Dwih yij si(yij) si(yij)×Dhje A visszacsatoló tanulási algoritmus 1 FOR e=1..E DO /Epochok FOR j=1..m DO /Minták 1.LÉPÉS: ho rejtett-outputösszeköttetésekmódosítása delta-szabállyal: who(je+1) = ghoe× sh(xhje)×Doje + (1-ghoe)×whoje, h=1..H, o=1..O (30.14) ahol: Doje = so’(yoj)×(yoj - xoje) (30.15) 2.LÉPÉS: a Dojeoutput hibajeleket a módosított ho összeköttetések vissza-csatolják és súlyozva aggregálják h=1..H rejtett neuronok: sh(j+1)(e+1) = shje + Dhje,h=1..H (30.16) Ahol:Dhje = So( who(je+1) × Doje)/ So( who(je+1) ), o=1..O (30.17) – ha a h-adik neuron aggregációja additív Dhje = Po(DojeWho(je+1))1/So(Who(je+1)), (30.18) o=1..O – ha a h-adik neuron aggregációja multiplikatív 3.LÉPÉS: ih input-rejtett összeköttetések módosítása delta-szabállyal: wih(je+1) = gihe×sije×Dhje + (1-gihe)×wihje, i=1..n, h=1..H (30.19) ahol: sije = si(yij) (30.20) yij- az i-edik input neuron membrán értékébe töltött a j-edik mintaérték NEXT j /Következő minta NEXT e /Következő epoch
A visszacsatoló tanulási algoritmus 2 Tesztelése: • Összesített négyzetes hiba (Sum of Squared Errors, SSE): • SSEje = Sh(Dhje 2) + So(Doje 2), j=1..m, e=1..E (30.21) • A tanulás konvergenciája (Convergency): az SSEjeösszesített négyzetes hiba csökkenési üteme az e=1..E epochok során, amíg elér egy SSE*előzetes határártéket Felhasználása:A többmezős perceptron képes a legbonyo-lultabb modellezésre az eddig tanult módszerek közül: • Az 1. mező kezeli az input változókat • A 2. mező működése a faktoranalízis-alapú csoportosítással analóg, egyszerű lineáris szeparációt képes megjeleníteni. Az input változók terébenfuzzy féltereket (Fuzzy Halfspace)(lásd: Session28) modellez, melyek határa - az 1. mező csatolásainak súlyaitól függő - tetszőleges szögben állhat, életlenségi fokát a jelzési függvény meredeksége határozza meg • A 3. mező működése a diszkriminancia analízissel (lásd: Session19) analóg.Konvex fuzzy hiperpoliédereket (Convex Fuzzy Hyperpolihedron)modellez. Multiplikatív aggregációja megfelelel egy fuzzy félterek közti kompenzáló fuzzy ÉS operátornak. Ennek eredménye olyan fuzzy faktor szabály (Fuzzy Factor Rule), ami az input változókból alkotott faktorokon definiált fuzzy nyelvi változók értékeiből áll össze. A faktorokat az 1. mező, a nyelvi változókat a 2. definálja, automatikus tanulással. A fuzzy faktor szabályok nagy előnye az egyszerű fuzzy szabályokhoz képest, hogy átlósan is állhatnak a koordináta tengelyekre, így átlós helyzetű vezérlési függvény- részleteket hatékonyabban modellezik azoknál.
Az esetleges 4. mező működése a legközelebbi szomszéd-módszert használó hierachikus klaszterezéssel (lásd: Session17) analóg, de annál jóval kevésbé szélsőérték-érzékeny és kifinomultabb több csoportos, nemlineáris szeparációt képes megjeleníteni.Konkáv fuzzy hiperpoliédereket modellez. A negyedik mező egyetlen neuronja fuzzy faktor szabályokból álló szabálybázist jelenít meg: A visszacsatoló tanulási algoritmus 3 • A vezérlési függvény diagrammon egy négymezős perceptron látható, karakterfelismerési alkalmazással: • A 4. mező egy-egy neuronja egy karaktert modellez, • Amelyek a 3. mező konvex fuzzy poliédereiből állnak össze. • Amelyek a 2. mező fuzzy féltereiből épülnek fel • Az 1. mező fogadja a szkenelt kép pixeleinek X,Y koordinátáit, mint mintákat
Biológiai analógia • Például, az emberi agy V1-es elsődleges látókérgének (Primary Visual Cortex)IVC rétegében találhatók a látott képen található kontúrok irányérzékelő területei • Ezek több száz, egymás feletti neuronmezőből épülnek fel • Az előrecsatoló hálózatot piramis-sejtek tízmilliói építik fel
A visszacsatoló tanulási módszer kritikája 1 Előnyei: • Bonyolult ismeretek automatikus elsajátítására képes. Egy sokmezős hálózat magasabb szintjein egyre absztraktabb és bonyolultabb összefüggéseket képes megjeleníteni. • Pl. a neurológiai szakirodalomban régóta élénk vita folyik arról, hogy létezik-e nagymama-sejt (Grandmother Cell): vajon amikor nagymamánkat felismerjük egy képről, ez egyetlen neuron tüzelésében ragadható meg, vagy több neuron összjátékát jelenti? A válasz jelenleg nem ismeretes, de plusz egy mező hozzáadásával a hálózathoz könnyen elérhető olyan helyzet, hogy egy neuron azonosítsa a nagymamát. Hátrányai: • Belső működése (Throughput)átláthatatlan, nem kapcsolódik hozzá semmilyen magyarázó komponens, így nehéz a következtetéseire magyarázatot adni. Csekély számú neuronból álló hálózatoknál ez még lehetséges az I/O vagy Jelzési diagramm segítségével • Nincs manuális tudásbeviteli lehetőség a létező tudás ábrázolására, ezért mindent a nulláról kell megtanulnia, ami hosszabítja a tanulást • A neurális hálózat működését direktben szimuláló neurális elvű chipek nagyon drágák, és csak katonai alkalmazásokban terjedtek el, igaz, hogy ezeken viszont a hálózat működése rettenetesen gyors. Ezen a helyzeten sokat segíthetnek az újabban elterjedő párhuzamos feldolgozási (Parallel Processing) képességgel rendelkező, többmagos, olcsóbb polgári célú processzorok
Y Y X X A visszacsatoló tanulási módszer kritikája 2 A legnagyobb hátrány, hogy nagyon rossz a visszacsatoló tanulás konvergenciája, mert a minimalizált hibafüggvényen iszonyatos mennyiségű lokális optimum van: 30.1. PÉLDA: kétváltozós input térben (X, Y) V-alakzatban elhelyezkedő mintákat akarunk megtanítani a fentiekben tárgyalt hárommezős, 6 neuronos perceptron hálózatnak visszacsatoló tanulással: • A 3. mező két output neuronja által definiált konvex fuzzy hiperpoliéderek (lásd: ) rosszul fedik le a V-alakú minta eloszlás „hoszabbik szárát”, • Ezért a rejtett és az output mező közti tanulás elkezdi emelni az őket felépítő 2. mezős fuzzy félterek közt nagyobb hibajelet (több lefedetlen megfigyelést) produkálónak a súlyát, „megnyújtva” a hiperpoliédereket • Ekkor azonban a V-alakú eloszlás „rövidebb szárán” generálódik nagyobb hibajel, ezért az input és a rejtett mező közti tanulás megnöveli az ezirányba néző 1. mezős Y input változó súlyát, ami úgy elforgatja a 2. mező fuzzy féltereit, hogy a 3. mező fuzzy hiperpoliéderei lecsúsznak a V-alakú minta eloszlás „hoszabbik száráról”, és a móka kezdődik elölről… • Látható, hogy még ennyire kis méretű, egyszerű rendszer esetén is előállhat olyan helyzet, hogy a visszacsatoló tanulás egyáltalán nem konvergál, a súlyok beállítása egy lokális optimumba ragad, vagy több közt ide-oda ugrál, és tanulás teljesítménye messze elmarad az adott hálózattal elérhető lehetséges leghatékonyabb megoldástól.
A visszacsatoló tanulási módszer kritikája 3 • Mindez azért van, mert a visszacsatoló tanulás során csak az output mező neuronjai képeznek közvetlenül hibajeleket az elvárt outputokból, a rejtett mezőkre a hibajelek már csak egyre közvetettebb módon, egyre több kereszthatással tarkítva jutnak le. Ezért a rejtett mezők egyre kevésbé célirányosan tanulnak, viszont a bennük bekövetkező hirtelen változások alapjaiban rázhatják meg a felépített modellt. Ezt a következőképpen képzelhetjük el: 30.2. PÉLDA: Egy dobozban lévő építőkockákból akarunk várat építeni. Az alul lévő nagyobb kockák szimbolizálják a többmezős perceptron alacsonyabb szintű mezőit, a felül lévő kisebb kockák a magasabbakat. A várat úgy építjük, hogy a kockahalom tetejét egy, a formáját mintázó légkalapáccsal addig ütögetjük, amíg a kockák a megkívánt helyre nem lökdösik egymást • Azonban csak a tetejére tudunk ütéseket mérni, az alul levő nagyobb kockák helyzetét csak közvetett módon, lassan, bizonytalanul tudjuk módosítani • Ha viszont váratlanul nagyot mozdulnak, az egész vár összeomolhat
A gyakorlat tartalma 29. Házi Feladat ellenőrzése: Nőtervezés FuzzyTech-ben A neurális hálózatok tanulása: • Nem felügyelt tanulás • Hebb-féle tanulási törvény • A szükséges hálózati topológia: BAM • A BAM aktivációja • A Hebb-féle tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Felügyelt tanulás • Delta tanulási módszer • A szükséges hálózati topológia: perceptron • A perceptron aktivációja • A delta-szabály algoritmusa • Tesztelése, alkalmazása és kritikája • Visszacsatoló tanulási módszer • A szükséges hálózati topológia: többmezős perceptron • A többmezős perceptron aktivációja • A visszacsatoló tanulás algoritmusa • Tesztelése, alkalmazása és kritikája • Neurális hálózatok validációja • Nem felügyelt tanulásnál • Felügyelt tanulásnál • Egyszerű validáció • Keresztvalidáció • Számítógépes alkalmazás a neurális hálózatok elméletéhez • Mátrix diagramm • Vezérlési függvény diagramm 30. Házi Feladat: Karakterek tervezése a vezérlési függvény szimulátorban
Megoldási lehetőségek az alacsony konvergenciára: • Alacsony g tanulási rátával és magas E tanulási epoch ismétlés szám mellett végezzük a tanítást, ami rendkívül magas számolásigényű lesz: “ismétlés a tudás anyja”-elv: g↓, E↑ • Vagy összeköttetésenként, mintánként, epochonként külön random változtatjuk a g tanulási rátát egy tartományban, hogy kirázza a tanulást egy szuboptimális helyzetbe akadásból: “adj neki egy pofont, hátha tanul belőle”-elv: ghoje=0.01+Rnd(0,0.001) (30.22) • Vagy epochonként random változtatjuk a tanító mintavektorok sorrendjét: “magyarázd el újra neki másképp, hátha tanul belőle”-elv: j(e+1)=je + Rnd(1..m) (30.23) • Vagy genetikus algoritmust (Genetic Algorithm, GA)(lásd: Session26) használunk a hálózat szinapszis-súlyainak minimális összesített hibát biztosító beállításához, ami jól kezeli a rengeteg lokális optimumot a hibafüggvényben: “tenyészd ki a macskát, aki már ösztönösen tudja, mi a jó neki, és nem kell tanulnia”-elv Neurális hálózatok validációja (Validation of Neural Networks): • A neurális hálózat, mint eloszlásfüggetlen becslési rendszer hatékonyságának mérése • Nem felügyelt tanulásnál ez valami entrópia-mérték, mennyire sikerült homogén csoportokat létrehozni a megfigyelésekből, pl. Wilks-l (lásd: Session19) • Felügyelt tanulásnál a következő módszerek használatosak: • Egyszerű validáció (Validation):A minimalizált SSEo hibákból kiszámíthatók az R2o modell illeszkedések o=1..O output változónként: R2o = (VAR(xo) – SSEo/m) / VAR(xo), o=1..O (30.24) [0,1] közti értéket vehet fel, ahol 1 a tökéletes illeszkedés, R2o>0.75 elfogadható • Keresztvalidáció (Cross-validation):Egy,a tanítómintától független zj={zij i=1..n, zoj o=1..O}j=1..mteszt/validációs mintán (Test/Validation Sample/Pattern Set) végigfuttatjuk a becslést (lehet, hogy egy mintát felez el véletlen módon tanító- és tesz részre). Majd kiszámítjuk ennek az illeszkedéseit: R2’o = (VAR(zo) – SSEo/m) / VAR(zo), o=1..O (30.25) Optimális esetben az egyszerű- és a keresztvalidált illeszkedés egyenlő: R2o≈R2’oHa az utóbbi kisebb, a hálózat túltanulta (Overlearning) a minta egyedi részleteit, és ez zavarja az általánosítást. Ez ellen a hálózat vágásával (Pruning) védekezhetünk, ami a kis súlyú összekötetések törlését jelenti.
Számítógépes alkalmazások a neurális hálózatok elméletéhez 1 A MatrixSim.xls fájl egy maximum 3 mezős, mezőnként maximum 16 neuront tartalmazó hálózat aktivációját jeleníti meg mátrix diagramm formában. A zöld cellák a neuronok mebrán értékei, a pirosak a neuronok jelzései, a sárga különböző árnyalataiban pompázó cellák az összeköttetések súlyai (az árnyalat a súly nagyságával arányosan világosodik). A sárga színű legördülő menükben állíthatjuk a mezők: • Sorszámát, • Jelzési határértékét, • Jelzési meredekségét, • A mezőtípust (I/O/rejt) • A neuronok aggregá- cióját (Addit/Multiplik) • A jelzési függvény tí- pusát (Lineáris/S-gör) Csatolásokra beállítható: • A típusuk (előre/hátra /mezőközi) • A tanulásuk (Hebb/ delta/visszacstoló/ random) • A tanulási ráta A mezők neuronjai 4×4- es térrácsban is láthatók
Számítógépes alkalmazások a neurális hálózatok elméletéhez 2 A ContrFunctSim.xls fájl egy maximum 4 mezős, mezőnként maximum 8 neuront tartalmazó hálózat aktivációját jeleníti meg vezérlési függvény diagrammon, vagyis minden neuron jelzési értékét ábrázolja az 1. mező X,Y input változóinak függvényében. A neuronok sárga legör- dülő menüiben állíthatók: • Az aggregáció típusa • A jelzési függvény • A jelzési határérték • A jelzés meredekség Két neuront úgy csatol- hatunk össze, hogy a jel- zés-adó neuron bal felső lila számkód cellájára szóló cella-hivatkozást írunk a jelzést fogadó ne- uron bármely alsó lila cellájába, és fölé írjuk a csatolás [-9,+9] közti ér- téket felvevő súlyát,mely mást színt kap, ha pozi- tív, ha negatív, ha zéró Körüli.
30-1. Házi Feladat: karakterek tervezése a vezérlési függvény szimulátorban • Módosítsa a ContrFunctSim.xls fájlban található négymezős teljes előrecsatoló hálózat beállításait úgy, hogy a jelenlegi neuronmennyiség felhasználásával a K, L, M, N, O, X, Y, Z karaktereket fel tudja ismerni. • A megoldás: 30-1Megoldas.xls