Google Summer of Code Project

Hasonló dokumentumok
Mit látnak a robotok? Bányai Mihály Matemorfózis, 2017.

Deep Learning a gyakorlatban Python és LUA alapon Tanítás: alap tippek és trükkök

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

I. LABOR -Mesterséges neuron

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók. Pataki Béla

Intelligens orvosi műszerek VIMIA023

Gépi tanulás a gyakorlatban. Lineáris regresszió

KONVOLÚCIÓS NEURONHÁLÓK. A tananyag az EFOP pályázat támogatásával készült.

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Neurális hálózatok bemutató

Hibadetektáló rendszer légtechnikai berendezések számára

Neurális hálózatok.... a gyakorlatban

Keresés képi jellemzők alapján. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Intelligens Rendszerek Gyakorlata. Neurális hálózatok I.

Lineáris regressziós modellek 1

Konvolúciós neurális hálózatok (CNN)

Tanulás az idegrendszerben

Visszacsatolt (mély) neurális hálózatok

Mély neuronhálók alkalmazása és optimalizálása

Kovács Ernő 1, Füvesi Viktor 2

Számítógépes képelemzés 7. előadás. Dr. Balázs Péter SZTE, Képfeldolgozás és Számítógépes Grafika Tanszék

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

NEURONHÁLÓK ÉS TANÍTÁSUK A BACKPROPAGATION ALGORITMUSSAL. A tananyag az EFOP pályázat támogatásával készült.

Neurális hálózatok elméleti alapjai TULICS MIKLÓS GÁBRIEL

NEURÁLIS HÁLÓZATOK 1. eloadás 1

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs rendszerek Tanszék. Neurális hálók 2. Pataki Béla

Bevezetés a neurális számításokba Analóg processzortömbök,

Deep Learning: Mélyhálós Tanulás

Legkisebb négyzetek módszere, Spline interpoláció

A Standard modellen túli Higgs-bozonok keresése

FELÜGYELT ÉS MEGERŐSÍTÉSES TANULÓ RENDSZEREK FEJLESZTÉSE

Osztályozás, regresszió. Nagyméretű adathalmazok kezelése Tatai Márton

Modellkiválasztás és struktúrák tanulása

TARTALOMJEGYZÉK. TARTALOMJEGYZÉK...vii ELŐSZÓ... xiii BEVEZETÉS A lágy számításról A könyv célkitűzése és felépítése...

Deep Learning a gyakorlatban Python és LUA alapon Felhasználói viselkedés modellezés

Osztályozási feladatok képdiagnosztikában. Orvosi képdiagnosztikai 2017 ősz

Kvadratikus alakok és euklideszi terek (előadásvázlat, október 5.) Maróti Miklós, Kátai-Urbán Kamilla

Tanulás tanuló gépek tanuló algoritmusok mesterséges neurális hálózatok

Optimalizálási eljárások GYAKORLAT, MSc hallgatók számára. Analízis R d -ben

Többváltozós lineáris regresszió 3.

Tanulás az idegrendszerben. Structure Dynamics Implementation Algorithm Computation - Function

Mesterséges neurális hálózatok II. - A felügyelt tanítás paraméterei, gyorsító megoldásai - Versengéses tanulás

A többváltozós lineáris regresszió III. Főkomponens-analízis

Intelligens Rendszerek Elmélete. Versengéses és önszervező tanulás neurális hálózatokban

Tanulás Boltzmann gépekkel. Reiz Andrea

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Regressziós vizsgálatok

A neurális hálózatok tanításának alapjai II.: Módszerek a túltanulás elkerülésére. Szoldán Péter

Least Squares becslés

Megerősítéses tanulás

Line aris f uggv enyilleszt es m arcius 19.


Az fmri alapjai Statisztikai analízis II. Dr. Kincses Tamás Szegedi Tudományegyetem Neurológiai Klinika

Hőmérsékleti sugárzás

A lineáris programozás alapjai

A kibontakozó új hajtóerő a mesterséges intelligencia

FEGYVERNEKI SÁNDOR, Valószínűség-sZÁMÍTÁs És MATEMATIKAI

Modern fizika laboratórium

Stratégiák tanulása az agyban

ÉRZÉKELŐK ÉS BEAVATKOZÓK I. 3. MÉRÉSFELDOLGOZÁS

Dr. Schuster György február / 32

Adatbányászati technikák (VISZM185) 2015 tavasz

1. Generátorrendszer. Házi feladat (fizikából tudjuk) Ha v és w nem párhuzamos síkvektorok, akkor generátorrendszert alkotnak a sík vektorainak

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Mély konvolúciós neurális hálózatok. Hadházi Dániel BME IE 338

Matematikai geodéziai számítások 5.

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Irányításelmélet és technika II.

: az i -ik esélyhányados, i = 2, 3,..I

Funkcionális konnektivitás vizsgálata fmri adatok alapján

Adatbányászati szemelvények MapReduce környezetben

Differenciaegyenletek

Konjugált gradiens módszer

Megerősítéses tanulás 9. előadás

Gazdasági matematika II. vizsgadolgozat megoldása, június 10

Gépi tanulás a Rapidminer programmal. Stubendek Attila

Optimalizálás alapfeladata Legmeredekebb lejtő Lagrange függvény Log-barrier módszer Büntetőfüggvény módszer 2017/

Aradi Bernadett. 2017/18 ősz. TensorFlow konvolúciós hálózatokhoz 2017/18 ősz 1 / 11

Töltött Higgs-bozon keresése az OPAL kísérletben

Mátrixok 2017 Mátrixok

Adatok statisztikai értékelésének főbb lehetőségei

A Fermi gammaműhold mozgásának vizsgálata

Likelihood, deviancia, Akaike-féle információs kritérium

A Fermi gammaműhold mozgásának vizsgálata

A légkördinamikai modellek klimatológiai adatigénye Szentimrey Tamás

Problémás regressziók

Egyszerű programozási tételek

Principal Component Analysis

ELTE TáTK Közgazdaságtudományi Tanszék OKTATÁSGAZDASÁGTAN. Készítette: Varga Júlia. Szakmai felelős: Varga Júlia június

AliROOT szimulációk GPU alapokon

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

Teljesen elosztott adatbányászat alprojekt

Etológia Emelt A viselkedés mérése. Miklósi Ádám egyetemi tanár ELTE TTK Etológia Tanszék 2018

Infobionika ROBOTIKA. X. Előadás. Robot manipulátorok II. Direkt és inverz kinematika. Készült a HEFOP P /1.0 projekt keretében

Sajátértékek és sajátvektorok. mf1n1a06- mf1n2a06 Csabai István

11. Előadás. 11. előadás Bevezetés a lineáris programozásba

Biológiai és mesterséges neurális hálózatok

Digitális jelfeldolgozás

Számítógépek felépítése

Átírás:

Neuronhálózatok a részecskefizikában Bagoly Attila ELTE TTK Fizikus MSc, 2. évfolyam Integrating Machine Learning in Jupyter Notebooks Google Summer of Code Project 2016.10.10 Bagoly Attila (ELTE) Machine learning 2016.10.10. 1 / 28

Tartalom 1 Bevezető 2 Lineáris regresszió 3 Logisztikus regresszió 4 Illesztés jellemzése 5 Problémák 6 Neuronhálózatok 7 Mély neuronhálózatok 8 Bevezető: ROOT TMVA 9 Higgs adatszett 10 Anaĺızis folyamata Bagoly Attila (ELTE) Machine learning 2016.10.10. 2 / 28

Bevezető Nagyon magas dimenziós problémákra, komplex modellt szeretnénk Klasszikus illesztés : nem működik Probléma megkerülése : neuronhálózatok Klasszifikáció: modell kimenete diszkrét (valahány osztályba sorolás) DNN manapság népszerű: erős számítógép (GPU), sok adat Machine learning: hihetetlenül gyorsan fejlődő terület DNN: része mindennapjainknak HEP-ben is egyre népszerűbb: CERN IML(http://iml.web.cern.ch/), tagok száma 100-as nagyságrend CMS L1 trigger: boosted decision tree hardver Bagoly Attila (ELTE) Machine learning 2016.10.10. 3 / 28

Lineáris regresszió Mindenki által ismert egyszerű függvényillesztés x (i) j a j-edik változó az i-edik adatsorban Modell: h Θ (x) = Θ 0 + Θ 1 x 1 + Θ 2 x 2 +... Nem feltétlenül lineáris: x j kiegészíthető, ha j = 1...N akkor x N+k = x 2 k, stb. nem linearitás magasabb dimenziós lineáris illesztés Költségfüggvény: J(Θ) = 1 2m m i=1(h Θ (x (i) ) y (i) ) 2 Minimalizálás: pl. gradiens módszer Θ Θ α J(Θ) Bagoly Attila (ELTE) Machine learning 2016.10.10. 4 / 28

Logisztikus regresszió Klasszifikáció? Diszkrét kimenet Két kategória: 0 vagy 1 h Θ (x) tetszőleges kimenetet vehet fel beszorítjuk 0 és 1 közé Sigmoid aktivációs függvény: sigmoid(x) = 1 1+e x Bagoly Attila (ELTE) Machine learning 2016.10.10. 5 / 28

Logisztikus regresszió Mi a modell költségfüggvénye? Tudnia kell: Ha h Θ (x) = y akkor 0 Ha h Θ (x) = 1 és y = 0 akkor nagy Ha h Θ (x) = 0 és y = 1 akkor nagy Egyszerű választás: J(Θ) = 1 m m i=1 [y (i) log(h θ (x (i) )) + (1 y (i) ) log(1 h θ (x (i) ))] N kategória esetén: y {0, 1...N 1} h (0) θ (x) = P(y = 0 x; θ) h (1) θ (x) = P(y = 1 x; θ)... pred = max i (h (i) θ (x)) Bagoly Attila (ELTE) Machine learning 2016.10.10. 6 / 28

Logisztikus regresszió Lineáris modell: x 1, x 2, h Θ (x) = sigmoid(θ 0 + Θ 1 x 1 + Θ 2 x 2 ) Nem lineáris modell: x 1, x 2 featureket kiegészítjük x 3 = x 2 1, x 4 = x 2 2, x 5 = x 1 x 2, és x 0 = 1, ekkor h Θ (x) = sigmoid(θ T x) Bagoly Attila (ELTE) Machine learning 2016.10.10. 7 / 28

Hogy általánosít a modellünk? Hogy teljesít a modellünk? Nem lineáris problémánál 2D 5D J(Θ) hiba kicsi, jó az illesztés? J(Θ) kicsi mégis új adatra teljesen rossz eredmény nem modelleztünk hanem adatokat kódoltunk (overfit, high variance) Kevés feature: underfit, high bias Bagoly Attila (ELTE) Machine learning 2016.10.10. 8 / 28

Megoldás Felosztjuk az adatokat: training set, test set Fontos: adatok random keverve legyenek Csak az egyiken tanul a modellünk Probléma: paraméterek csavargatásával a modell a szemünkön keresztül tanulja meg a test set-et Megoldás: k-fold Cross-Validation Bagoly Attila (ELTE) Machine learning 2016.10.10. 9 / 28

Problémák Valós életben általában sokkal több feature van mint kettő n változó, kvadratikus modell paramétereinek száma O(n 2 /2) Pl. 50x50 pixeles szürkeárnyalatos képeket osztályozunk 2500 változó 3125000 paraméter Ráadásul kvadratikus modell valószínűleg high bias-t eredményez Bagoly Attila (ELTE) Machine learning 2016.10.10. 10 / 28

Neuronhálózatok bevezetés Előbb vázolt probléma megoldására született Lehetővé teszi nagyon komplex modell illesztését anélkül, hogy a paraméterek száma divergálna Használjuk a nagyon egyszerű logisztikus modellt, de csak lineáris featurekkel Neuron Sigmoid aktivációs függvény: neuron aktiválási valószínűség (agyban is hasonló a neuronok karakterisztikája) Komplex modell: neuronokat összekötjük Bagoly Attila (ELTE) Machine learning 2016.10.10. 11 / 28

Neuronh al ozatok Bagoly Attila (ELTE) Machine learning 2016.10.10. 12 / 28

Neuronhálózatok: bementet, kimenet Amennyi bemenet annyi neuron az első rétegben: minden bemenet minden neuronra kapcsolva Annyi kimeneti neuron az utolsó rétegben amennyi osztályunk van Minden kimeneti neuronok 0 1 közti értéket vesznek fel: a legnagyobb az adott adat osztálya Bagoly Attila (ELTE) Machine learning 2016.10.10. 13 / 28

Neuronhálózatok tanítása Költségfüggvény: csak össze kell rakni a logisztikus modellből Probléma: könnyű overfittelni neuronhálókkal Megoldás: regularizáció bevezetése: négyzetesen elnyomjuk a súlyokat valamilyen paraméterrel: λ i=1(i =0) (Θ i ) 2, λ 0 overfitting, λ underfitting Tehát ezt kell minimalizálni: J(Θ) = 1 m m K [y (i) i=1 k=1 k log((h Θ (x (i) )) k )+ (1 y (i) k ) log(1 (h Θ(x (i) )) k )] + λ L 1 2m l=1 m adatpont, K kategória, s l neuron az l-edik rétegben s l i=1 s l+1 (Θ (l) j,i )2 j=1 Bagoly Attila (ELTE) Machine learning 2016.10.10. 14 / 28

Neuronhálózatok tanítása Tehát neuronháló tanítása a fenti költségfüggvény minimalizálása Nem könnyű feladat, de elvégezhető Backpropagation algorithm: Előre propagálás: az adatokat végigvisszük a hálón, hogy megkapjuk a neuronok aktivációit Hátra propagálás: aktivációkat és cél tanuló mintát visszafele propagáltatjuk a hálózaton, így kapunk egy delta mátrixot Delta mátrix segítségével feĺırhatjuk a költségfüggvény deriváltját Derivált alapján súlyokat frissítünk Regularizációs paraméter optimumát is meg kell keresi (hyper parameter optimalization): k-fold coross-validation pár csoport hibái alapján Bagoly Attila (ELTE) Machine learning 2016.10.10. 15 / 28

GPU: gyors mátrixszorzásnak hála lehet deep learning Bagoly Attila (ELTE) Machine learning 2016.10.10. 16 / 28 Mély neuronhálózatok Sok neuron a rétegekben Sok réteg Nagy hálózatok esetén a tanulás során sok nagy mátrixot kell szorozgatni nagy műveletigény Régi technológia de nem használták, mert extrém nehéz tanítani Manapság nagyon népszerű: hála a gémereknek

Kitekintő: konvolúciós neuronhálók Kép: DNN probléma vizuális kortex CNN: speciális rétegek új featurek DNN-hez 3D rétegek: pixelek fölött neuronok, lokálisan kapcsolva Különböző alakokat emelünk ki a képekről Bagoly Attila (ELTE) Machine learning 2016.10.10. 17 / 28

Kitekintő: konvolúciós neuronhálók Bagoly Attila (ELTE) Machine learning 2016.10.10. 18 / 28

Térjünk rá a fizikára Bagoly Attila (ELTE) Machine learning 2016.10.10. 19 / 28

ROOT TMVA Toolkit for Multivariate Data Analysis (TMVA) a ROOT programcsomag része Célja: ML könyvtár biztosítása a fizikusok számára, megszokott környezetben Nem csak neuron hálókat biztosít (pl. boosted decision tree) Klasszifikáció mellett regressziót is támogat, de erről nem beszélek Alapvetően két osztály amit a TMVA névtérből kívülről használunk: TMVA::Factory: ML módszerek elérése TMVA::DataLoader: adatok elérése Bagoly Attila (ELTE) Machine learning 2016.10.10. 20 / 28

Higgs bozon keresés Feladat: Higgs bozon keresése eseményekben Nem látjuk csak a bomlás termékeket Lehetséges bomlás: H 0 γγ/z 0 Z 0 e + e + e + e (elektron párok cserélhetők müonra),... Csak a végkimenetelt látjuk, más folyamat is produkálhat hasonló kimenetet Meghatározzunk sok fizikai paramétert (energiát, szögeket, pszeudorapiditást): ezek alapján mondjuk meg, hogy Higgs bomlás történt-e DNN-t taníthatunk be a felismerése Bagoly Attila (ELTE) Machine learning 2016.10.10. 21 / 28

Higgs adatszett CERN Opendata program keretében tanuló adatszet 5829123 esemény, 800MB 21 feature Signal: Higgs bomlás Background: nem Higgs bomlás Bagoly Attila (ELTE) Machine learning 2016.10.10. 22 / 28

Higgs adatszett Bagoly Attila (ELTE) Machine learning 2016.10.10. 23 / 28

Higgs adatszett Bagoly Attila (ELTE) Machine learning 2016.10.10. 24 / 28

Higgs adatszett Bagoly Attila (ELTE) Machine learning 2016.10.10. 25 / 28

Higgs adatszett Bagoly Attila (ELTE) Machine learning 2016.10.10. 26 / 28

Higgs challenge: https://www.kaggle.com/c/higgs-boson Ki tanítja be a legjobb modellt? ττ bomlások megtalálása Modellt beküldve: új eseményeken teszt jól általánosít-e a modell? Nyertes: 70 db. 3 rejtett rétegű, rétegenként 600 neuronos hálózat 2-fold cross-validation 35 random keverés az adatokon GTX Titan GPU (mérések CPU párhuzamosan 10x lassabb) Tanulás: 1 nap (1 háló, szimpla pontossággal csak 15 perc) Bagoly Attila (ELTE) Machine learning 2016.10.10. 27 / 28

Anaĺızis folyamata https://github.com/qati/presentations/blob/master/ seminar.ipynb http://nbviewer.jupyter.org/github/qati/presentations/ blob/master/seminar.ipynb Bagoly Attila (ELTE) Machine learning 2016.10.10. 28 / 28