integrating machine learning in jupyter notebooks google...

28
Neuronh´ al´ozatok a r´ eszecskefizik´ aban Bagoly Attila ELTE TTK Fizikus MSc, 2. ´ evfolyam Integrating Machine Learning in Jupyter Notebooks Google Summer of Code Project 2016.10.10 Bagoly Attila (ELTE) Machine learning 2016.10.10. 1 / 28

Upload: others

Post on 04-Jul-2020

14 views

Category:

Documents


0 download

TRANSCRIPT

Neuronhalozatok a reszecskefizikaban

Bagoly AttilaELTE TTK Fizikus MSc, 2. evfolyam

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 Bevezeto

2 Linearis regresszio

3 Logisztikus regresszio

4 Illesztes jellemzese

5 Problemak

6 Neuronhalozatok

7 Mely neuronhalozatok

8 Bevezeto: ROOT TMVA

9 Higgs adatszett

10 Analızis folyamata

Bagoly Attila (ELTE) Machine learning 2016.10.10. 2 / 28

Bevezeto

Nagyon magas dimenzios problemakra, komplex modellt szeretnenk

”Klasszikus illesztes”: nem mukodik

Problema ”megkerulese”: neuronhalozatok

Klasszifikacio: modell kimenete diszkret (valahany osztalyba sorolas)

DNN manapsag nepszeru: eros szamıtogep (GPU), sok adat

Machine learning: hihetetlenul gyorsan fejlodo terulet

DNN: resze mindennapjainknak

HEP-ben is egyre nepszerubb: CERNIML(http://iml.web.cern.ch/), tagok szama 100-as nagysagrend

CMS L1 trigger: boosted decision tree hardver

Bagoly Attila (ELTE) Machine learning 2016.10.10. 3 / 28

Linearis regresszio

Mindenki altal ismert ”egyszeru” fuggvenyillesztes

x(i)j a j-edik valtozo az i-edik adatsorban

Modell: hΘ(x) = Θ0 + Θ1x1 + Θ2x2 + ...

Nem feltetlenul linearis: xj kiegeszıtheto, ha j = 1...N akkorxN+k = x2k , stb.

nem linearitas ⇒ magasabb dimenzios linearis illesztes

Koltsegfuggveny: J(Θ) = 12m ∑m

i=1(hΘ(x(i))− y (i))2

Minimalizalas: pl. gradiens modszer Θ← Θ− α∆J(Θ)

Bagoly Attila (ELTE) Machine learning 2016.10.10. 4 / 28

Logisztikus regresszio

Klasszifikacio?

Diszkret kimenet

Ket kategoria: 0 vagy 1

hΘ(x) tetszoleges kimenetetvehet fel ⇒ beszorıtjuk 0 es 1koze

Sigmoid aktivacios fuggveny:sigmoid(x) = 1

1+e−x

Bagoly Attila (ELTE) Machine learning 2016.10.10. 5 / 28

Logisztikus regresszio

Mi a modell koltsegfuggvenye?

Tudnia kell:Ha hΘ(x) = y akkor 0Ha hΘ(x) = 1 es y = 0 akkor nagyHa hΘ(x) = 0 es y = 1 akkor nagy

Egyszeru valasztas:

J(Θ) = − 1

m

m

∑i=1

[y (i) log(hθ(x(i))) + (1− y (i)) log(1− hθ(x

(i)))]

N kategoria eseten: y ∈ {0, 1...N − 1}h(0)θ (x) = P(y = 0|x ; θ)

h(1)θ (x) = P(y = 1|x ; θ)

...pred = maxi (h

(i)θ (x))

Bagoly Attila (ELTE) Machine learning 2016.10.10. 6 / 28

Logisztikus regresszio

Linearis modell: x1, x2, hΘ(x) = sigmoid(Θ0 + Θ1x1 + Θ2x2)

Nem linearis modell: x1, x2 featureket kiegeszıtjukx3 = x21 , x4 = x22 , x5 = x1x2, es x0 = 1, ekkorhΘ(x) = sigmoid(ΘT x)

Bagoly Attila (ELTE) Machine learning 2016.10.10. 7 / 28

Hogy altalanosıt a modellunk?

Hogy teljesıt a modellunk? Nem linearis problemanal 2D⇒5D

J(Θ) hiba kicsi, jo az illesztes?

J(Θ) kicsi megis uj adatra teljesen rossz eredmeny ⇒ nemmodelleztunk hanem adatokat kodoltunk (overfit, high variance)

Keves feature: underfit, high bias

Bagoly Attila (ELTE) Machine learning 2016.10.10. 8 / 28

Megoldas

Felosztjuk az adatokat:training set, test set

Fontos: adatok randomkeverve legyenek

Csak az egyiken tanul amodellunk

Problema: parameterekcsavargatasaval a modell aszemunkon keresztul tanuljameg a test set-et

Megoldas: k-foldCross-Validation

Bagoly Attila (ELTE) Machine learning 2016.10.10. 9 / 28

Problemak

Valos eletben altalaban sokkal tobb feature van mint ketto

n valtozo, kvadratikus modell parametereinek szama ≈ O(n2/2)

Pl. 50x50 pixeles szurkearnyalatos kepeket osztalyozunk ⇒ 2500valtozo ⇒ 3125000 parameter

Raadasul kvadratikus modell valoszınuleg high bias-t eredmenyez

Bagoly Attila (ELTE) Machine learning 2016.10.10. 10 / 28

Neuronhalozatok bevezetes

Elobb vazolt problema megoldasara szuletett

Lehetove teszi nagyon komplex modell illeszteset anelkul, hogy aparameterek szama divergalna

Hasznaljuk a nagyon egyszeru logisztikus modellt, de csak linearisfeaturekkel ⇒ Neuron

Sigmoid aktivacios fuggveny: neuron aktivalasi valoszınuseg (agybanis hasonlo a neuronok karakterisztikaja)

Komplex modell: neuronokat osszekotjuk

Bagoly Attila (ELTE) Machine learning 2016.10.10. 11 / 28

Neuronhalozatok

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

Neuronhalozatok: bementet, kimenet

Amennyi bemenet annyi neuron az elso retegben: minden bemenetminden neuronra kapcsolva

Annyi kimeneti neuron az utolso retegben amennyi osztalyunk van

Minden kimeneti neuronok 0 1 kozti erteket vesznek fel: a legnagyobbaz adott adat osztalya

Bagoly Attila (ELTE) Machine learning 2016.10.10. 13 / 28

Neuronhalozatok tanıtasa

Koltsegfuggveny: csak ossze kell rakni a logisztikus modellbol

Problema: konnyu overfittelni neuronhalokkal

Megoldas: regularizacio bevezetese: negyzetesen elnyomjuk a sulyokatvalamilyen parameterrel: λ ∑i=1(i 6=0)(Θi )2, λ→ 0 overfitting,λ→ ∞ underfitting

Tehat ezt kell minimalizalni:

J(Θ) = − 1

m

m

∑i=1

K

∑k=1

[y(i)k log((hΘ(x

(i)))k)+

(1− y(i)k ) log(1− (hΘ(x

(i)))k)] +λ

2m

L−1∑l=1

sl

∑i=1

sl+1

∑j=1

(Θ(l)j ,i )

2

m adatpont, K kategoria, sl neuron az l-edik retegben

Bagoly Attila (ELTE) Machine learning 2016.10.10. 14 / 28

Neuronhalozatok tanıtasa

Tehat neuronhalo tanıtasa a fenti koltsegfuggveny minimalizalasa

Nem konnyu feladat, de elvegezheto

Backpropagation algorithm:

Elore propagalas: az adatokat vegigvisszuk a halon, hogy megkapjuk aneuronok aktivacioit

Hatra propagalas: aktivaciokat es cel tanulo mintat visszafelepropagaltatjuk a halozaton, ıgy kapunk egy delta matrixot

Delta matrix segıtsegevel felırhatjuk a koltsegfuggveny derivaltjat

Derivalt alapjan sulyokat frissıtunk

Regularizacios parameter optimumat is meg kell keresi (hyperparameter optimalization): k-fold coross-validation par csoport hibaialapjan

Bagoly Attila (ELTE) Machine learning 2016.10.10. 15 / 28

Mely neuronhalozatok

Sok neuron a retegekben

Sok reteg

Nagy halozatok eseten atanulas soran sok nagymatrixot kell szorozgatni ⇒nagy muveletigeny

Regi technologia de nemhasznaltak, mert extrem neheztanıtani

Manapsag nagyon nepszeru:hala a gemereknek

GPU: gyors matrixszorzasnakhala lehet deep learningBagoly Attila (ELTE) Machine learning 2016.10.10. 16 / 28

Kitekinto: konvolucios neuronhalok

Kep: DNN problema ⇒ vizualis kortex

CNN: specialis retegek ⇒ uj featurek DNN-hez

3D retegek: pixelek folott neuronok, lokalisan kapcsolva

Kulonbozo alakokat emelunk ki a kepekrol

Bagoly Attila (ELTE) Machine learning 2016.10.10. 17 / 28

Kitekinto: konvolucios neuronhalok

Bagoly Attila (ELTE) Machine learning 2016.10.10. 18 / 28

Terjunk ra a fizikara

Bagoly Attila (ELTE) Machine learning 2016.10.10. 19 / 28

ROOT TMVA

Toolkit for Multivariate Data Analysis (TMVA) a ROOTprogramcsomag resze

Celja: ML konyvtar biztosıtasa a fizikusok szamara, megszokottkornyezetben

Nem csak neuron halokat biztosıt (pl. boosted decision tree)

Klasszifikacio mellett regressziot is tamogat, de errol nem beszelek

Alapvetoen ket osztaly amit a TMVA nevterbol kıvulrol hasznalunk:

TMVA::Factory: ML modszerek elerese

TMVA::DataLoader: adatok elerese

Bagoly Attila (ELTE) Machine learning 2016.10.10. 20 / 28

Higgs bozon kereses

Feladat: Higgs bozon keresese esemenyekben

Nem latjuk csak a bomlas termekeket

Lehetseges bomlas: H0 → γγ/Z 0Z 0 → e+e− + e+e− (elektronparok cserelhetok muonra), ...

Csak a vegkimenetelt latjuk, mas folyamat is produkalhat hasonlokimenetet

Meghatarozzunk sok fizikai parametert (energiat, szogeket,pszeudorapiditast): ezek alapjan mondjuk meg, hogy Higgs bomlastortent-e

DNN-t tanıthatunk be a felismerese

Bagoly Attila (ELTE) Machine learning 2016.10.10. 21 / 28

Higgs adatszett

CERN Opendata program kereteben tanulo adatszet

5829123 esemeny, 800MB

21 feature

Signal: Higgs bomlas

Background: nem Higgs bomlas

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?

ττ bomlasok megtalalasa

Modellt bekuldve: uj esemenyeken teszt ⇒ jol altalanosıt-e a modell?

Nyertes:

70 db. 3 rejtett retegu, retegenkent 600 neuronos halozat

2-fold cross-validation

35 random keveres az adatokon

GTX Titan GPU (meresek CPU parhuzamosan 10x lassabb)

Tanulas: 1 nap (1 halo, szimpla pontossaggal csak 15 perc)

Bagoly Attila (ELTE) Machine learning 2016.10.10. 27 / 28

Analı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