12.1. Az a priori tudás felhasználása virtuális minták generálására
Virtuális minták generálása az a priori tudás felhasználásának az egyik legtermészetesebb módja. Az így létrehozott mintákkal kiegészítve a meglévő mintakészletet a hálók konstrukciója az eddig bemutatott eljárásoktól semmiben sem tér el. A virtuális mintákon keresztül a megoldandó problémáról további ismereteket ún. tárgytartomány tudást (domain knowledge) tudunk a neuronháló által kezelhető formában hasznosítani. A virtuális minták lehetőséget adnak arra, hogy a problématér olyan tartományairól is legyenek felhasználható mintáink, melyeket az eredetileg rendelkezésre álló minták nem fednek le, de azt is biztosíthatják, hogy a mintakészlet tükrözze a problémában eleve meglévő invariancia tulajdonságokat.
Az első esetre jó példa a 7. fejezetben már említett autonóm autóvezető rendszer, az ALVINN [Pom91]. Mint láttuk, ott kameraképek alapján kellett egy neuronhálónak beállítani egy terepjáró kormányát úgy, hogy az emberi kormányzás nélkül tudjon közlekedni egy autópályán. A tanító mintakészlet olyan kamerakép-kormánybeállítás párokból állt, melyeket egy emberi sofőr által vezetett autó normál menete közben vettek fel. Minthogy azonban egy ember „túl jó” sofőr, a begyűjtött minták extrém szituációkat nem reprezentáltak. Olyan helyzetekre tehát nem lehetett ezen minták alapján felkészíteni az automata kormányost, mikor az autó túlzottan letért a helyes nyomvonalról. Vagyis a problématér egy jelentős tartományából nem álltak rendelkezésre minták. Bár a neuronhálók képesek általánosításra, ez az általánosítás inkább interpoláció, mint extrapoláció jellegű. Olyan szituációkra, melyek ismert helyzetek között helyezkednek el, egy háló általában jó válasszal reagál. Ha azonban a tanító minták által reprezentált ismert helyzetektől jelentősen eltérő szituáció fordul elő, a háló képtelen jó választ adni. Az ALVINN kapcsán az ilyen extrém vagy csak a normál menettől jelentősebben eltérő helyzetekre generáltak mintákat, felhasználva a problémáról meglévő a priori tudást. Ismerve a kamerának az autóhoz viszonyított helyét, és felhasználva a menet közben összegyűjtött mintákat, megfelelő transzformációval olyan virtuális mintákat − kameraképeket − lehetett előállítani, melyek akkor fordultak volna elő, ha az autó extrém helyzetbe került volna (pl. áttér az út bal oldalára, lefut az útpadkára, stb.). Az új képeknek és az autó ezekhez tartozó helyzetének a felhasználásával ki lehetett számítani a megfelelő kormánybeállítás értékeket, vagyis kiegészítő kamerakép-kormánybeállítás párokat lehetett generálni. A virtuális mintákkal kibővített mintakészlet tette lehetővé az ALVINN sikerét.
A bizonyos transzformációkkal szembeni invariancia szintén lehetőséget biztosít a priori ismeret virtuális minták generálása által történő hasznosítására. Számos − elsősorban osztályozási − feladatnál a bemeneti minták bizonyos transzformációi mellett is változatlan választ kell kapnunk. Tipikus példa erre a karakterfelismerés és általában a különböző képi alakzatok felismerése. Egy karaktert akkor is fel kell ismerni, ha pozícióban eltolt, kismértékben elforgatott, korlátozottan nagyított vagy kicsinyített változata kerül egy neurális osztályozó bemenetére. Hasonlóan, ha egy vonalas ábrán a vonalak vastagsága bizonyos korlátok között változik, az ábra besorolása a lehetséges osztályok egyikébe nem változhat. A transzformációkkal szembeni invariancia, mint a priori ismeret felhasználható virtuális minták generálására. A 7. fejezetben bemutatott kézzel írt karakterek felismerésénél az igen jó eredmény elérése döntően annak volt köszönhető, hogy az eredetileg 60.000 elemből álló tanító mintakészletet 540.000 eleműre növelték a képek egy-pixeles függőleges, vízszintes és átlós eltolásaival.
A virtuális minták generálása az a priori tudás hasznosításának általánosan alkalmazható módja [Niy98], ugyanis bármilyen mintákból tanuló rendszernél, bármilyen hálótípusnál használható. Hátránya, hogy a tanuló eljárást jelentősen lelassíthatja. Ez két okból is bekövetkezhet. Egyrészt a jóval nagyobb mintakészlet a tanító lépések számát megsokszorozhatja, másrészt a mesterségesen generált minták között nagyobb lehet a korreláció, ami szintén a tanítás lassulását eredményezi.
A nagy mintakészlet a szupport vektor gépeknél különösen megnehezítheti a háló konstrukcióját, hiszen az SVM számítási komplexitását alapvetően a kernel mátrix mérete határozza meg, és a kernel mátrix egy P × P méretű mátrix, ahol P a tanítópontok száma. A következőkben röviden bemutatott virtuális szupport vektor eljárás ugyan felhasználja az a priori ismeret alapján létrehozott virtuális mintákat, azonban ezt úgy teszi, hogy a jelentősen megnövelt mintakészlet ne növelje meg a számítási komplexitást.
A szupport vektor gépek tárgyalásánál láttuk, hogy az SVM megoldása a szupport vektorokon múlik. A szupport vektorok mindazt az információt hordozzák, ami az osztályozási vagy regressziós feladat megoldásához a teljes kiinduló mintakészletben megtalálható. Ez a felismerés felveti annak a lehetőségét, hogy virtuális mintákat csak a szupport vektorok felhasználásával generáljunk. Egy osztályozási feladatnál a szupport vektorok a szeparáló felülethez legközelebb lévő mintapontok. Intuitíve is az az érzésünk, hogy nem sok haszonnal jár, ha azon mintapontokból generálunk virtuális mintákat, melyek a döntési felülettől távol vannak. A felvetés jogosságát valamilyen módon, például kísérletileg igazolni kell. Az ötlet és a kísérleti igazolás is Bernard Schölkopftól és munkatársaitól származik [Sch96b]. A módszer alkalmazása az alábbi lépéseket igényli:
-
Tanítsunk meg egy szupport vektor gépet abból a célból, hogy a tanítópontok közül megkapjuk a szupport vektorokat.
-
Generáljunk mesterséges mintákat úgy, hogy a megfelelő invariancia transzformációkat a szupport vektorokra alkalmazzuk. Ezeket a mesterséges mintákat nevezzük virtuális szupport vektoroknak.
-
Tanítsunk meg egy újabb szupport vektor gépet az előbbiekben létrehozott virtuális szupport vektorokkal kibővített szupport vektor készlettel.
Az eljárás akár iteratív módon több ciklusban is alkalmazható, azonban ekkor ügyelni kell arra, hogy az esetlegesen csak lokálisan érvényes invariancia ne váljék globális invarianciává.
Az eljárást a 7. fejezetben bemutatott karakter-felismerési problémán tesztelték. A nagyméretű (60.000 tanítóminta) tanítókészlet miatt, továbbá mivel egy SVM osztályozó kétosztályos feladat megoldására képes, a tízosztályos feladatot kétosztályos feladatokként oldották meg. A virtuális szupport vektor módszert úgy alkalmazták, hogy minden szupport vektor alapján további 4, 8, illetve 12 virtuális szupport vektort állítottak elő [Sch97], [DeC02]. A téves osztályozás aránya a 10.000 elemű teszt mintakészleten a három esetben rendre 0,8%, 0,7%, illetve 0,6%-ra adódott (ez utóbbi a valaha is publikált legjobb érték), miközben a virtuális szupport vektorok száma mindhárom esetben kevesebb volt, mint a kiinduló tanítókészlet elemszáma. (Összehasonlításként utalunk a 8.1 táblázatban közölt legjobb értékre, ahol a téves osztályozás aránya 0,9% volt mintánként 8 virtuális mintát felhasználva. Ugyanakkor meg kell jegyezni, hogy a kétféle megközelítésben felhasznált minták számát nehéz összevetni, mivel a 7. fejezetben bemutatott megoldás az eredeti 10 osztályos feladatot egyben oldotta meg, míg a virtuális SV módszerrel a problémát különálló kétosztályos feladatokra bontották.)