PIXEL SZINTŰ SZEGMENTÁLÁS CNN

Preview:

Citation preview

PIXEL SZINTŰ SZEGMENTÁLÁS CNN-EL

Csúszóablakos szegmentálás

• Szegmentálás direkt osztályozással

– Kisméretű ablakkal kivágott kép alapján megítéli az adott pixel környezetének a típusát

– Nagyon lassú, nehezen tanítható, pontatlan

Teljesen konvolúciós hálóval

• Teljesen összekötött réteg nélküli hálóval:

– Kimenete: minden képponthoz kategória számnyi konfiden-ciát rendel (softmax nemlin. után) / regresszió pixelenként

– Általában az U-net-el valósítják meg: 1. szakasz: felbontás csökkentése, csatornák számának növelésével

2. szakasz: felbontás növelése transzponált konvolúciókkal, csatornák számának csökkentésével

Mask R-CNN (*)

• Faster R-CNN kimeneti régióin teljesen konvolúciós hálóval szegmentál:

a) Régiókat uniform méretűvé mintavételezve, majd az eredményt vissza méretezve

b) Régiókat invalid pixelekkel uniform méretűvé kiegészítve, majd az eredményt kivágva

Mask R-CNN (*)

• Jó eredmények – pontos szegmentáció

• Nagy hatékonyság

U-Net (2016)

• Teljesen konvolúciós (Fully Convolutional) háló

DeepLab –v3+ (2018)

• Enkóder – Dekóder architektúrák továbbfejlesztése

ELOSZLÁSOK TANULÁSA

Motiváció

• Nem ellenőrzött tanítás:

– Csak -et tudjuk becsülni (nincsenek címkéink)

• Félig ellenőrzött tanítás:

– Ellenőrzött tanításnál -et becsüljük

– Azon mintákkal, melynek nincs címkéje -et finomíthatjuk

• Klasszikus megközelítés eszköztára gyenge:

– Direkt modellezés leginkább a klaszterezésben merült ki – csak az eloszlás sűrűsödési pontjait tanulta meg

– Indirekt modellezése a transzduktív tanulásban (pl. transzduktív SVM)

P x

,P y P y Px x x

P x

Motiváció

• Mély tanulás megjelenésével:

– Lehetővé vált hiteles minták generálása (GAN)

– Eloszlások direkt modellezése félig ellenőrzött tanításnál (GAN-al támadás)

– Hasznos, és kevésbé hasznos alkalmazások:

• Hálószoba / macska generálás

• Képek transzformációja (pix 2 pix) alapon

– Sematikus skiccből homlokzat

– Térképből légi felvétel

– Videó hamisítások

Rekurrens hálók (RNN)

• Együttes eloszlást faktorizáljuk:

– Adott elem értékének az eloszlása a tőle kisebb indexű elemek értékeinek eloszlásának a függvénye:

• Pixel CNN esetén csak a lokálisan elhelyezkedő pixeleké

• Jellemzői:

– Pontosság / hihetőség az eloszlást előállító cella komplexitásának a függvénye

– Hosszú hiba visszaterjesztési utak (sok dim. pontok esetén)

– Először ezzel akartak képeket generálni

1 2 1p p , ,...,i i i

i

x x x x x

Rekurrens hálók (Pixel RNN / CNN)

Pixel RNN Pixel CNN

Softmax Loss pixelenként

Pixel CNN

Autoenkóder (AE)

• Autoenkóder háló:

– Kódoló: bemenet => látens változó

– Dekódoló: látens reprezentáció => bemenet

– Mintagenerálás: „hihető” látens változó dekódolása

– Veszteségfüggvény:

• Minták generálása:

– Pl. valódi mintákhoz tartozó látens ábrázolások konvex kombinációjának dekódolásából

– Mivel a veszteségfüggvény a legkisebb hibájú rekonstrukciót preferálja, ezért „hihető” minták generálásra gyakorlatban nem alkalmas

?

?L D E x x x

Ez x

D z x

Generatív modellek általánosan

• Maximalizáljuk a minták likelihoodját:

Minták likelihoodja:

Logaritmálva:

• Vizsgáljuk meg kifejezést:

1 2

1

P , ,..., PN

N i

i

x x x θ x θ

1 2log P , ,..., log P

N ix x x θ x θ

1

arg min 1 log PN

i

i

N

θ

θ x θ

P PKLD x x θ

P P P log P P log PKLD x x

x x θ x x θ x x

arg min P P arg min P log PKLD

θ θ x

θ x x θ x x θ

Variációs Autoenkóder (VAE)

• Közelítsük a minták likelihoodját:

log E log

i

i i

qp p

z z xx x

E log

i

i

q i

p p

p

z z x

x z z

z x

E logi

ii

q i i

qp p

p q

z z x

z xx z z

z x z x

E log E log E log

i i

i

i

q qp

p p

z z z

z x z xx z

z z x

E logi i i i

KL KLp D q p D q p z

x z z x z z x z x

Variációs Autoenkóder (VAE)

• Tehát egy prior eloszláshoz igazítjuk a látens változókat

– Unimodális eloszlás legyen (gyakorlatban Gauss, ezzel a legkönnyebb számolni a KL divergenciát)

– Unimodalitás miatt az interpolált látens változók kép eloszlása „értelmes” marad

• Új architurális elem – mintavételi réteg

– Bemenete: egy várható érték, valamint egy kovariancia mtx.

– Kimenete: a bemeneti paraméterekkel leírt Gauss eloszlás egy statiszikai mintája

– Nincs tanítható paramétere, numerikusan „jól” viselkedik, hiba visszaterjesztése triviális.

– Megvalósítása: , ,diag z θ x ε z θ x

Variációs Autoenkóder (VAE)

Visszaterjesztett hiba:

• Dekórder résznél alapján

• Enkóder résznél: Dekóderen keresztül visszaterjesztett hiba + prior eloszlástól való eltérés (Gauss prior esetén weight decay / Thikhonov reg.)

x

z

x z

x

x

z x

z

,N z z

z x x

,N x x

x z z

?

?L D E x x x

Variációs Autoenkóder (VAE)

Variációs Autoenkóder (VAE)

• Látens változók eloszlása:

AE VAE

GAN

• Feladjuk az explicit eloszlás modellezést:

– Megelégszünk egy olyan CNN-el, mely zaj bemenetből hihető képeket tud generálni.

• Két szereplős játék:

– Generátor: megpróbál olyan képeket generálni, melyek átverik a diszkriminátor hálót

– Diszkriminátor: megpróbálja a leginkább megkülönböztetni a generált és a valódi mintákat egymástól

• Tanítása:

– Block coordinate descent / ascent alapú optimalizálás

min max E log E log 1d d gp pg d

D D G

x x z z

x z

GAN

• Minmax hibafüggvény:

– Belátható, hogy ha hipotézistere tetszőlegesen nagy,

akkor -t minimalizálja

• Gyakorlati problémák sokasága jellemzi:

– Abból erednek, hogy a diszkriminátoron keresztül tanul a generátor (annak is a gradiensén)

– Nehezen kézben tartható – 1 epoch alatt „csodák” történnek

– Különböző regularizációs módszerek: • Diszkriminátor leképezés Lipchitz hányadosának korlátozása

• Több lépéses előretanítás alapján súlymódosítás, stb.

min max E log E log 1Val d d gpg d

D D G

x z z

x z

dD

D PJS gGx z

GAN (*)

• Bonyolult hibafelület, gyakorlati javaslatok:

– Pooling layereket mellőzzük, helyettük nagyobb lépésközű konvolúciót alkalmazzunk mindkét részhálóban

– Batchnorm alkalmazása javasolt rétegpáronként

– Teljesen összekötött rétegeket is mellőzzük

– Generátorban ReLU-t használjunk, kivéve a kimenetén (ott Tanh)

– Diszkriminátorban szivárgó ReLU

• Jelenleg az eloszlástanulás „state of the art” eljárásai:

– Legalábbis ha hiteles mintákat kell generálni

– önmagában ritkán jó bármire is dD x

GAN a félig ellenőrzött tanulásban (*)

• Módosítjuk az osztályozási problémát:

– K+1. osztály: generált mintáké

– Diszkriminátor szerepét átveszi az osztályozó:

– A GAN pedig át akarja verni az osztályozót

• Érdekes elméleti / gyakorlati eredmények:

– Nem érdemes túl erős generátort használni

– „Laborkörnyezetben” jelentős (4-10%-os) javulás

,E log P E log P

E log P 1

Valy Cimkezett

Gen

L y y K

        y K

xx

x

x x

x

PdD y K x x

Félig ellenőrzött tanulás – VAT (*)

• Adversarial Training ötletét általánosítja:

– Támadásra a címkézetlen mintákat is felhasználja:

– Hatásos, mert -ot hiba visszaterjesztés közben online becsli (kicsi az overhead, ~1,5×-es számítási igény)

• Lényegében SVM-es stat. kockázatminimalizálás:

– Regularizál – a döntési határt olyan tartományba tolja, ahol ritka a mintakészlet (itt fáj legkevésbé a bizonytalanság)

VAT

,

L D P , P ,

. . arg max D P , P ,

adv

adv adv

y y

s t     y y

r r

x x θ x r θ

r x θ x r θ

advr

Félig ellenőrzött tanulás – VAT (*)

• Egy példa futás:

Aktív tanulás (*)

• Nagy, címkézetlen mintahalmaz:

– Mely mintákat éri meg ezek közül címkézni?

– Két megközelítés létezik – konfidencia, illetve fedettség

• Konfidencia alapú:

– Ha kicsi, akkor látszólag biztos a háló

– Valójában jobb leíró a bemeneti támadásra érzékenyég

– Monte Carlo Dropout jobb lenne

• Fedettség alapú:

– Ha ritkán fedett a bemenet egy része, akkor ott címkézzünk

– Mi van, ha alacsony dim. manifold feszíti ki a mintákat?

H P ,y x θ

GAN példák

• Látens változó interpretációja:

- + =

GAN példák

• Képek generálására példák:

Progressive GAN, Karras (Nvidia) 2017

GAN példák

• Képek transzformálása (kondicionált GAN):

Pix2pix Isola (2017)

GAN

• Képek transzformálása (kond. GAN)

Bemenet Kimenet

GAN példák

• Képek transzformálása (cycle GAN):

https://github.com/junyanz/CycleGAN/blob/master/imgs/horse2zebra.gif

GAN példák

• Képek transzformálása (CT - MR):

– Marketing, határok (meg ész) nélkül:

https://arxiv.org/pdf/1708.01155.pdf

GAN

• Képek transzformálása:

Recommended