osztályozási feladatok...

37
Osztályozási feladatok képdiagnosztikában Orvosi képdiagnosztikai 2018 ősz

Upload: others

Post on 17-Jul-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Osztályozási feladatok képdiagnosztikában

Orvosi képdiagnosztikai 2018 ősz

Page 2: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Osztályozás

• Szeparáló felületet keresünk

• Leképezéseket tanulunk meg azok mintáiból

– A tanuláshoz használt minták a tanító minták / pontok

– A leképezés folytonos / diszkrét bementből képez diszkrét és véges számú halmazba

, :

– Feltételezhetünk még bemeneti / kimeneti zajt:

– szerint lehet lineáris / paramétereiben lineáris / nemlineáris

if di

x 1,2, ,id k 1,2,...,i P

, ,b i k i if d i

x

f

Page 3: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Terminológia, jelölések

• Osztályozó:

• Veszteségfüggvény (loss function, hibafüggvény)

– általában közvetlenül definiáljuk p kihagyásával

• Tanítás:

• Tapasztalati kockázat:

: R 1,2,...,Nf d

,

min. E , ,

. .

d DR L d f

s t

xw x w

w

, log |L d y p y d

, ,emp i

i

R L d f iw x w

Page 4: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Orvosi Döntéstámogató Rendszerek

• Computer Aided Detection

– Cél a leletezések specificitásának, és érzékenységének a növelése

– Számos megbetegedés esetén már jóval annak diagnosztizálása előtt láthatóak bizonyos elváltozások

– Megvalósításuk tanuló rendszerrel történik

• Klasszikus megközelítés: probléma specifikus jel / képfeldolgozás állítja elő az osztályozás bemeneteit

• Újabb megközelítés: kimarad a szakértői jelfeldolgozás, az MI-re bízzuk a teljes folyamatot

Page 5: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Empirikus kockázatminimalizálás

• Elv: a tapasztalati kockázat (tanítóminták osztályozási hibájának) minimalizálásával minimalizálható a kockázat (valódi minták osztályozási hibája), ha közben rögzítjük az osztályozó VC-dimenzióját:

• Osztályozó hibája valószínűséggel

4 ( )( )( ) ( ) 1

2 ( )

emp

emp

RhR R

h

ww w

(ln (2 / ) 1) ln ( / 4)( ) 4

h l hh

l

1

l: tanítópontok száma h: osztályozó VC dimenziója (osztályozó komplexitása)

: megtanult leképezés : mintákat generáló eloszlás

D

Page 6: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Empirikus kockázatminimalizálás

• Fontos, hogy ugyanazon háttéreloszlás mintái adják az éles (valódi) és a tanítómintákat

• VC dimenzió:

– Maximum hány olyan tetszőleges elrendezésű és osztályozású mintapont létezik, melyet az osztályozó képes hibátlanul (adott osztályozás szerint) szeparálni.

• Cél a kockázat ( ) minimalizálása – inverz probléma

– Azon belül is leginkább MAP becslés

– Likelihood tag: tanítóminták osztályozási hibáját bünteti

– Regularizációs tag: osztályozó VC dimenzióját bünteti

( )R w

Page 7: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Osztályozók általánosítási hibája

• Lényegében :

– Tanítóminták számának növelésével csökken

– VC dimenzió növekedésével nő

( ) ( )empR Rw w

min R(w)=R(w0)

várható kockázat R(w*|l)

tapasztalati kockázat Remp(w*|l)

l

Page 8: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Példák osztályozókra

• Lineáris / Kernel diszkrimináns analízis

• Rosenbladt perceptron

• Adaline

• Neurális háló (MLP – multi layer perceptron)

• Bázisfüggvényes lineáris hálók (pl. RBF, CMAC)

• Mély neurális hálók

– Konvolúciós neurális hálók

Page 9: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Lineáris (Fisher) diszkrimináns analízis

• Cél olyan vetítőirány keresése, mely mentén maximális

– Vezessük be az alábbi jelöléseket:

2

1

2

1,2 k

T

T

k i P

C

2

i k

w m mw

w x m

Eki P

k i

m x

1 1

T

B 2 2S m m m m

k

T

k

i P

W i k i kS x m x m

k

k

W WS S

Page 10: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Lineáris (Fisher) diszkrimináns analízis

• Egy Rayleigh hányadost minimalizálnunk

– Ekvivalens optimalizálási probléma

– Lagrange duális nyeregpontjában:

– Tehát a legkisebb sajátérték, meg hozzátartozó sajátvektor a megoldás (gyakorlatban azonban nem szükséges a sajátérték egyenlet megoldása)

1

arg max arg maxTT

W BB

T T

W

w S S ww S w

w S w w w

1max.

. . 1

T

W B

Ts t

w S S w

w w1

W B S S w w

Page 11: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Lineáris (Fisher) diszkrimináns analízis

• Tekinthető a PCA osztályozási feladatokra adekvát változatának is – ez is dimenziót redukál

Page 12: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Adaptív lineáris neuron

• Négyzetes veszteségfüggvény alkalmazásával

; ;

• Analitikus megoldás:

• Ha jobb általánosító képességet akarunk:

– Csonkoljuk esetén a szinguláris értékeket

– Folytonos átmenete – Thikhonov regularizáció:

y Xw1 1 1

T

1 2 nx x x

X 2

2empR w d Xw

1

† T T

w X d X X X d

† 1 X VΛ U

1

† T T

X X X I X

Page 13: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Adaptív lineáris neuron

• Iteratív optimalizáció – Least Mean Squares

– Pillanatnyi négyzetes hiba:

– Sztochasztikus Gradiens optimalizáció – μ-LMS

• Négyzetes hiba gradiensét a pillanatnyi négyzetes hiba gradiensével becsüljük:

– SGD kondicionálással – α-LMS

2

2

( )

T

i kC k k d k i(k)

w x w

1 2k k C k k k w w w w k

1T

kk k

i k

i k i k

w w xx x

0 2

Page 14: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Bázisfüggvényes osztályozók

• Problémák nagy része nem lineárisan szeparábilis.

• Paramétereiben lineáris, nemlineáris osztályozók:

– Lényegében (ú.n. jellemzőtérbe transzformáló

leképezés) határozza meg, hogy mire képes az osztályozó

– is tanulható (pl. OLS eljárás RBF hálók esetén)

– Ha nem inkonzisztensek a tanítóminták, akkor mindig létezik olyan , mellyel lineárisan szeparábilis a probléma

– Cserébe baj lehet a VC dimenzióval / háló általánosító képességével

,T

f y x w x w

Page 15: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Szupport vektor gépek

• Keressük az alábbi szeparáló síkot:

– Lényegében Thikhonov regula- rizálunk (hasonlóan, ahogy azt az SART / SIRT-nél tettük)

• Lagrange duális alapján:

– Megússzuk definiálását

– Helyette úgynevezett kernelt kell definiálnunk (Kernel trükk)

– Végtelen dimenziós is lehet véges VC dimenzió mellett

min. 1 2

. . 1is t d b

T

T

i

w w

w x

,T

K i i

x x x x

Page 16: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

TMwww ,...,, 10w TM xxx ,...,, 10

xwxT

j

M

j

jw 0

y

Szupport vektor gép kernel leképezése

szeparáló görbe szeparáló sík szeparáló egyenes

bemeneti tér jellemzőtér kernel tér

x (x) K(x,xi)= T(x) (xi)

kernel trükk

Page 17: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Szupport vektor gépek - gyengítés

• Keressük az alábbi szeparáló síkot:

– Megengedjük, hogy bizonyos minták belógjanak a margóba, esetleg rosszul osztályozzuk őket

– c lényegében egy trade – off szabályozó az empirikus kockázat (likelihood tag, gyengítő változó ), és a regularizációs ( ) tag súlya között.

– Lényegében tagjainak súlyát szabályozzuk

P

min. 1 2

. . 1

T

i i

c

s t d b

T

T

i

w w 1 ξ

w x ξ ξ

margó

2

2w

( )R w

Page 18: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Többrétegű Perceptron (MLP)

• Klasszikus neurális hálónak is hívják

– Nem linearitásokra példák:

• Pl. tanh , Logisztikus szigmoid ( )

• Kritérium, hogy gradiens alapú optimalizációnál (pl. hiba visszaterjesztés) ne „sikkassza el” a hibát

Egy neuron felépítése:

1 1 exp s

Page 19: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Többrétegű Perceptron (MLP)

• Hány rejtett réteg legyen

– Egy darab elegendően sok (de véges számú) neuronnal elég – univerzális apprixomátor

– Mostanában mégis az 1-nél jóval több a népszerű

• Összetettebb leképezésekhez így kevesebb neuron elég

• Eltérő típusú rejtett rétegek

• Egy rétegen belül hány neuron legyen

– Elegendően sok a problémához

– De ne legyen túl sok

• Túl sok szabad paraméter, nagyobb VC dimmenzió

Page 20: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

MLP tanítása

• Korai leállás (a túltanulás elkerüléséért):

C

Tanítási ciklusok száma

Validációs hiba alakulása a tanítási lépések számának

függvényében

Tanítási hiba

Optimális leállítási pont

Page 21: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

MLP hibafelület példa (1)

Ellaposodó / felrobbanó hibafelület

Page 22: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

MLP hibafelület példa (2)

• Sok a lokális szélsőérték

Page 23: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Objektum / mintafelismerés megközelítése

Page 24: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

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

• Alapötlet – a szűrőkernelt is tanulja meg a háló: – Így nem kell megtippelni, hogy mi alapján ismerünk fel

egy adott objektumot

– A neurális háló bizonyos rétegei LSI lineáris rendszerek kernelét tanulják

• Cserébe nagy idő és memória igény: – Mélyebb hálók – kisebb kernel is elég

– Viszont a klasszikus MLP-nél használt nem-linearitások „elnyelik” a hibát

– Újítás nem-linearitások:

Page 25: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN

• 4 különböző típusú réteg: – Konvolúciós: kernelt tanul (tipikusan 3×3, 5×5)

• Paraméterek: kernel méret, stride, kép szélének kezelése

– Nem-linearitás: • ReLU, szivárgó ReLU, zajos ReLU, MaxOut, …

– Pooling: szűrt képek alul-mintavételezése • Általában nemlineáris (maximum pooling)

• Paraméterek számát korlátozza, de a bijektív jelleg biztosan elveszik – jelentősen nehezíti az interpretációt

– Fully Connected Layer: klasszikus MLP • Osztálycímkéket ettől várjuk

Page 26: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN példák

Page 27: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN példák

Bemenet: 150.528-dimenziós a neuronok száma a háló további rétegeiben: 253.440; 186.624; 64.896; 64.896; 43.264; 4096;4096; 1000.

Page 28: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN példák

Page 29: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN regularizáció - dropout

• Implicit regularizáció – Dropout: – Neuronok kimenetét multiplikatív impulzus zajjal (i.i.d.

Bernoulli eloszlás mintavételezése terheli: 1-p várható érték)

– Hatása visszavezethető a szakértő együttesek elméletére

• Bayes-i modellátlagolás (teszt időben közelítjük)

– Könnyen számolható

– Redundáns jellemzők tanulására készteti a hálót => ha valamelyik neuron kimenete hibás, az nem rántja magával az egészet.

– Persze növeli a szükséges epochok számát

Page 30: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN regularizáció - dropout

Teljes háló Dropout „sorsolás” utáni háló

• Tanítás során:

f x0 f x

z

1 0,1

0 0,1i

s U p

s U p

z

Page 31: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN regularizáció - dropout

• Tanulási görbékre gyakorolt hatás:

Page 32: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN tanítása

• SGD, illetve annak különböző variánsai – Sztochasztikus jelleg a mini-batch-ből következik: tanító

minták egy részhalmaza alapján becsli adott epochban a háló hibáját

– Nagy rétegszám – jelentősen le tud lassulni a tanulás kedvezőtlen inicializáció esetén

– Batch normalizáció:

• Minden réteg bemenetét 0 várható értékűvé , 1 szórásúvá transzformálja, majd ez alapján módosítja a hálót – redukálja a paraméterek egyidejű módosításának kedvezőtlen hatásait

• Jelentősen gyorsítja a konvergenciát

Page 33: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

CNN tanítása – transfer learning

• Sok paraméterhez sok tanítóminta szükséges – lsd. majorálása

– Alacsonyabban lévő rétegek kis absztrakciójú jellemzőket detektálnak (pl. él, sarokpont. stb.)

– A probléma specifikusabb jellemzők az FC réteg bemenetének közelében állnak elő

– Transfer learning: Csak az FC-t tanítjuk, jellemző kiemelő rétegek paramétereit más (több mintás) problémára tanítjuk

– Fine tuning: Csak a kimenethez közeli jellemző kiemelő rétegeket tanítjuk

• Minta augmentáció: – Olyan torzításokkal generálunk még mintákat, melyekre

invariáns osztályozást várunk el (pl. elforgatás, eltolás, stb.).

R w

Page 34: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Optimalizáló eljárások

• Másodrendű módszerek:

– Newton módszer: hibafüggvény lokális másodfokú közelítését minimalizálja iterációnként

– Kvázi Newton módszer: Hesse mátrixot / annak invertálását csak közelíti (pl. BFGS, L-BFGS)

– Levenberg Marquardt: Tihonov regularizált Newton (Trust Region Newton módszer)

• Elsőrendű módszerek:

– Konjugált gradiens: konjugált irányú hibajavítás, (kvadratikus függvény esetén másodrendű módszer)

– Nesterov Momentumos / adaptív gradient descent eljárások

– Sztochasztikus gradiensek esetén hatékonyabbak

Page 35: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Elsőrendű optimalizáló eljárások

• Rosszul kondícionált hibafelületek – bajban a GD:

– Ellaposodó platók / hirtelen letörések

– Erősen nem izotropikus felületek

w1

w2

Page 36: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Elsőrendű optimalizáló eljárások

• Ötlet: szűrjük a súlymódosító vektorokat

– Polyak átlagolás (momentum) alapú módszerek – simítja a lépés irányát az iterációk felett (alul- átereszti)

• Nesterov momentum aszimptotikusan optimális elsőrendű eljárás, ha gradienst és nem sztochasztikus gradienst használunk (tehát itt általában nem az)

– Adagrad / RMSProp: átlagolja az elmúlt iterációkon belüli paraméter módosításokat

– Adaptive Momentum (Adam): kombinálja az előző két módszert

Page 37: Osztályozási feladatok képdiagnosztikábanhome.mit.bme.hu/~hadhazi/Oktatas/OKD18/osztalyozas.pdfKonvolúciós neurális hálózat (CNN) •Alapötlet – a szűrőkernelt is tanulja

Elsőrendű optimalizáló eljárások