A mesterséges neuronhálók alapjai
A „perceptron” neuron-modell Többféle neuron-modell ill. neuronháló-típus létezik A legnépszerűbb az ún. perceptron-modell (Rosenblatt, 1957) A biológiai neuronokat próbálja imitálni leegyszerűsített módon A modell paraméterei a wi súlyok (ezeket fogjuk a tanulás során belőni) o output kiszámítása:
Egy neuron kimenete a jellemzőtérben Az egy egyenes (több dimenzióban: hipersík) egyenlete Az aktivációs függvény ennek egyik oldalán -1-et, másik oldalán 1-et ad Azaz a perceptron a teret két résztérre képes osztani egy egyenes mentén Az egyenessel való elválasztás elég szerény reprezentációs erőt (tanulási képességet) jelent A gyakorlatban elég kevés feladat oldható meg ilyen egyszerűen… ÉS ill. VAGY művelet megtanulható, XOR nem: Erre Minsky és Papert mutatott rá 1969-ben Emiatt egész az 1980-as éveig hanyagolták a neuronhálók kutatását („AI winter”)
Neuronhálók Reprezentációs erő növelése: építsünk hálózatot! Klasszikus struktúra: Multilayer feedforward network Minden réteg az alatta lévő rétegtől kapja az inputját A rétegek között „full connection”: minden neuron minden neuronnal Csak előremutató kapcsolatok Viszonylag ritkán szokás, de: Fully connected helyett ritka („sparse”) hálót is lehet csinálni Rétegek kihagyása szintén viszonylag könnyen megoldható Visszacsatolt (rekurrens) struktúra is lehetséges, azt viszont jóval bonyolultabb tanítani (ld. Recurrent neural networks) Ezek főleg időbeli sorozatok modellezésében hasznosak
A neuronháló reprezentációs ereje Konvex térrész körbekerítése: 1 rejtett réteg elég A rejtett réteg egyes neuronjai reprezentálnak 1-1 határoló egyenest A kimeneti neuron ÉS műveletet végez: ott jelez, ahol a rejtett neuronok mindegyike jelez Tetszőleges (akár non-konvex, nem összefüggő) térrész megtanulása: 2 rejtett réteg elég Az első rejtett réteg neuronjai egyeneseket húznak A második réteg neuronjai ÉS művelettel konvex térrészeket jelölnek ki A kimeneti neuron VAGY művelettel ezeket non-konvex, nem összefüggő térrészeké is össze tudja kapcsolni Elvileg 2 rejtett réteggel minden gyakorlati tanulási feladat megoldható A tetszőleges pontossághoz végtelen sok neuron, végtelen sok tanító adat és tökéletes (globális optimumot adó) tanító algoritmus kellene…
Kapcsolat a statisztikai alakfelismeréssel Az előzőekben azt szemléltettük, hogy a neuronháló hogyan képes osztályokat elszeparálni (geometriai szemlélet) Bebizonyítható, hogy a háló a döntéselméleti szemléletnek is meg tud felelni, bizonyos feltételek teljesülése esetén Minden ci osztályhoz egy kimeneti neuron Azt várjuk tőle, hogy közelítse az adott osztály P(ci|x) diszkriminánsfüggvényét A kimenetek alapján osztályozás: A legnagyobb P(ci|x) kimeneti értéket adó ci A legvalószínűbb osztály címkéjének ismerete mellett az osztályhoz tartozó P(ci|x) valószínűség ismerete sok alkalmazásban hasznos Pl. megbízhatóság (konfidencia) vizsgálata A Bayes döntési szabállyal való összekapcsolás bizonyos alkalmazási területeken jelentősen megnövelte a neuronhálók iránti bizalmat
Valószínűség eloszlás tanulása Mi szükséges ahhoz, hogy a háló kimeneteit P(ci|x) valószínűségi becslésként értelmezhessük? Minden ci osztályhoz egy kimeneti neuron Azt várjuk tőle, hogy közelítse az adott osztály P(ci|x) diszkriminánsfüggvényét Módosítani kell az aktivációs függvényt Bináris helyett folytonos értékkészletű aktivációs függvény Kimenő réteg: [0,1] értékkészletű aktivációs függvény, a kimenetek összege 1 Tanító példák címkéje: 1-of-M kódolású vektor M méretű vektor (osztályok száma), benne egyetlen 1-es: Megfelelő tanítási célfüggvény Fontos, hogy gyakorlati esetben itt is csak közelítést kapunk! Pontos értékhez végtelen sok neuron, végtelen sok tanítópélda, tökéletes tanító algoritmus kellene…