5.3. Az MLP és a bázisfüggvényes hálózatok összehasonlítása

Az MLP és a bázisfüggvényes hálók alapvetően hasonló feladatok megoldására alkalmasak, ezért célszerű, ha a főbb jellemzők alapján egy rövid összehasonlítást teszünk. Mindkét hálóosztályba tartozó hálók előrecsatolt, többrétegű architektúrával rendelkeznek és mindkét hálócsalád a bemenet(ek) és a kimenet(ek) között nemlineáris memória nélküli leképezést valósít meg. A hasonlóság mellett azonban lényeges különbségek is vannak, melyek figyelembevétele fontos lehet a gyakorlati alkalmazásoknál.

A két hálóosztály összehasonlításánál a következő főbb szempontokat célszerű figyelembe venni. Ezek:

  • a háló felépítése,

  • a hálók approximációs képessége,

  • a hálók általánosító-képessége,

  • a megoldás egyértelműsége,

  • a háló tanításának jellege,

  • a tanulás és a működés sebessége,

  • a háló számítási- és memória-komplexitása.

    A hálók felépítését tekintve a legfontosabb különbség, hogy az MLP paramétereiben nemlineáris, míg a bázisfüggvényes hálók alapvetően paramétereiben lineáris leképezést valósítanak meg. Ennek oka, hogy a bázisfüggvényes hálók kimeneti rétege lineáris és többnyire csak ez a kimeneti réteg tartalmaz tanítható paramétereket.

    Az approximációs- és általánosító-képesség tekintetében a fő különbség nem az MLP és a bázisfüggvényes hálók között van, hanem a bázisfüggvényes hálók egyes típusai között. Láttuk, hogy mind az MLP, mind egyes bázisfüggvényes hálók (pl. az RBF) univerzális approximátorok. Ehhez az MLP aktivációs függvényeinek, illetve a bázisfüggvényeknek meghatározott tulajdonságokkal kell rendelkezniük. Az univerzális approximátor képesség azt jelenti, hogy nemcsak a tanítópontokban, hanem a teljes értelmezési tartomány minden pontjában biztosítható a tetszőlegesen kis hibájú közelítés. Az univerzális approximátor képesség tehát az általánosító-képességre is vonatkozik.

    A bináris CMAC ezzel szemben – bár felépítése az RBF-hez hasonló – nem tekinthető univerzális approximátornak. Az előzőekben láttuk, hogy a gyakorlatban is megvalósítható CMAC komplexitás mellett az approximációs- és az általánosító-képesség külön vizsgálandó, sőt külön vizsgálandók az egy- és a többdimenziós hálózatok tulajdonságai is. Általánosságban elmondható, hogy mind a leképezés jellege, mind az általánosítási hiba tekintetében a bináris CMAC hálók elmaradnak az MLP és RBF hálóktól. Ugyanakkor azt is láttuk, hogy a CMAC hálózatoknak léteznek olyan változatai, melyekkel gyakorlatilag hasonló minőségű approximáció biztosítható. Így elmondható, hogy a felmerülő nehézségek ellenére a CMAC háló akár az MLP reális alternatívája is lehet.

    Az általánosító-képesség tekintetében azonban az MLP és a bázisfüggvényes hálózatok többsége között lényeges különbség van. Míg az MLP globális általánosító-képességgel rendelkezik, a bázisfüggvényes hálózatokra a lokális általánosítás a jellemző. Ez egyértelműen igaz a CMAC hálókra, de praktikusan igaz az RBF hálókra is. Pontosabban mindazon hálókra igaz, ahol a bázisfüggvények véges vagy gyakorlatilag véges tartójúak. A bázisfüggvényes hálóknál a véges tartó következménye, hogy az approximáció jellege eltérő még az MLP és az RBF hálóknál is. Általában az MLP válaszai simábbak, mint az RBF válaszai, és az MLP kevésbé hajlamos a túltanulásra, ahogy ezt az MLP-re vonatkozó 4.7 és az RBF approximációját mutató 5.3 ábrák illusztrálják. Azt is mondhatjuk, hogy az MLP implicit regularizációval rendelkezik. A lehetséges végtelen sok megoldás közül inkább a sima megoldásokat részesíti előnyben. A túltanulást illetően a CMAC nemcsak, hogy hajlamos a túltanulásra, hanem a nagyszámú szabad paraméter miatt – különösen egydimenziós esetben – a tanítópontokat akár hibátlanul is megtanulja, még akkor is, ha azok nagymértékben zajosak (ld. 5.22 (b) ábra). A megfelelő általánosító-képesség biztosításához a CMAC hálóknál a regularizációnak nagyon fontos szerepe van.

    A véges tartó következménye a lokális tanulás és az ún. inkrementális tanulás is. A lokális általánosító-képesség azt jelenti, hogy egy tanítópontnak csak egy szűk környezetre van hatása. Az ehhez kapcsolódóan jelentkező inkrementális tanulási képesség pedig azt, hogy az egymástól távol lévő tanítópontokat a háló egymástól közel függetlenül tanulja meg. Így a megtanult ismeret általában nem degradálódik, ha újabb tanítópontok formájában újabb ismeretet kívánunk a hálónak megtanítani, feltéve, hogy az újabb tanítópontok kellően távol vannak a már megtanított pontoktól. Az MLP nem rendelkezik az inkrementális tanulás képességével. Minden tanítópont a háló összes súlyát módosítja, ezért az újabb ismeret leronthatja a már megszerzett ismeretet, hacsak a régebbi tanítópontokat nem használjuk fel ismételten az újabb pontok tanításánál is.

    A megoldás egyértelműsége tekintetében is lényeges különbségeket találunk az MLP és a bázisfüggvényes hálók között. Az MLP paraméterekben nemlineáris leképezése miatt a hibafelület nem kvadratikus. Ez még akkor is igaz, ha az MLP-nél is lineáris kimeneti réteget alkalmazunk. A felületen létezhetnek lokális minimumok, sőt a globális minimum sem egyértelmű: a súlyok megfelelő permutációjával különböző, de egyenértékű megoldásokhoz juthatunk. A lokális minimumok, mint láttuk a háló tanításánál (a gradiens alapú tanuló eljárásoknál) okozhatnak komoly nehézséget. A bázisfüggvényes hálók, amennyiben csak a kimeneti lineáris réteget tanítjuk, négyzetes hibafelülettel rendelkeznek, ami biztosítja, hogy nincsenek lokális minimumok. A paraméterekben lineáris struktúra biztosítja azt is, hogy a megoldás akár analitikusan is meghatározható.

    A tanítás jellegét vizsgálva az látható, hogy az MLP-nél analitikus megoldást nem kapunk, a tanítópontok egyenkénti vagy kötegelt felhasználásával juthatunk el a megoldáshoz. A bázisfüggvényes hálóknál ezzel szemben mind analitikus, mind iteratív megoldás nyerhető.

    A tanulás sebességét nézve a CMAC háló lehet a leggyorsabb. Ennek oka a bemeneti nemlineáris réteg által megvalósított egyszerű leképezés és a véges bázisfüggvény tartó, amiből adódik, hogy egy tanító lépésben a súlyok töredékét módosítjuk csak. Visszahíváskor szintén csak a súlyok töredékét kell meghatároznunk, továbbá a bináris Albus-féle hálóban sem szorzásra, sem nemlineáris függvény (aktivációs függvény, nemlineáris bázisfüggvény) számítására nincs szükség.

    A legkevésbé konkrét megállapítások a hálók komplexitásával kapcsolatban tehetők. Bár jelenleg erre vonatkozó elméleti eredmény legjobb tudomásunk szerint nincs, adott feladat megoldásánál nagy valószínűséggel az MLP igényli a legkevesebb szabad paramétert. Ez annak ellenére igaz, hogy nem tudjuk meghatározni a rejtett neuronok (szükséges és elégséges) minimális számát, ha pl. adott pontosságú függvényapproximáció a feladat. Ugyanakkor az RBF hálóknál a bázisfüggvények számának felső korlátja meghatározható, hiszen ez a tanítópontok számával megegyezik. A CMAC esetében a bázisfüggvények száma a háló felépítésből és a C paraméter értékéből egyértelműen kiadódik, és ahogy láttuk, ez extrém nagy is lehet. A CMAC háló, tehát annak ellenére, hogy nagyon egyszerű építőelemekből áll, többdimenziós esetben a nagy memóriaigény miatt speciális megoldásokat igényel.

    Feladatok

    5.1 Konstruáljon RBF hálót, amely megoldja a két egymásba tekeredő spirál szétválasztását. Vizsgálja meg, hogy hogyan befolyásolja a háló eredményét a σ szélességparaméter értéke. A kettős spirál mintakészletet az alábbi MATLAB kód felhasználásával generálja:

function [xy, dr] = TwoSpiral()

xy_A=[];

d_A=[];

xy_B=[];

d_B=[];

for i=0:96

angle = i * pi /16;

radius = 6.5 * (104 - i)/104;

x = radius * sin(angle);

y = radius * cos(angle);

xy_A= [xy_A; x, y];

d_A = [d_A; 1];

xy_B = [xy_B; -x, -y];

d_B = [d_B; -1];

end;

xy= [xy_A; xy_B];

dr = [d_A; d_B];

save two_spiral_1 xy dr;

plot(xy_A(:,1),xy_A(:,2), '+');

hold on;

plot(xy_B(:,1),xy_B(:,2), 'o');

hold off;

5.2 Oldja meg a paritásproblémát (N-bites bemeneti minták páros és páratlan paritású csoportokra való szétválasztása) RBF hálózattal. Vizsgálja meg, hogy a bázisfüggvények száma és elhelyezése, valamint a σ szélességparaméter hogyan befolyásolják a megoldást.

5.3 Egy RBF hálózatnál a rejtett rétegbeli neuronok paramétereinek, a bázisfüggvények középpont- és szélesség-paramétereinek meghatározását is ellenőrzött tanítással, gradiens módszerrel kívánjuk végezni. Határozza meg a tanítási összefüggéseket, ha Gauss bázisfüggvényeket használ.

5.4 A

g(r)=(c2+r2)1/2MathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4zamaabmaabaGaamOCaaGaayjkaiaawMcaaiabg2da9maabmaabaGaam4yamaaCaaaleqabaGaaGOmaaaakiabgUcaRiaadkhadaahaaWcbeqaaiaaikdaaaaakiaawIcacaGLPaaadaahaaWcbeqaaiaaigdacaGGVaGaaGOmaaaaaaa@42CD@c > 0, r ≥ 0 multikvadratikus függvény

és a

g(r)=(c2+r2)2MathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaam4zamaabmaabaGaamOCaaGaayjkaiaawMcaaiabg2da9maabmaabaGaam4yamaaCaaaleqabaGaaGOmaaaakiabgUcaRiaadkhadaahaaWcbeqaaiaaikdaaaaakiaawIcacaGLPaaadaahaaWcbeqaaiabgkHiTiaaikdaaaaaaa@424C@ c > 0, r ≥ 0 inverz multikvadratikus függvény

két lehetséges radiális bázisfüggvény választás. Az inverz multikvadratikus függvényt alkalmazó RBF háló nemlineáris leképezések lokális approximációját végzi. Ezzel szemben a multikvadratikus függvény az RBF lokális approximációs működésére ellenpélda. Igazolja ezt a két állítást.

5.5 A XOR feladat nemlineárisan szeparálható feladat. Mutassa meg, hogy megfelelően megválasztott középpontokkal az RBF rejtett rétegének kimenetén a bemeneti mintapontok olyan transzformált értékeit nyerjük, melyek már lineárisan szeparálhatók lesznek. Mutassa meg, hogy 2 rejtett elem elegendő a lineáris szeparálhatóság biztosításához, ha eltolás-értéket is használunk. Konstruáljon olyan RBF hálót a feladat megoldására, ahol nincs eltolás tag. Hány bázisfüggvénnyel tudja megoldani a feladatot?

5.6 Mutassa meg, hogy az additív függvényosztály kielégíti a bináris CMAC konzisztencia egyenleteit függetlenül attól, hogy az általánosító paraméter C értéke mekkora.

5.7 Határozza meg, hogy mi az a függvényosztály, melyet az elsőrendű, a másodrendű, stb. CMAC hálózatok képesek modellezni.

5.8 Határozza meg, hogy milyen választ ad a CMAC háló a C távolságra lévő tanítópontok között négyszögletes, lineáris illetve magasabbrendű bázisfüggvények alkalmazásánál.

5.9 Mutassa meg, hogy nulla kezdeti értékből kiindulva tömörítés nélküli esetben a CMAC tanítása konvergens.

5.10 Képes-e megtanulni egy bináris (elsőrendű, másodrendű) CMAC az y=sin(x1)sin(x2)MathType@MTEF@5@5@+=feaagCart1ev2aaatCvAUfeBSjuyZL2yd9gzLbvyNv2CaerbuLwBLnhiov2DGi1BTfMBaeXatLxBI9gBaerbd9wDYLwzYbItLDharqqtubsr4rNCHbGeaGqipu0Je9sqqrpepC0xbbL8F4rqqrFfpeea0xe9Lq=Jc9vqaqpepm0xbba9pwe9Q8fs0=yqaqpepae9pg0FirpepeKkFr0xfr=xfr=xb9adbaqaaeGaciGaaiaabeqaamaabaabaaGcbaGaamyEaiabg2da9iaabohacaqGPbGaaeOBamaabmaabaGaamiEamaaBaaaleaacaaIXaaabeaaaOGaayjkaiaawMcaaiaayIW7caaMi8UaaGjcVlaayIW7caqGZbGaaeyAaiaab6gadaqadaqaaiaadIhadaWgaaWcbaGaaGOmaaqabaaakiaawIcacaGLPaaaaaa@4AB1@ kétváltozós függvényt? Mi a helyzet az RBF illetve az MLP hálózatokkal? Konstruáljon egy-egy megoldást a három különböző hálózattal és hasonlítsa össze az eredményt az approximáció minősége, a háló mérete és a tanítás sebessége szempontjából.

5.11 Hogyan tudná a CMAC hálózatnál a kvantálásból adódó szakaszonként konstans leképezést folytonos leképezéssé módosítani?

5.12 Oldja meg a négydimenziós sinc problémát a szorzatok összege (SOP) architektúrával, ha a szorzat modulokban kétdimenziós CMAC hálókat használ. Mekkora lesz a kapott háló memória komplexitása? Hasonlítsa össze ezt a komplexitást egy ugyanilyen felbontású bináris CMAC komplexitásával.

5.13 Hasonlítsa össze a súlysimító regularizáció és a kredit hozzárendelés hatását a CMAC háló válaszára.