integrating machine learning in jupyter notebooks google...
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: 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
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 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