Mesterséges neuronhálók és alkalmazásaik
Kontakt Grósz Tamás Email: groszt@inf.u-szeged.hu Coospace fórum preferált
Menetrend (előadás) Gépi tanulási alapok Mesterséges neuronhálók Mély hálók Optimalizálók, regularizációs módszerek Aktivációs függvények CNN RNN, GRU, LSTM RBM, DBN háló
Menetrend (gyakorlat) Python alapok (ha lesz rá idő) Tensorflow alapok Mesterséges neuronhálók, Mély hálók Optimalizálók, regularizációs módszerek Aktivációs függvények CNN RNN, GRU, LSTM RBM, DBN háló
Követelmények Projektmunka: Vizsga: Egyszerű feladat: kiválasztott adaton sima és mély neuronháló tanítása Bemutatás: kód és elért eredmények bemutatása vizsgán Vizsga: Szóbeli, kérdéssor alapján
Mesterséges Intelligencia Forrás: Norvig könyv
Mesterséges Intelligencia A computer program is said to learn from experience E with respect to some class of tasks T and performance measure P if its performance at tasks in T, as measured by P, improves with experience E. (Tom M. Mitchell) Forrás: Norvig könyv
Mesterséges Intelligencia típusai Megerősítéses tanulás Az ágens adott környezetben akciókat hajt végre és a visszajelzés alapján tanul Pl: játék MI Felügyelet nélküli tanulás A példákhoz nincs „segítség”, azaz elvárt kimenet Leggyakrabban klaszterezés Felügyelt tanulás A bemeneten kívül ismert az elvárt kimenet is Osztályozás vagy regresszió Forrás: Norvig könyv
Osztályozás A feladat a bemeneti vektorokat előre meghatározott kategóriákba sorolni Tanítópéldaként <x,y> párokat használunk X a bemeneti vektor Y a ketegória, amibe x tartozik Példák: Képek osztályozása (mi látható a képen?) Beszédfelismerés Természetes nyelvi feldolgozás Forrás: Norvig könyv
Osztályozás Geometriai szemlélet: Döntéselméleti szemlélet: közvetlenül a határoló felületet modellezzük Döntéselméleti szemlélet: Minden osztályhoz rendelünk egy diszkriminánsfüggvényt Döntés: azt az osztályt választjuk, amihez tartozó függvény a legnagyobb értéket adja Statisztikai alakfelismerés: Minden x vektorhoz azt az yi-t választjuk amire P(yi|x) maximális Célunk a P(yi|x) minél pontosabb becslése a tanítóadat alapján Forrás: Norvig könyv
Az alapok
Az alapok Mi a helyzet akkor, ha nem szétválasztható az adat?
Az alapok Használjunk több jellemzőt! y=ax+b
Perceptron/Mesterséges neuron
Mesterséges neuron Lehetséges aktivációs függvények: Step: y = x > 0 ? 1 : 0 Szigmoid: 𝑦= 1 1+ 𝑒 −𝑥 Hiperbolikus tangens: 𝑦= 𝑒 𝑥 + 𝑒 −𝑥 𝑒 𝑥 − 𝑒 −𝑥
Tanító és teszt halmaz Gépi tanulás esetén célszerű szétválasztani az adatot tanító és teszt halmazra A teszthalmaz segítségével tudjuk mérni a modell pontosságát Gyakran egy harmadik részt is használnak: validációs hallmaz A hiperparaméterek hangolására Illetve a túltanulás elkerülésére Forrás: Norvig könyv
Pontosság mérése Tanítás és tesztelés során tudnunk kell mérni a modell pontosságát. Sima pontosság: az eltalált példák %-a F-érték: kicsit bonyolultabb Precision = 𝑇𝑃 𝑇𝑃+𝐹𝑃 Recall = 𝑇𝑃 𝑇𝑃+𝐹𝑁 F1 = 2∗ 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛∗𝑟𝑒𝑐𝑎𝑙𝑙 𝑝𝑟𝑒𝑐𝑖𝑠𝑖𝑜𝑛+𝑟𝑒𝑐𝑎𝑙𝑙
Perceptron tanulás Tanítás során a célunk a pontosság maximalizálása Lényegében a súlyokat (w) és a biast (b) próbáljuk módosítani, hogy minél kevesebbet hibázzon 𝑤 𝑖 = 𝑤 𝑖−1 + ∆ 𝑖−1 , ∆ 𝑖−1 =−𝛼∗𝛻𝐸( 𝑤 𝑖−1 ), ahol 𝛼 a tanulási ráta 𝐸 𝑤 𝑖−1 = 1 2 ∗ (𝑓 𝑥 −𝑦) 2 , pedig a négyzetes hibafüggvény, amit majd le kell deriválnunk.
A valóság
Mesteréges neuronháló
Mesteréges neuronháló Próbáljuk ki a gyakorlatban: https://playground.tensorflow.org