Eötvös Loránd Tudományegyetem Természettudományi...

46
Eötvös Loránd Tudományegyetem Természettudományi Kar Cseri Ildikó Mély neurális hálózatok interpretálhatósága Szakdolgozat Matematika BSc, matematikai elemző szakirány Témavezető: Csiszárik Adrián Számítógéptudományi Tanszék Budapest, 2020

Transcript of Eötvös Loránd Tudományegyetem Természettudományi...

  • Eötvös Loránd Tudományegyetem

    Természettudományi Kar

    Cseri Ildikó

    Mély neurális hálózatokinterpretálhatósága

    Szakdolgozat

    Matematika BSc, matematikai elemző szakirány

    Témavezető:

    Csiszárik Adrián

    Számítógéptudományi Tanszék

    Budapest, 2020

  • 2

  • Köszönetnyilvánítás

    Szeretnék köszönetet mondani témavezetőmnek, Csiszárik Adriánnak, aki bemutatta ezt atémakört nekem. Szakmai tudásával és végtelen türelmével támogatott az elmúlt hónapoksorán, amíg ez a szakdolgozat elkészült. Köszönet a konzultációkért, a tanácsokért, és a sokmunkáért, amit kaptam. Hálás vagyok, hogy ezzel a tudással gazdagabb lehetek.

    Továbbá szeretném megköszönni a szaktársaimnak, akik a hosszú egyetemi félévek alatt abarátaim lettek, hogy végig mellettem álltak és egymást támogatva küzdhettünk meg a leg-nehezebb vizsgákkal is.

    3

  • Tartalomjegyzék

    Ábrák jegyzéke 6

    Bevezetés 8

    1. Neurális hálók 10

    1.1. Mesterséges neuron . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    1.2. Aktivációs függvény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

    1.3. Mesterséges neuronréteg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.4. Előrecsatolt mesterséges neuronháló . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.5. Veszteségfüggvény . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

    1.6. A gradiens ereszkedő módszer . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

    2. Fontossági térkép 13

    2.1. A fontossági térkép módszer a bemenet szerinti gradiens segítségével . . . . . . 13

    2.1.1. Fontossági térkép képklasszifikációs feladatok esetében [9] . . . . . . . . 13

    2.1.2. A módszer változatai . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

    2.2. Kvalitatív és kvantitatív elemzési módszertan . . . . . . . . . . . . . . . . . . . 18

    2.2.1. Lehetőségek a kvalitatív elemzéshez . . . . . . . . . . . . . . . . . . . . 18

    2.2.2. Mérőszámok a kvantitatív elemzéshez . . . . . . . . . . . . . . . . . . . 19

    2.3. Képtranszformációk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

    2.3.1. A kép hátterének eltávolítása . . . . . . . . . . . . . . . . . . . . . . . 20

    2.3.2. Tükrözés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    4

  • 2.3.3. Homályosítás . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

    2.3.4. Színtelítettség . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

    2.3.5. JPG tömörítés . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

    2.3.6. Az elvégzett képtranszformációkkal elért eredmények kiértékelése . . . . 25

    2.4. Ellenséges példák . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.4.1. Fast Gradient Sign Method (FGSM) . . . . . . . . . . . . . . . . . . . 27

    2.4.2. Támadások ellenséges példákkal . . . . . . . . . . . . . . . . . . . . . . 28

    3. Ellenséges példák detektálása a fontossági térképek alapján 30

    3.1. Kísérlet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

    3.1.1. A kísérlet lépései . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

    3.1.2. A kísérlet eredményei . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    4. Összegzés 33

    Irodalomjegyzék 34

    A. További képek 36

    5

  • Ábrák jegyzéke

    2.1. Kolibrit ábrázoló kép és a hozzá tartozó fontossági térkép. . . . . . . . . . . . 14

    2.2. Az eredeti kép és a teljesen fekete kép közötti lineáris interpolációban az inter-polációs együttható változtatásával eredményül kapott képek [1]. . . . . . . . . 16

    2.3. Az integrált gradiens vizualizáció működése [1] . . . . . . . . . . . . . . . . . . 16

    2.4. Grad-CAM vizualizáció két osztályra [7]. . . . . . . . . . . . . . . . . . . . . . 18

    2.5. A háttér eltávolításával elért változás a fontossági térképen. . . . . . . . . . . . 20

    2.6. A kép tükrözésével elért változás a fontossági térképen. . . . . . . . . . . . . . 21

    2.7. A homályosság mértékének (σ) növelésével elért változás a fontossági térképeken. 22

    2.8. A szaturáció csökkentésével elért változás a fontossági térképeken. . . . . . . . 23

    2.9. JPG tömörítéssel elért változás a fontossági térképen. . . . . . . . . . . . . . . 24

    2.10. Két tömörítési eljárás különbsége fontossági térképen ábrázolva. . . . . . . . . 25

    2.11. Egy CAPTCHA feladvány, fontossági térképe és az 5 legnagyobb valószínűségűosztály. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

    2.12. Képek az ImageNet [6] adathalmazból és ellenséges perturbáltjaik fontosságitérképükkel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

    3.1. Az alkalmazott konvolúciós hálózatot megvalósító programkódrészlet Pythonban. 31

    3.2. A training és a validációs halmazon mért pontosság epochonként. . . . . . . . 32

    A.1. Az autó kép 3 transzformációja. . . . . . . . . . . . . . . . . . . . . . . . . . . 36

    A.2. Az autó kép homályosításával elért változás a fontossági térképeken. . . . . . . 37

    A.3. Az autó kép szaturációjának csökkentésével elért változás a fontossági térképeken. 37

    6

  • A.4. A hal kép 3 transzformációja. . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    A.5. A hal kép homályosításával elért változás a fontossági térképeken. . . . . . . . 39

    A.6. A hal kép szaturációjának csökkentésével elért változás a fontossági térképeken. 39

    A.7. A hegedű kép 3 transzformációja. . . . . . . . . . . . . . . . . . . . . . . . . . 40

    A.8. A hegedű kép homályosításával elért változás a fontossági térképeken. . . . . . 41

    A.9. A hegedű kép szaturációjának csökkentésével elért változás a fontossági térké-peken. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    A.10.A kolibri kép 3 transzformációja. . . . . . . . . . . . . . . . . . . . . . . . . . 42

    A.11.A kolibri kép homályosításával elért változás a fontossági térképeken. . . . . . 43

    A.12.A kolibri kép szaturációjának csökkentésével elért változás a fontossági térképeken. 43

    A.13.A repülő kép 3 transzformációja. . . . . . . . . . . . . . . . . . . . . . . . . . 44

    A.14.A repülő kép homályosításával elért változás a fontossági térképeken. . . . . . 45

    A.15.A repülő kép szaturációjának csökkentésével elért változás a fontossági térképeken. 45

    7

  • Bevezetés

    Az utóbbi években a mesterséges neurális hálózatok nagy sikereket értek el a képfeldolgozásterületén. A gépi tanulási modellek fejlesztésével egyre szélesebb a felhasználási körük, már ahétköznapi életben is gyakran találkozhatunk vele. Gondoljunk csak a telefonunk arcfelismerőfeloldására, ami csak egyszer rögzíti az arcunkat és utána a feloldások során még azt is képesmegtanulni, hogy reggelente a szemünk alatt nagyobbak a karikák, péntek este pedig többsminket viselünk, mint általában. Illetve a képeink között már kulcsszavakkal is kereshetünk,például a kutyánkról készült összes képet pillanatok alatt kilistázza a telefonunk.

    A képfelismerő programok készítése nem újkeletű dolog, de egyre nagyobb az érdeklődés irán-tuk. Van is alapja a fejlődésnek, hiszen egyre több a kép, ezért nagyobb az adathalmaz, amiveltanítani lehet egy neurális hálózatot. Ezek a modellek kiváló teljesítményt nyújthatnak, azon-ban ha egy ilyen rendszer meghibásodik, és a felhasználó inkoherens kimenetet kap, akkorfigyelmeztetést vagy magyarázatot nem fog kapni arról, hogy miért csinálta ezt a modell.

    Hogy a neurális hálók működésének interpretálhatósága miért különösen fontos, az példáulaz orvosi diagnosztikát támogató rendszerek fejlesztése során egyértelmű, hiszen ha példáulolyan hálóról van szó, ami röntgen felvételeken keresi a kóros elváltozásokat, akkor pontosanszeretnénk tudni, hogy mi alapján prediktálja a modell a kimenetet. Az önvezető autók eseténszintén nagy szerepet játszik a rendszer működésének értelmezése, hiszen egyetlen rossz döntésis nagy veszteségekkel járhat.

    Egy modell döntéseinek a megértésének egy fontos aspektusa, hogy megértsük, hogy a — alkal-mazásokban tipikusan magas dimenziós — bemenet mely részei fontosak a döntés szempont-jóból. Ennek a kérdésnek egy lehetséges megközelítése, hogy azt vizsgáljuk, hogy a bemenetmely részei változtatják meg leginkább a kimenetet. Ez a nézőpont arra az intuícióra épít,hogy a bemenet azon részei fontosak, amelyek jelentősen megváltoztatják a modell kimene-tét. Lévén, hogy a neuronhálók bemenet-kimenet leképzései diffrenciálhatóak, természetesenadódik gondolat, hogy vegyük a neuronháló által megvalósított leképezés bemenet szerintigradiensét és értelmezzük ezt fontossági térképként.

    8

  • Szakdolgozatomban a bemenet szerinti gradiens segítségével előállított fontossági térképekkelfoglalkozom. A téma rövid bemutatása után kísérleteimmel azt vizsgálom, hogy az előállófontossági térképek mennyire robusztusak a bemenet transzformálására, azaz, ha különbözőtermészetes vagy szintetikus módokon változtatjuk a bemenetet, akkor a fontossági térképek(és végül az abból levonható konklúziók) mennyire változnak meg.

    Szakdolgozatomban képi adathalmazokat vizsgálok valamint, hogy az azokon végzett kép-transzformációk (pl. tükrözés, homályosítás, különböző képtömörítések) mennyire befolyásol-ják a predikciót.

    Az első fejezetben bevezetem a dolgozatom megértéséhez szükséges, neurális hálókhoz kapcso-lódó alapfogalmakat. A második fejezetben a képklasszifikáló hálózatok és a fontosság térképműködését mutatom be. Különböző képtranszformációk segítségével megvizsgálom, hogyanváltozik a kimenet és a fontossági térkép a bemenet megváltoztatásával. Valamint bevezetemaz ellenséges példák generálására használt egyik népszerű modell működését. A harmadikfejezetben elvégzek egy kísérletet az ellenségesen perturbált képek detektálására egy neurálisháló építésével. A negyedik fejezetben összegzem a tapasztalataimat és az eredményeket.

    9

  • 1. fejezet

    Neurális hálók

    Ebben a fejezetben néhány alapvető, neurális hálókhoz kapcsolódó definíciót fogok rövidenismertetni, ehhez a Goodfellow és társai által írt Deep Learning könyvet [2] vettem alapul.

    1.1. Mesterséges neuron

    Egy mesterséges neuronháló alapvető építőköve a mesterséges neuron. Ennek felépítése nagy-ban hasonlít az emberi agy neuronjaira.

    1.1.1. Definíció. (Mesterséges neuron) Egy f : Rn → R leképezést mesterséges neuron-nak nevezzük és felírható

    f = σ(n∑i=1

    wixi + b)

    alakban, ahol σ egy adott R → R aktivációs függvény, xi ∈ R egy bemeneti érték, wi ∈ R azehhez tartozó súly i ∈ [1, ..., n] és b ∈ R az eltolás (bias).

    1.2. Aktivációs függvény

    Az aktivációs függvény olyan differenciálható függvény, ami a neurális háló nemlineáritásáértfelel. A modern neuronhálók egy gyakran alkalmazott aktiváció függvénye a ReLU.

    1.2.1. Definíció. (ReLU) A ReLU olyan aktivációs függvény, ami a negatív bemeneteketnullára állítja, a pozitívakat változatlanul hagyja, ahogyan ezt az alábbi képleten láthatjuk.

    ReLU(x) = max(0, x),

    ahol x a bemenet.

    10

  • 1.3. Mesterséges neuronréteg

    A mély tanulási paradigmákban a mesterséges neuronokat rétegekbe szervezzük. Ezek segítsé-gével definiálhatunk f : Rn → Rm leképezéseket mesterséges neuronokkal, ahol n a bemenetivektor hossza, m pedig a neuronok száma.

    1.3.1. Definíció. (Mesterséges neuronréteg)

    σ(W (x) + b)

    függvényt mesterséges neuronrétegnek nevezzük, ahol σ egy adott R→ R aktivációs függvény,W ∈ Rm×n mátrix a neuronok súlyait tartalmazza, x ∈ Rn a bemeneti vektor, b ∈ Rm pedigaz eltolásvektor.

    1.4. Előrecsatolt mesterséges neuronháló

    A mély tanulási paradigma fő motívuma, hogy a több neuronréteget egymás után kapcsolunk— innen a név, hogy „mély tanulás”. A legegyszerűbb ilyen mély neuronhálós szerkezet amély előrecsatolt neurális háló, ahol a neuronrétegeket függvénykompozícióval egymás utánkapcsoljuk.

    1.4.1. Definíció. (Előrecsatolt mesterséges neuronháló)

    fθ(x) = fL ◦ · · · f2 ◦ f1(x),

    ahol θ = (θ1, θ2, · · · , θK) a neuronrétegek paramétereit tartalmazó vektor, fi pedig a hálózatrétegeit reprezentáló függvény.

    1.5. Veszteségfüggvény

    A mesterséges neuronháló tanításához definiálunk egy veszteségfüggvényt. A veszteségfügg-vény arra való, hogy a neuronháló elvárt és a tényleges kimenetének különbségét meghatároz-zuk. Minél kisebb ez a különbség, annál jobban teljesít a modellünk. Ezt a különbséget leíró,differenciálható függvényt veszteségfüggvénynek nevezzük.

    1.5.1. Definíció. (L2 veszteségfüggvény)

    L(fθ(x), y) = ‖fθ(x)− y‖2

    ahol L : Rp × Rq → R, fθ(x) a tényleges kimenet, ennek hossza p, y az elvárt kimenet, ennekpedig q a hossza.

    11

  • 1.5.2. Definíció. (Kategórikus kereszt-entrópia) A kategórikus kereszt-entrópia veszte-ség függvényt az egycímkés kategorizáláshoz használjuk, vagyis minden adatponthoz csak egyosztályhoz rendelünk. Összehasonlítja a predikciók eloszlását a valós eloszlással, a valós osztályvalószínűségét 1-re, a többi osztályét pedig 0-ra állítja. Az alábbi képlettel írhatjuk le:

    L(fθ(x), y) = −M∑j=0

    N∑i=0

    (yij · log(fθ(x)ij)),

    ahol fθ(x) a tényleges kimenet, y pedig az elvárt kimenet.

    1.6. A gradiens ereszkedő módszer

    A modellünket a veszteségfüggvény minimalizálásával taníthatjuk, amit a θ paraméterek han-golásával érhetünk el. Azonban túl sok paraméter esetén ez a számolás nem elég gyors, ezértilyenkor a gradiens ereszkedő módszert használjuk.

    A gradiens ereszkedés egy olyan optimalizálási algoritmus, amelyet bizonyos funkciók minima-lizálására használunk, amikor iterációs úton mozognak a legmeredekebb irányba, a gradiensnegatívja által meghatározva. Gépi tanulás esetén gradiens ereszkedő módszert alkalmazunkmodellünk paramétereinek (a lineáris regresszió együtthatóinak és a neurális háló súlyainak)módosítására.

    1.6.1. Definíció. (Gradiens lépés) A gradiens megmutatja nekünk a veszteségfüggvényünklejtését a jelenlegi helyzetünkben (az aktuális paraméterértékek használatával), és azt azirányt, amerre el kell lépnünk a paramétereink módosításához a veszteségfüggvény minimali-zálásának érdekében.

    Az alábbi képlettel írhatjuk fel a gradiens lépést:

    θ ← θ − λ · ∂L(fθ(x), y)∂θ

    ,

    ahol θ a hálózat a paramétereit tartalmazó vektor, λ a tanulási ráta (a lépés mérete), L pediga veszteségfüggvény.

    Ezeket a lépéseket addig ismétlem, amíg elérek egy mininmumba. Ezzel a módszerrel gyakrannem a globális, hanem egy lokális minimumba érkezünk, azonban már így is jobban teljesítőmodellt kapunk.

    12

  • 2. fejezet

    Fontossági térkép

    Ebben a fejezetben bemutatom a fontossági térkép módszerét. Ennek a megközelítésnek afő kérdése, hogy a neuronháló kimenete a bemenet mely részétől függ a legjobban. Minélfontosabb a bemenet egy része a kimenet szempontjából, az a fontossági térképen annál élén-kebb lesz, ezáltal kirajzolódnak azok a részek, amiknek a megváltoztatásával a bemenetünkosztálycímkéje legnagyobb mértékben megváltozna.

    2.1. A fontossági térkép módszer a bemenet szerinti gradi-

    ens segítségével

    Legyen fθ(x) egy θ paramétereivel definiált mesterséges neurális hálózat. Legyen ~d ennek aparametrizált leképezésnek az ~x bemenet szerinti gradiense, azaz

    ~d ,∂fθ(x)∂~x

    .

    Vizsgálatunk tárgya a ~d gradiens vektor elemeinek nagysága. A módszer alapgondolata, hogya bemeneti vektor azon koordinátái fontosak, amelyek leginkább megváltoztatják a függvénykimenenetét. Tehát ahol a ~d gradiens vektor koordinátái nagyobbak, ott jobban befolyásoljáka kimenetet, ezért fontosabbak.

    2.1.1. Fontossági térkép képklasszifikációs feladatok esetében [9]

    A képklasszifikáció a neurális hálózatok egyik fontos alkalmazási területe, mely során a képeketelőre meghatározott osztályokba soroljuk.

    13

  • Például a népszerű ImageNet adatszet [6] 224 × 224 pixeles színes képeket tartalmaz 1000kategóriában. Az osztályozás során az algoritmus minden adatponthoz létrehoz egy 1000hosszú vektort, ami az egyes osztályokhoz tartozás valószínűségét tárolja, ezeknek az összege1. Az osztálycímke pedig a legmagasabb értékhez tartozó kategória lesz. Ebből azonban nemderül ki, hogy ezeket a valószínűségeket mi alapján határozza meg, ezért nem tudjuk értelmeznia működését.

    2.1.1. Példa. Legyen ~x1 bemenet egy 224×224×3-as, három dimenziós mátrix, aminek elemeiegy kép pixeleinek RGB színcsatornái szerinti értékeit veszik fel 0-tól 255-ig, ~y1 pedig enneka kimenete. Megvizsgáljuk, hogy egy-egy pixelintenzitás megváltoztatásával mennyire változika 1000 hosszú ~y1 vektorunkban a címkék valószínűsége. Ehhez vesszük az fθ(x1) függvény ~x1szerinti ~d1 gradiensét.

    Ebből az fog kiderülni, hogy mely pixelek alapján mondja egy képre, hogy az melyik osztálybatartozik.

    Ha szeretnénk ezt szemléltetni, azt egy „hőtérképen” megtehetjük. Ehhez egy 224× 224× 3-asmátrixba kiíratjuk, hogy az adott pixel vörös, zöld és kék színintenzitások módosításával mennyitváltoztak a valószínűségek. Ezeken a színcsatornákon vett változásokat 1 képen nem tudjukábrázolni, ezért a 3 értéknek vehetjük a maximumát vagy az átlagát és így egy ábrázolható224× 224-es mátrixot kapunk. A mátrix értékeinek alapján, ahol a legfontosabb részei vannaka képnek ott vörösebb lesz, míg a jelentéktelenebbek kékként jelennek meg. Ezeket az értékeket[0,1] intervallumra normálva ábrázoljuk a térképen, az alábbi képen (2.1 ábrán) látható módon.

    2.1. ábra. Kolibrit ábrázoló kép és a hozzá tartozó fontossági térkép.

    14

  • 2.1.2. A módszer változatai

    Az előzőekben bemutatott alapgondolatnak különféle módosított változatai léteznek és hasz-nálatuk során több féle szempontot nézhetünk.

    A gradiens alapú interpretációs módszerek használata során az alábbi szempontokra kell fi-gyelnünk:

    • Osztály megkülönböztető képesség: Olyan kép esetén, amelyen több osztályba tartozóobjektum is megtalálható, a vizualizáció szétválasztható több külön térképre az osztályokszerint.

    • Transzformáció invariencia: Ha egy transzformáció nem változtatja meg a bemenet sze-mantikus tartalmát, akkor a bemenet arra a transzformációra invariáns. Ilyen transz-formáció képek esetén például az eltolás és a forgatás.

    • Az emberi percepció számára is megbízható egy modell, ha könnyen értelmezhető infor-máció nyerhető ki belőle.

    További két gradiens alapú vizualizációs módszert fogok az alábbiakban bemutatni.

    Integrált gradiens [10]

    Az integrált gradiens módszer lényege, hogy van egy bemeneti képünk és egy azzal megegyezőméretű fekete képünk, ezek között egy „út”, hogy milyen arányban mossuk össze a képeket egylineáris interpoláció segítségével. Az út minden pontján kiszámoljuk a gradiens értékeket ésezeket összeadjuk, majd az eredményül kapott összeget a [0,1] intervallumra normálva ábrá-zoljuk. Ezáltal kirajzolódik egy térkép, ahol — az eddigiekhez hasonlóan — szintén a nagyértékeket tekintjük fontosnak a döntés szempontjából. Tehát az ábrázolásban ezek jelennekmeg „élénkebben”.

    Az integrált gradiens az alábbi képlettel számolható ki:

    IntegratedGradientsi(x) = (xi − x′i)∫ 1α=0

    ∂f(x′ + α · (x− x′))∂xi

    dα,

    ahol x ∈ Rn a bemeneti kép, x′ ∈ Rn a fekete kép, f : Rn → [0, 1] a klasszifikáló háló, α pediga lineáris interpoláció együtthatója a [0,1] intervallumból, azaz az α = 0 eset a fekete képnekmíg a α = 1 a bementi kép változatlan formájának felel meg.

    15

  • α = 1 α = 0.8 α = 0.4 α = 0

    2.2. ábra. Az eredeti kép és a teljesen fekete kép közötti lineáris interpolációban az interpolációsegyüttható változtatásával eredményül kapott képek [1].

    Közelítés Riemann integrállal:

    IntegratedGradientsapproxi (x) = (xi − x′i) ·m∑k=1

    ∂f(x′ + km· (x− x′))

    ∂xi· 1m,

    ahol m a lépések száma.

    Az eredeti kép. Az eredeti kép gradiense. Az kép integrált gradiense.

    2.3. ábra. Az integrált gradiens vizualizáció működése [1]

    Az α = [0, 1] intervalumot m részre osztjuk. Minden részhez kiszámoljuk az f deriváltját xiszerint, tehát tulajdonképpen kiszámoljuk az α = k

    mlineáris interpolációs együttható segít-

    ségével előállított kép gradiensét minden részben. Majd ezeknek vesszük az átlagát vagyisszummázzunk a grandienseket ∀k-ra és elosztjuk m-mel.

    A használat során azt tapasztalták, hogy a megfelelő működéshez szükséges lépésszám valahol20 és 300 között van [10].

    Grad-CAM [7]

    Egy x bemenethez illeszkedő fontossági térképet nem feltétlenül csak — a korábban bemuta-tott — x szerinti gradiens segítségével állíthatunk elő. Egy konvolúciós hálózatban példáulkészíthetünk a hálózat belsejében egy adott réteg kimenetének segítségével is egy fontossági

    16

  • térképet. Egy konvolúciós hálózatban erre azért van lehetőségünk, mert egy egy-egy mélyebbréteg kimenete is térbeli elhelyezkedés szempontjából megfeleltethető a bemenettel. Formáli-san a f(x) = fL ◦ · · · ◦ f2 ◦ f1(x) előrecsatolt hálózatot tekintve, nézhetjük a függvényompozí-ciónak csak egy részének a gradiensét. Például a 4. réteg kimenete szerinti gradienst, azaz azf(x) = fL ◦ · · · ◦ f5 ◦ f4(x) leképezés gradiensét. Ennek eredménye egy olyan méretű mátrix,amekkora a 4. réteg kimenete, tehát ezt még át kell alakítanunk olyan méretűvé, amely az xbemenethez köti. Erre egy lehetőség, amelyet a Grad-CAM módszerben mutatnak meg.

    A Grad-CAM — gradiens súlyozású osztály aktivációs térkép — vizuális magyarázatot ad aprediktált osztályhoz tartozó objektum lokalizásával egy képen. Azt a gradiens információthasználja, ami beáramlik az utolsó konvolúciós rétegbe, és hozzárendeli minden neuronhoz afontossági értéket, az alapján, hogy mennyire számított a döntés meghozatalánál.

    A Grad-CAM módszer által létrehozott fontossági térképet az alábbi képlettel írhatjuk le:

    LcGrad−CAM = ReLU

    (∑k

    αckAk

    )

    αck =1

    Z

    ∑i

    ∑j

    ∂yc

    ∂Akij,

    ahol LcGrad−CAM a c osztály térképe, Ak az utolsó konvolúciós réteg k-adik kimeneti csatornája,αck a k-adik csatornához számolt fontossági súly, Z(= i · j) a értékek száma a feature mapen,yc a c osztályhoz számolt logit értéke.

    Az eredeti képünkhöz (224×224-es) a Grad-CAM vizualizáció minden osztályhoz létrehoz egytérképet. Erős osztálymegkülönböztető jellegéből adódóan, ha egy képen két osztályba tartozóobjektum is található, akkor csak az egyiket vagy a másikat fogja megjeleníteni a térképen.

    Ez úgy történik, hogy először kiszámolja a c osztályhoz tartozó logit értéket (yc) még a [0,1]közötti valószínűségre normálás (softmax) előtt. Ennek az értéknek az utolsó konvolúciós rétegk-adik kimenti csatornájának (Ak) (i, j)-edik eleme szerint deriváltját vesszük. Szummázzuka csatorna minden eleme szerinti deriváltat, majd vesszük ennek az átlagát, vagyis a kapottösszeget elosztjuk a csatorna elemeinek számával (Z). Ezzel megkaptuk a k-adik kimeneticsatorna fontossági súlyát (αck). Ezt a számolást elvégezzük az utolsó réteg minden csatorná-jára. Veszük a súlyozott összegét az utolsó réteg csatornáinak, ahol negatív értéket kapunk ott0-ra cseréljük, a pozitívakat változatlanul hagyjuk (ReLU). Ezt tudjuk ábrázolni egy lokalizálótérképen, ami a kimeneti csatornákkal megegyező méretű (14 × 14-es). Ha ezt szeretnénk azeredeti képünkre ráhelyezni, akkor fel kell nagyítanunk (224× 224-esre).

    17

  • Az eredeti kép. A macska osztály térképe. A kutya osztály térképe.

    2.4. ábra. Grad-CAM vizualizáció két osztályra [7].

    2.2. Kvalitatív és kvantitatív elemzési módszertan

    Két kategóriába tudjuk sorolni egy modell kiértékelésére szolgáló méréseket, ezek a kvalita-tív és kvantitatív mérések, dolgozatomban mindkét módon vizsgálom az eredményeket. Márszámos mérési módszert mutattak be a neurális hálók kiértékelésére, azonban a mai napignincs konszenzus abban, hogy melyikkel tudjuk a legjobban felmérni egy modell erősségeit éskorlátait. Ebben a részben pár lehetőséget fogok bemutatni az eredmények kiértékelésére.

    2.2.1. Lehetőségek a kvalitatív elemzéshez

    A kvalitatív vizsgálat lényegében a képek szemrevételezésével történik. Dolgozatom szempont-jából fontos a kvalitatív kiértéklés, hiszen a fő kérdés, amit vizsgálok, hogy hogyan tudjukinterpretálni a neurális hálók működését.

    Igazából nem tudunk mást tenni, mint gép által előállított produktumot emberi szemmelkiértékeljük.

    Például a generatív modellek [3] kiértékelésekor egy módszer, hogy élő embereknek igazi ésgenerált képeket mutatnak rövid ideig, majd el kell dönteniük, hogy igazit vagy generátumotlátnak-e. Minél kisebb arányban tippelnek generált képet, a modell annál jobban működőnektekinthető.

    Hasonló módon emberi visszajelzést használva tesztelték a Guided Backpropagation és aGuided Grad-CAM vizualizációk megbízhatóságát a VGG-16 és az AlexNet hálók használatasorán. A két háló megegyező predikciót adott a kimenetre. Ezek a vizualizációk segíthetnek

    18

  • a felhasználóknak nagyobb bizalmat helyezni egy jól teljesítő modellbe, a kapott predikciómagyarázatával. 54 embert kértek meg, hogy értékeljék a kapott térképeket az alapján, hogyegymáshoz viszonyítva melyiket tartják megbízhatóbbnak. Mindkét vizualizációs technikaesetén a VGG-16 modellt értékelték jobbra. [7]

    A fontossági térképek esetén különösen fontos a szemrevételezéssel történő kiértékelés, hiszenaz elkészített térképen azt láthatjuk, hogy a kép mely részei a legfontosabbak a kimenetszempontjából, vagyis meg tudjuk vizsgálni, hogy a legélénkebb részek a térképen valóban aprediktált objektum helyén vannak-e. Illetve, hogy hogyan változik ez a fontosság a képektranszformálásával.

    2.2.2. Mérőszámok a kvantitatív elemzéshez

    A kvantitatív mérések az eredmények számszerűsítését jelenti, ehhez pedig szükségünk vanbizonyos mérőszámokra.

    2.2.1. Definíció. (Frobenius távolság) Az eredeti kép és az egyes transzformációkkal ka-pott hőtérképek közötti különbséget a fontossági térképek pixeleinek intenzitása közötti négy-zetes eltérést számolva tudjuk mérni. A Frobenius távolság az alábbi képlettel írható le:

    LF = ‖A−B‖F =

    √√√√ h∑i=1

    w∑j=1

    (bi,j − ai,j)2,

    ahol ai,j ∈ A az eredeti kép és bi,j ∈ B a transzformált kép fontossági térképeinek értékei.

    A továbbiakban erre a távolságra LF -ként fogok hivatkozni.

    A pontos kvalitatív eredményekhez nagyon fontos, hogy a nem helybenhagyó transzormációkesetén a fontossági térkép létrehozása után vissza kell állítani az eredeti állapotába a képet ésfontossági térképét, hogy a transzformációval elért változást ugyanazon pixelek között tudjukmérni.

    2.3. Képtranszformációk

    A következő fejezetben azt fogom megvizsgálni, hogy a képeken végzett módosítások mennyireváltoztatják meg a neuronháló kimenetét. Többek között megnézem a tükrözést, homályo-sítást. Ezeket a változásokat kvalitatív és kvantitatív is kiértékelem. Az áttekinthetőség

    19

  • érdekében szakolgozaton ezen részén csak a zebra kép vizsgálatát folytatom, további képek éseredmények az A függelékben találhatóak.

    2.3.1. A kép hátterének eltávolítása

    A modell felismerte, hogy a képen egy zebra található, ehhez az osztályhoz közel 100% va-lószínűséget rendelt, azonban ehhez nem csak a zebrához tartozó pixeleket vette figyelembe,hanem a hátteret is, a füvet, az eget. Emiatt felmerült a kérdés, ha eltávolítjuk a kép hátterét,hogyan változik a térkép és a helyes osztályhoz tartozó valószínűség?

    Az eredeti kép és fontossági térképe. Maszk. A maszkolt kép és fontossági térképe.

    2.5. ábra. A háttér eltávolításával elért változás a fontossági térképen.

    A kép hátterét képszerkesztő program segítségével távolítottam el, ez után a zebra osztálybatartozás valószínűsége 99,6% lett. LF = 22.67.

    A 2.5 ábrán látható, hogy a fehér hátteren is akadnak élénkebb területek a hőtérképen, ezértha csak azokon a pixeleken szeretnénk mérni a különbséget, amik nem fehérek, akkor ehhez egy„maszkot” kell létrehoznunk. Ezt a maszkot úgy tudjuk elkészíteni, ha a mátrixunk mindenolyan értékét, ami nem 255, lecseréljük 0-ra, így a zebra teste fekete lesz. Ezt követően a kéttérkép közötti Frobenius távolságot az alábbi képlettel számoljuk:

    Ms = S ◦M

    LMF (M,Ms) = ‖S ◦ (M −Ms)‖F ,

    ahol M az eredeti kép, S ∈ [0, 1] a fekete-fehér maszk, Ms pedig a maszk és az eredeti képHadamard szorzatával, vagyis a két mátrix elemenkénti szorzásával létrehozott háttér nélkülikép.

    A 2.5 ábrán látható fontossági térképekre alkalmazva a maszkot, az LMF = 14.45, vagyis avárakozásainknak megfelelően kisebb érték mint ezen térképek maszkolás nélküli Frobeniustávolsága.

    20

  • 2.3.2. Tükrözés

    A kép tükrözéséhez a pixelintenzitások helyét az n×n-es mátrixban át kell indexelnünk, így azm1,1 képkocka horizontális tükrözésnél az mn,1 lesz. Ezzel a hőtérkép is megváltozik. Ahhoz,hogy a változást számszerűen mérni tudjuk, a hőtérkép értékeinek kiszámolása után vissza kelltükröznünk, vagyis a pixelintenzitások értékeit a mátrixban az eredeti helyükre kell indexelni.Ha ezt nem tesszük meg, akkor az eredményeink nem a valós változást fogják mutatni.

    2.3.1. Definíció. (Horizontális tükrözés) Az M mátrix a képünk pixeleinek színintenzi-tását tartalmazza, elemei 0-tól 255-ig vehetnek fel értéket. A T transzformáció olyan M →Mleképezés, ahol M ∈ [0..255]w×h. A horizontális tükrözés Tt : M → M transzformációját azalábbiak szerint definiáljuk:

    Tt(mi,j) = (mh−i,j),

    ahol (mi,j) ∈ [0..255]h×w a képet reprezentáló elemeivel megadott mátrix.

    Az eredeti kép és fontossági térképe. A tükrözött kép és fontossági térképe.

    2.6. ábra. A kép tükrözésével elért változás a fontossági térképen.

    Látható, hogyha a fontossági térképet visszatükrözzük, nem kapjuk meg az eredeti kép ered-ményét. A tükrözés után a zebra osztály valószínűsége 99,9%, LF = 19.65 a tükrözött képtérképének visszatükrözésével kapott térkép és az eredeti térkép Frobenius távolsága.

    2.3.3. Homályosítás

    A kép homályosítása úgy történik, hogy minden pixelnek veszzük egy adott környezetét, pél-dául a pixel körüli 7×7-es négyzetben található értékeket, azoknak színcsatornánként vesszükaz átlagát és ez lesz az új értéke a pixelünknek. Ha ezt az egész képen elvégezzük, a kép nemlesz olyan éles. A képünk annál homályosabb lesz minél nagyobb az átlagoláshoz használtkörnyezet.

    21

  • A Gauss homályosítás, amit használ a modell, hasonló elven működik, azonban van egy sú-lyozása, ez által a közelebbi pixelek fontosabbak, nagyobb súlyt kapnak az átlagolásnál.

    2.3.2. Definíció. (Gauss homályosítás) A Gauss homályosítás G : M → M transzformá-cióját az alábbiak szerint definiáljuk:

    G(x, y) =1

    2πσ2e

    −x2+y2

    2σ2 ,

    ahol x és y a mátrix sora és oszlopa, σ a homályosítás mértéke.

    Nézzük meg, hogyan változik a fontossági térképünk, ha a kép egyre homályosabb.

    σ = 0 σ = 1 σ = 2 σ = 3 σ = 4 σ = 5

    2.7. ábra. A homályosság mértékének (σ) növelésével elért változás a fontossági térképeken.

    A 2.7 ábrán látható, hogy az homályosított képek hőtérképét nem kapnánk meg az eredetitérkép homályosításával.

    Homályosítás mértéke Prediktált osztály Az osztály valszínűsége Frobenius távolság

    σ = 0.0 Zebra 100% 0

    σ = 1.0 Zebra 99.9% 18.56

    σ = 2.0 Zebra 96.4% 20.76

    σ = 3.0 Zebra 17.1% 20.49

    σ = 4.0 Csavar 9.4% 22.76

    σ = 5.0 Csavar 12.8% 25.19

    2.1. táblázat. A 2.7 ábrán látható képek eredményei.

    A 2.1 táblázat alapján megfigyelhető, hogy ha σ > 3, akkor a modell már nem találja el amegfelelő osztályt, valamint, hogy minél homályosabb a kép, annál kisebb a valószínűsége azebra címkének.

    22

  • 2.3.4. Színtelítettség

    A 2.7 ábrán látható, hogy a kép a homályosítás során egyre inkább szürkeárnyalatos lesz, veszíta szaturáltságából. Nézzük meg hogyan változik a fontossági térkép, ha a kép élességénekmegtartásával elkezjük csökkenteni a színtelítettséget.

    2.3.3. Definíció. (Színtelítettség csökkentése) A S : M → M transzformáció során aszín telítettségét úgy csökkentjük, hogy az eredeti képünk és annak a fekete-fehér verziójánakmátrixait összeadjuk úgy, hogy az eredeti képet megszorozzuk a faktor számmal, a fekete-fehér kép mátrixát 1 - fakorral, ez a fakorszám határozza meg a szaturáció mértékét. Azalábbi képlettel írhatjuk le:

    S(mi,j) = (ai,j) · F + (bi,j) · (1− f),

    ahol mi,j az F ∈ [0..1] faktorral csökkentett színtelítettségű kép mátrixa, ai,j az eredeti képbi,j a fekete-fehér kép mátrixa.

    F = 1 F = 0.75 F = 0.5 F = 0.25 F = 0

    2.8. ábra. A szaturáció csökkentésével elért változás a fontossági térképeken.

    Az osztálycímke valószínűsége nem változott a kép színének elvesztésével, de a fontosságitérképeken látható némi eltérés az eredetihez képest.

    23

  • A szaturáció mértéke Prediktált osztály Az osztály valszínűsége Frobenius távolság

    F = 1.0 Zebra 100% 0

    F = 0.75 Zebra 100% 18.59

    F = 0.5 Zebra 100% 18.14

    F = 0.25 Zebra 100% 18.67

    F = 0.0 Zebra 100% 19.22

    2.2. táblázat. A 2.8 ábrán látható képek eredményei.

    2.3.5. JPG tömörítés

    Az eddig vizsgált képek PNG formátumban voltak tömörítve. Felmerül a kérdés, hogy van-e különbség a fontossági térképen, ha a képet nem a korábban használt PNG, hanem JPGformátumban nézi a modell. A legfontosabb különbség a két formátum között a tömörítésialgoritmus, amit használnak. A JPG veszteséges tömörítési algoritmust használ, ami kiszűri aképinformációk egy részét, hogy csökkentse a fájl méretét. A PNG veszteségmentes algoritmusthasznál, ami megtartja az összes információt, így a fájl nagyobb méretű és a kép jobb minőségű.

    A PNG tömörített kép és fontossági térképe. A JPG tömörített kép és fontossági térképe.

    2.9. ábra. JPG tömörítéssel elért változás a fontossági térképen.

    A két térkép láthatóan eltér. LF = 18.09. De az osztály valószínűsége továbbra is közel 100%.

    A két formátum különbsége a 2.10 ábrán még jobban megfigyelhető. A háttérnélküli képPNG és JPG formátumát is rosszabb minőségben mentettem le. A korábbi maszkot alkalmaz-tam mindkettőre, így látható, hogy míg a PNG kép maszkja rosszabb minőségben is szinteugyanolyan, a JPG tömörített képen viszont az objektum széleinél megjelennek úgynevezett„artifact”-ek, ezek pedig befolyásolják a fontossági térképet is. A PNG képhez 99.1%-ot, aJPG képhez 99% valószínűséget rendelt a modell.

    24

  • Rossz minőségben tömörített PNG kép, fontossági térképe és maszkja.

    Rossz minőségben tömörített JPG kép, fontossági térképe és maszkja.

    2.10. ábra. Két tömörítési eljárás különbsége fontossági térképen ábrázolva.

    2.3.6. Az elvégzett képtranszformációkkal elért eredmények kiértéke-

    lése

    A transzformált képeket szemrevételezve (2.5., 2.7., 2.8. és 2.10. ábra) megállapíthatjuk, hogyhogy az alkalmazott transzformációkkal nem történik a képek tartalmában változás.

    A 2.1 és 2.2 táblázat eredményeiből láthatjuk azt is, hogy a nagy mértékű homályosítás ki-vétel az elvégzett transzformációkkal nem történt változás a neurális háló predikciójában semállatorvosi lóként alkalmazott zebra képünk esetében.

    Ugyanakkor a fontossági térképek jelentősen megváltoznak. Még abban az esetben is, amikor aképet csak türközzük, tehát nem történik a pixelek szomszédságai szerint változás a bemenetiképen.

    AA függelékben a transzformációkat további képekre is elvégeztem. Természetesen az általameddig bemutatott transzformációkon kívül számos transzformációt vizsgálhatnánk, de márezek is példák is mutatják, hogy a bemeneti gradiensből számolt fontossági térképen jelentőseltérések mutatkoznak a transzformációk előtt és után.

    25

  • Transzformáció Prediktált osztály Az osztály valszínűsége Frobenius távolság

    A háttér eltávolítása Zebra 99.6% 14.45

    Tükrözés Zebra 99.9% 19.65

    JPG tömörítés Zebra 100% 18.09

    2.3. táblázat. A 2.3 alfejezetben elvégzett néhány transzformáció eredménye.

    2.4. Ellenséges példák

    Szakdolgozatom írása közben merült fel bennem a kérdés, hogy van-e létjogosultsága az inte-retes oldalakon elhelyezett robotszűrő képfelismerési feladatoknak, hiszen az előzőekben lát-hattuk, hogy például a VGG-16 képklasszifikátor még a bementen elvégzett különféle transz-formációk esetén is helyesen osztályozza a képeket.

    A CAPTCHA (Completely Automated Public Turing test to tell Computers and HumansApart) teljesen automatizált nyilvános Turing-teszt a számítógép és az ember megkülönböz-tetésére. A teszt azt hivatott eldönteni, hogy egy oldal felhasználója ember vagy robot úgy,hogy kapunk egy feladványt, amit az ember könnyedén helyesen megválaszol, de egy programezt nem tudja megtenni. Ezek a feladványok lehetnek karakter és képfelismerési feladatok is.Az egyik ilyen feladvány az alábbi (2.11) ábrán látható, ahol azokat a képrészleteket kell egyinternetes oldal felhasználójának kiválasztani, ahol jelzőtábla található.

    Egy jelzőtábla és fontossági térképe.

    Prediktált osztály Valószínűség

    Eredménykijelző 28.6%Gázpumpa 15.5%Parkolóóra 7.3%Stopper 4.9%Kombinációs lakat 4.2%

    Top 5 prediktált osztály.

    2.11. ábra. Egy CAPTCHA feladvány, fontossági térképe és az 5 legnagyobb valószínűségűosztály.

    A 2.11 ábrán látható, hogy a legélénkebb pixelek valóban a jelzőtábla helyén vannak, azonbana modell nem ismerte fel, hogy a képen jelzőtábla van, sőt az első 5 tippjében sem voltbenne. Azt is megfigyelhetjük, hogy az osztálycímkék valószínűsége is igen alacsony, tehát

    26

  • bizonytalannak mondható a neuron háló döntése. Több ilyen feladványt megvizsgálva szinténazt tapasztalhatjuk, hogy a modell nem találja el a helyes osztályt. Ennek feltételezhetőoka, hogy ezek a CAPTCHA feladatok ellenséges példák a modern képfelismerő hálózatokhoz.Ehhez hasonló módszerek már fellelhetőek az irodalomban [8] [5].

    2.4.1. Definíció. (Ellenséges példák) Az ellenséges példák lényege, hogy a képeken olyanapró változtatásokat végez a modell, hogy az ne legyen könnyen észrevehető emberi szemmelnézve, de a képfelismerő program mégis egy másik, helytelen osztályt prediktáljon és ahhoznagy valószínűséget rendeljen [4].

    Ellenségesen perturbált képek létrehozásához már több modell is létezik. Ezeket két fő csoport-ba sorolhatjuk: a célzott támadás, amikor egy képet egy előre meghatározott másik osztálybaszeretnénk átsorolni a perturbációkkal, és a nem célzott, amikor mindegy, hogy mi lesz az újkategória csak megváltozzon.

    Továbbá beszélhetünk még egy és több lépéses perturbációkról. Az egy lépéses bár gyorsabb,de emberi szemmel könnyebben észrevehető módosítás, ezzel szemben, amikor több lépésbenvégzünk apró módósításokat tovább tart, de jobb eredményt érhetünk el.

    Az ellenséges példák létrehozását általánosan az alábbi képlettel írhatjuk fel:

    x′ = x+ η,

    ahol x az eredeti kép x′ az ellenségesen perturbált kép, η pedig a „zaj”, amit a képhez adunk.

    2.4.1. Fast Gradient Sign Method (FGSM)

    Egy módszer az ellenséges példák gyártására az FGSM [4], amely az ellenséges perturbáci-ók megtalálása során a bemenet szerinti gradiens előjelei alapján lép egy (vagy több) előrerögzített ε nagyságú lépést a pixeltérben.

    2.4.2. Definíció. (FGSM) A képekre apró zajokat helyező M → M transzformációt azalábbi képlettel írhatjuk le:

    x′ = x+ ε · sign(∇xJ(θ, x, y)),

    ahol x′ az elkészített ellenséges példa, x az eredeti kép, y annak osztálycímkéje, ε ∈ [0..1] egyolyan szorzószám, ami biztosítja, hogy a változtatás elég kicsi legyen ahhoz, hogy ne legyenérszrevehető, θ a modell paramétereit tartalmazza és J a veszteségfüggvény.

    Az ε változónkat 0.2-re állítottuk, 10 lépésben adtuk a képhez a perturbációkat és a cél azvolt, hogy bármilyen, az eredetitől eltérő osztálycímkét kapjon a módosítás után a kép. Azalábbi (2.12) ábrán látható képeket kaptuk a módszer használatával.

    27

  • (a) Eredeti kép (b) Ellenséges példa (c) Eredeti kép (d) Ellenséges példa

    2.12. ábra. Képek az ImageNet [6] adathalmazból és ellenséges perturbáltjaik fontossági tér-képükkel.

    A 2.12 ábrán található eredeti és ellenségesen perturbált képek első ránézésre megegyeznek,azonban ha jobban megfigyeljük a képeket, akkor láthatjuk a „zajokat” az ellenséges példákon.Ezzel ellentétben a fontossági térképeken rögtön szembetűnik a különbség. Az (a) és a (b)fontossági térképek Frobenius távolsága LF = 23.25, a (c) és a (d) esetén LF = 16.97.

    A 2.4 táblázat alapján láthatjuk, hogy az ellenséges perturbációk hozzáadásával a kép osztály-címkéje megváltozik, az (b) képnél a helyes osztály már az első 5 tippben sincs benne, a (d)kép esetén pedig 97.7%-ról 26.2%-ra esik a valószínűsége és egy másik osztály lesz a predikció.

    2.4.2. Támadások ellenséges példákkal

    Az ellenséges példák létrehozásának a célja tehát, hogy a kép kimenetét megváltoztassa, hely-telen osztályba sorolja. Nem csak a korábban bemutatott CAPTCHA feladványokon alkal-mazzák ezt a módszert. Az elsődleges felhasználása a gépi tanulási modellek elleni támadás,akár a modell ismerete nélkül. Ez azonban komoly veszélyeket is rejthet, például egy önvezetőautó nem ismeri fel a stop táblát és nem áll meg, mert a táblára fizikailag egy zavaró matricáthelyeznek. Hasonló módon a rendszámtáblákra helyezett matricával a rendszámfelismerő ka-merák is becsaphatóak. Az arcfelismerő rendszerek pedig teljesen másik embernek érzékelik,ha egy különleges mintával ellátott szemüveget vesz fel az illető.

    28

  • Prediktált osztály Valszínűség

    Tengerimalac 99.9%

    Hörcsög 0.1%

    Brokkoli 0.0%

    Angóranyúl 0.0%

    Mezei nyúl 0.0%

    Az (a) kép osztálycímkéi

    Prediktált osztály Valszínűség

    Zászlórúd 97.7%

    Ejtőernyő 2.2%

    Rúd 0.0%

    Lufi 0.0%

    Esernyő 0.0%

    A (c) kép osztálycímkéi

    Prediktált osztály Valszínűség

    Hörcsög 91.1%

    Menyét 3.5%

    Fekete lábú görény 1.9%

    Nyérc 1.5%

    Görény 1.1%

    A (b) kép osztálycímkéi

    Prediktált osztály Valszínűség

    Ejtőernyő 73.3%

    Zászlórúd 26.2%

    Lufi 0.2%

    Esernyő 0.1%

    Sapka 0.0%

    A (d) kép osztálycímkéi

    2.4. táblázat. A 2.12 ábrához tartozó predikciók és valószínűségeik.

    Ezeken felül persze rengeteg célpontja lehet a támadásnak, vannak ártatlanabbnak tűnő, biz-tonági rendszereket érintő, de akár fizikai biztonságunkat fenyegetőek is.

    29

  • 3. fejezet

    Ellenséges példák detektálása a fontossági

    térképek alapján

    Az előző vizsgálatok alatt fogalmazódott meg a gondolat, hogy lehetséges-e az ellenséges példákfelismerése automatizáltan a fontossági térképeik segítségével.

    Az ellenséges példák kezelésére több lehetőségünk is van. Az egyik ezek közül, hogy már aneurális háló betanítása során az adathalmazba ellenséges példákat is teszünk a helyes osz-tálycímkével, így az algoritmus megtanulja ezeket is helyesen prediktálni, ezáltal a későbbihasználat során is jobban teljesítő modellt kapunk. Egy másik lehetőség egy olyan klasszifi-kátor készítése, ami felismeri és eltávolítja az ellenséges példákat. Az utóbbi módszer soránfeltehetően tudjuk alkalmazni a fontossági térképet az ellenséges perturbációk felismerésére,ezért a következőkben ezt fogom használni.

    Ebben a fejezetben a kérdésfeltevésünk a következő:

    Lehetséges-e detektálni az ellenséges perturbációkat a fontossági térképek alapján?

    3.1. Kísérlet

    Ennek a kérdésnek a megválaszolására egy kísérletet fogunk elvégezni. Egy klasszifikáló hálóttanítunk be egy kétosztályos feladat megoldására, ahol a két osztály annak a bináris címkénekfelel meg, hogy az adott bemenet ellenséges perturbációt tartalmaz-e vagy sem. Azt várjuk,hogy a háló talál valamilyen ismertetőjegyet az ellenséges példákon, ezáltal ki tudja szűrniezeket az adathalmazból.

    30

  • 3.1.1. A kísérlet lépései

    1. Az ImageNet [6] adathalmazból uniform mintavétellel veszünk ki 5000 db 224 × 224-esszínes képet.

    2. Az előző fejezetben bemutatott FGSM modellel hozzuk létre az ellenségesen perturbáltképeket.

    3. Minden képhez létrehozzuk a fontossági térképet, így kapunk 10000 darab 224× 224× 3dimenziójú fontossági térképet, mint adathalmazt.

    4. Az adathalmaz minden eleméhez hozzárendelünk egy osztálycímkét, ami 0, ha ellenségespéldához tartozó fontossági térkép, különben 1.

    5. Random összekeverjük az adathalmazt, és a képek 20%-át (2000 db) félretesszük validá-ciós adathalmazként.

    6. Egy 3 konvolúciós rétegű kétosztályos klasszifikáló hálót készítünk annak eldöntésére,hogy egy kép ellenségesen perturbált-e. Az x bemenet egy fontossági térkép, a kimenetpedig kétosztályú y ∈ [0, 1]. A konvolúciós hálózat szerkezetét a 3.1 ábrán bemutatottkódrészlet mutatja.

    7. Kategórikus kereszt-entrópia veszteségfüggvényt használunk, ami a klasszifikációs felada-tok esetén egy standard választás. A modellünket Adam optimalizálóval, 100 epochigtanítjuk. Az alkalmazott batch mérete 50.

    8. Az elkészült hálózat eredményességét a validációs halmazon ellenőrizzük.

    pred_model.add(layers.MaxPooling2D(2))

    pred_model.add(layers.Conv2D(128, 5, strides=2, activation="relu"))

    pred_model.add(layers.BatchNormalization())

    pred_model.add(layers.Conv2D(128, 3, strides=2, activation="relu"))

    pred_model.add(layers.BatchNormalization())

    pred_model.add(layers.Conv2D(128, 3, strides=2, activation="relu"))

    pred_model.add(layers.GlobalMaxPooling2D())

    pred_model.add(layers.Dense(512))

    pred_model.add(layers.Dense(2))}

    3.1. ábra. Az alkalmazott konvolúciós hálózatot megvalósító programkódrészlet Pythonban.

    31

  • 3.1.2. A kísérlet eredményei

    Kísérletünk elvégzésének utolsó lépése az eredmények kiértékelése.

    0 20 40 60 80 100epoch

    0.70

    0.75

    0.80

    0.85

    0.90

    0.95

    pont

    ossá

    g

    (a) Tanítóhalmaz

    0 20 40 60 80 100epoch

    0.600

    0.625

    0.650

    0.675

    0.700

    0.725

    0.750

    0.775

    pont

    ossá

    g(b) Validációs halmaz

    3.2. ábra. A training és a validációs halmazon mért pontosság epochonként.

    A 3.2 ábrán látható pontosságot a helyesen eltalált osztálycímkék aránya szerint. A tanítóhal-maz pontossági értékei által leírt görbe a várakozásnak megfelelően növekszik, de ez tanításifolyamat során ez általános, hiszen a tanítóhalmazt meg tudja tanulni a modell. Konklúzióta validációs halmazon mért pontosság alapján tudunk levonni.

    A háló a validációs halmazon 77.5 feletti pontosságot is elért, ezért azt mondhatjuk, hogy aklasszifikáló háló megtatanulta az ellenséges példák felismerését a fontossági térképük alapján.Természetesen, ha ezt a klasszifikátort szeretnénk a gyakorlatban is használni, akkor jobberedményeket szeretnénk elérni vele. A háló paramétereinek hangolásával, további rétegekhozzáadásával, esetleg nagyobb adathalmazzal való tanítás esetén növelhető ez a pontosság.A dolgozat írása során találtam, hogy Zhang és társai [11] hasonló kísérleteket végeznek el,melynek során a háló 90%− 100%-os pontosságot ért el különböző adathalmazokon tanítva.

    A fejezet kérdésfeltevésére választ kaptunk a kísérlet elvégzésével: a fontossági térképek alap-ján egy megfelelően hangolt klasszifikáló háló lehetséges az FGSM-el létrehozott ellenségespéldákat detektálni.

    32

  • 4. fejezet

    Összegzés

    Dolgozatomban megvizsgáltam 6 kép különböző transzformációival elért változást a kimenetenés a fontossági térképeken. Azt tapasztaltam, hogy a 2.3 alfejezetben bemutatott képtransz-formációk — háttér eltávolítása, tükrözés, homályosítás, szaturáció, JPG tömörítés — hasz-nálatával a helyes osztálycímke valószínűsége nem általában nem változott meg. Egyedül anagymértékű homályosítás esetén változott meg minden kép esetén a kimenet. Ezzel szembena fontossági térképek minden transzformáció esetén jelentősen megváltoztak.

    Vizsgálódásaim során találkoztam az ellenséges példák módszerével, amivel — a korábbanbemutatott transzformációkkal ellentétben — jelentős változást tudunk elérni a képek predik-ciójában is. Elvégeztem egy kísérletet az ellenséges perturbált képek felismerésére fontosságitérképük alapján egy klasszifikáló háló készítésével. A kísérlet eredményekképpen elmondható,hogy az FGSM módszerrel készített ellenséges példák detektálása lehetséges a fontossági térké-pük alapján. Tehát míg szabad szemmel az ellenséges példákat nehezebb felismerni, addig egyneuronháló a képek fontossági térképe alapján meg tudja mondani egy képről, ha ellenségesenperturbációt tartalmaz.

    33

  • Irodalomjegyzék

    [1] Why did the network make this prediction? http://theory.stanford.edu/~ataly/Talks/sri_attribution_talk_jun_2017.pdf. Megtekintés ideje: 2020. 04. 12.

    [2] Ian Goodfellow, Yoshua Bengio, and Aaron Courville. Deep Learning. MIT Press, 2016.http://www.deeplearningbook.org.

    [3] Ian J. Goodfellow, Jean Pouget-Abadie, Mehdi Mirza, Bing Xu, David Warde-Farley,Sherjil Ozair, Aaron Courville, and Yoshua Bengio. Generative adversarial nets. In Pro-ceedings of the 27th International Conference on Neural Information Processing Systems- Volume 2, NIPS’14, page 2672–2680, Cambridge, MA, USA, 2014. MIT Press.

    [4] Ian J Goodfellow, Jonathon Shlens, and Christian Szegedy. Explaining and harnessingadversarial examples. arXiv preprint arXiv:1412.6572, 2014.

    [5] M. Osadchy, J. Hernandez-Castro, S. Gibson, O. Dunkelman, and D. Pérez-Cabo. Nobot expects the deepcaptcha! introducing immutable adversarial examples, with applica-tions to captcha generation. IEEE Transactions on Information Forensics and Security,12(11):2640–2653, 2017.

    [6] Olga Russakovsky, Jia Deng, Hao Su, Jonathan Krause, Sanjeev Satheesh, Sean Ma,Zhiheng Huang, Andrej Karpathy, Aditya Khosla, Michael Bernstein, Alexander C. Berg,and Li Fei-Fei. ImageNet Large Scale Visual Recognition Challenge. International Journalof Computer Vision (IJCV), 115(3):211–252, 2015.

    [7] R. R. Selvaraju, M. Cogswell, A. Das, R. Vedantam, D. Parikh, and D. Batra. Grad-cam:Visual explanations from deep networks via gradient-based localization. In 2017 IEEEInternational Conference on Computer Vision (ICCV), pages 618–626, 2017.

    [8] Chenghui Shi, Xiaogang Xu, Shouling Ji, Kai Bu, Jianhai Chen, Raheem Beyah, andTing Wang. Adversarial captchas, 2019.

    34

  • [9] Karen Simonyan, Andrea Vedaldi, and Andrew Zisserman. Deep inside convolutionalnetworks: Visualising image classification models and saliency maps. In Workshop atInternational Conference on Learning Representations, 2014.

    [10] Mukund Sundararajan, Ankur Taly, and Qiqi Yan. Axiomatic attribution for deep net-works. In Proceedings of the 34th International Conference on Machine Learning - Volume70, ICML’17, page 3319–3328. JMLR.org, 2017.

    [11] Chiliang Zhang, Zhimou Yang, and Zuochang Ye. Detecting adversarial perturbationswith salieny. Proceedings of the 6th International Conference on Information Technology:IoT and Smart City - ICIT 2018, 2018.

    35

  • A. függelék

    További képek

    Az eredeti kép Tükrözöttje JPG tömörítésben Háttér nélkül

    A.1. ábra. Az autó kép 3 transzformációja.

    Transzformáció Prediktált osztály Valószínűség Frobenius távolság

    Identitás (helybenhagyás) Sport kocsi 57.8% 0

    Tükrözés Taxi 58.3% 14.91

    JPG tömörítés Sport kocsi 53.7% 10.5

    A háttér eltávolítása Sport kocsi 24.0% 11.22

    A.1. táblázat. Az A.1 ábrán látható transzformációk eredményei.

    36

  • σ = 1 σ = 2 σ = 3 σ = 4 σ = 5 σ = 6

    A.2. ábra. Az autó kép homályosításával elért változás a fontossági térképeken.

    Homályosítás mértéke Prediktált osztály Valszínűség Frobenius távolság

    σ = 0.0 Sport kocsi 57,8% 0

    σ = 1.0 Taxi 46,2% 17.75

    σ = 2.0 Limuzin 16,4% 25.4

    σ = 3.0 Teherautó 21,4% 17.63

    σ = 4.0 Teherautó 20,2% 12.67

    σ = 5.0 Teherautó 15,5% 19.25

    σ = 6.0 Teherautó 5,8% 21.34

    A.2. táblázat. Az A.2 ábrán látható képek eredményei.

    F = 0.75 F = 0.75 F = 0.5 F = 0.25 F = 0

    A.3. ábra. Az autó kép szaturációjának csökkentésével elért változás a fontossági térképeken.

    37

  • Szaturáció mértéke Prediktált osztály Valszínűség Frobenius távolság

    F = 1.0 Sport kocsi 57, 8% 0

    F = 0.75 Sport kocsi 46.3% 10.81

    F = 0.5 Sport kocsi 40.9% 11.16

    F = 0.25 Versanyautó 42.0% 13.01

    F = 0.0 Kabrió 61.7% 13.83

    A.3. táblázat. Az A.3 ábrán látható képek eredményei.

    Az eredeti kép Tükrözöttje JPG tömörítésben Háttér nélkül

    A.4. ábra. A hal kép 3 transzformációja.

    Transzformáció Prediktált osztály Valószínűség Frobenius távolság

    Identitás (helybenhagyás) Bohóchal 99.8% 0

    Tükrözés Bohóchal 99.8% 15.6

    JPG tömörítés Bohóchal 99.8% 4.96

    A háttér eltávolítása Bohóchal 97.6% 9.41

    A.4. táblázat. Az A.4 ábrán látható transzformációk eredményei.

    38

  • σ = 0 σ = 1 σ = 2 σ = 3 σ = 4 σ = 5

    A.5. ábra. A hal kép homályosításával elért változás a fontossági térképeken.

    Homályosítás mértéke Prediktált osztály Valszínűség Frobenius távolság

    σ = 0.0 Bohóchal 99.8% 0

    σ = 1.0 Bohóchal 97.6% 19.47

    σ = 2.0 Revolver 18.1% 26.4

    σ = 3.0 Revolver 6.2% 19.98

    σ = 4.0 Revolver 5.5% 25.06

    σ = 5.0 Páncéling 4.6% 24.17

    A.5. táblázat. Az A.5 ábrán látható képek eredményei.

    F = 1 F = 0.75 F = 0.5 F = 0.25 F = 0

    A.6. ábra. A hal kép szaturációjának csökkentésével elért változás a fontossági térképeken.

    39

  • Szaturáció mértéke Prediktált osztály Valszínűség Frobenius távolság

    F = 1.0 Bohóchal 99.8% 0

    F = 0.75 Bohóchal 99.8% 6.90

    F = 0.5 Bohóchal 99.8% 11.01

    F = 0.25 Bohóchal 94.6% 14.13

    F = 0.0 Bohóchal 25.7% 12.98

    A.6. táblázat. Az A.6 ábrán látható képek eredményei.

    Az eredeti kép Tükrözöttje JPG tömörítésben Háttér nélkül

    A.7. ábra. A hegedű kép 3 transzformációja.

    Transzformáció Prediktált osztály Valószínűség Frobenius távolság

    Identitás (helybenhagyás) Hegedű 64.3% 0

    Tükrözés Hegedű 87.8% 16.35

    JPG tömörítés Hegedű 63.8% 6.28

    A háttér eltávolítása Hegedű 77.9% 10.57

    A.7. táblázat. Az A.7 ábrán látható transzformációk eredményei.

    40

  • σ = 0 σ = 1 σ = 2 σ = 3 σ = 4 σ = 5

    A.8. ábra. A hegedű kép homályosításával elért változás a fontossági térképeken.

    Homályosítás mértéke Prediktált osztály Valszínűség Frobenius távolság

    σ = 0.0 Hegedű 64.3% 0

    σ = 1.0 Hegedű 77.6% 12.88

    σ = 2.0 Biztosítótű 17% 15.19

    σ = 3.0 Biztosítótű 15% 22.63

    σ = 4.0 Biztosítótű 18.8% 20.14

    σ = 5.0 Biztosítótű 10.4% 20.33

    A.8. táblázat. Az A.8 ábrán látható képek eredményei.

    F = 1 F = 0.75 F = 0.5 F = 0.25 F = 0

    A.9. ábra. A hegedű kép szaturációjának csökkentésével elért változás a fontossági térképeken.

    41

  • Szaturáció mértéke Prediktált osztály Valszínűség Frobenius távolság

    F = 1.0 Hegedű 64.3% 0

    F = 0.75 Hegedű 69.6% 07.59

    F = 0.5 Hegedű 78.1% 10.11

    F = 0.25 Hegedű 72.4% 11.51

    F = 0.0 Hegedű 45.8% 12.43

    A.9. táblázat. Az A.9 ábrán látható képek eredményei.

    Az eredeti kép Tükrözöttje JPG tömörítésben Háttér nélkül

    A.10. ábra. A kolibri kép 3 transzformációja.

    Transzformáció Prediktált osztály Valószínűség Frobenius távolság

    Identitás (helybenhagyás) Kolibri 100% 0

    Tükrözés Kolibri 99.9% 25.06

    JPG tömörítés Kolibri 100% 19.89

    A háttér eltávolítása Kolibri 100% 8.52

    A.10. táblázat. Az A.10 ábrán látható transzformációk eredményei.

    42

  • σ = 0 σ = 1 σ = 2 σ = 3 σ = 4 σ = 5

    A.11. ábra. A kolibri kép homályosításával elért változás a fontossági térképeken.

    Homályosítás mértéke Prediktált osztály Valszínűség Frobenius távolság

    σ = 0.0 Kolibri 100% 0

    σ = 1.0 Kolibri 99.5% 21.55

    σ = 2.0 Kolibri 90.9% 22.5

    σ = 3.0 Kolibri 21.1% 24.16

    σ = 4.0 Szeg 15.6% 21.98

    σ = 5.0 Csavar 13.7% 28.25

    A.11. táblázat. Az A.11 ábrán látható képek eredményei.

    F = 1 F = 0.75 F = 0.5 F = 0.25 F = 0

    A.12. ábra. A kolibri kép szaturációjának csökkentésével elért változás a fontossági térképeken.

    43

  • Szaturáció mértéke Prediktált osztály Valszínűség Frobenius távolság

    F = 1.0 Kolibri 100% 0

    F = 0.75 Kolibri 100% 22.55

    F = 0.5 Kolibri 100% 20.59

    F = 0.25 Kolibri 100% 15.99

    F = 0.0 Kolibri 100% 10.63

    A.12. táblázat. Az A.12 ábrán látható képek eredményei.

    Az eredeti kép Tükrözöttje JPG tömörítésben Háttér nélkül

    A.13. ábra. A repülő kép 3 transzformációja.

    Transzformáció Prediktált osztály Valószínűség Frobenius távolság

    Identitás (helybenhagyás) Utasszállító repülő 44.8% 0

    Tükrözés Vadászrepülő 56.5% 23.12

    JPG tömörítés Utasszállító repülő 37.3% 15.95

    A háttér eltávolítása Utasszállító repülő 64.1% 5.5

    A.13. táblázat. Az A.13 ábrán látható transzformációk eredményei.

    44

  • σ = 0 σ = 1 σ = 2 σ = 3 σ = 4 σ = 5

    A.14. ábra. A repülő kép homályosításával elért változás a fontossági térképeken.

    Homályosítás mértéke Prediktált osztály Valszínűség Frobenius távolság

    σ = 0.0 Utasszállító repülő 44.8% 0

    σ = 1.0 Vadászrepülő 44.7% 19.74

    σ = 2.0 Vadászrepülő 12.7% 20.91

    σ = 3.0 Szeg 7.4% 19.46

    σ = 4.0 Biztosítótű 7.6% 17.04

    σ = 5.0 Biztosítótű 12.3% 18.45

    A.14. táblázat. Az A.14 ábrán látható képek eredményei.

    F = 1 F = 0.75 F = 0.5 F = 0.25 F = 0

    A.15. ábra. A repülő kép szaturációjának csökkentésével elért változás a fontossági térképeken.

    45

  • Szaturáció mértéke Prediktált osztály Valszínűség Frobenius távolság

    F = 1.0 Utasszállító repülő 44.8% 0

    F = 0.75 Utasszállító repülő 38.8% 5.67

    F = 0.5 Utasszállító repülő 29.7% 7.83

    F = 0.25 Vadászrepülő 27.3% 21.6

    F = 0.0 Vadászrepülő 43.2% 16.93

    A.15. táblázat. Az A.15 ábrán látható képek eredményei.

    46

    SzakdolgozatSzakdolgozat-compressed