, Faculty of Information Technology Adversarial tanítás neurális hálózatokban András Horváth Budapest, 2018.11.21
Neurális hálózatok Számos helyen használhatóak Önvezető autók Alpha Go Arcfelismerés
Neurális hálózatok Felügyelt tanulás Cat 80% Cat
Neurális hálózatok Felügyelt tanulás Mire van szükség: Bemenet, kimenet párokra Cat
Neurális hálózatok Felügyelt tanulás Mire van szükség: Bemenet, kimenet párokra Neurális hálózatra Cat
Neurális hálózatok Felügyelt tanulás Mire van szükség: Bemenet, kimenet párokra Neurális hálózatra Cat 80% Cat
Neurális hálózatok Felügyelt tanulás Mire van szükség: Bemenet, kimenet párokra Neurális hálózatra Hibafüggvényre Cat 80% Cat
y x d y
Neurális hálózatok Példa: Generáljunk arcképeket
Neurális hálózatok Példa: Generáljunk arcképeket d
Neurális hálózatok Példa: Generáljunk arcképeket d L2
Hiba függvény megállapítása A neurális hálózatok megmutatták, hogy egy reprezentatív adathalmaz néha jobban leírja a problémát, mint egy matematikai leírás
Rosszul/nehezen definiálható problémák A mélytanulás a nehezen definiálható problémák esetében teljesít igazán jól Mi az az autó? Autó-e SUV, egy sportkocsi,egy kisbusz,egy kabrió?
Hiba függvény megállapítása A neurális hálózatok megmutatták, hogy egy reprezentatív adathalmaz néha jobban leírja a problémát, mint egy matematikai leírás De ezen esetekben is nehéz hibafüggvényt találni Lehet L1, L2 távolságot számolni képek között Mindegyik metrika független az adat struktúrájától
Hiba függvény megállapítása A neurális hálózatok megmutatták, hogy egy reprezentatív adathalmaz néha jobban leírja a problémát, mint egy matematikai leírás De ezen esetekben is nehéz hibafüggvényt találni Lehet L1, L2 távolságot számolni képek között Mindegyik metrika független az adat struktűrájától Használjunk neurális hálózatot a hibafüggvény megállapításához
Generative adversarial networks Egy rabló-pandúr játék két neurális hálózat között Ahelyett, hogy definiálnánk a hibát, a hálózat eldönti, hogy a megoldásunk mennyire jó
Generative adversarial networks Egy rabló-pandúr játék két neurális hálózat között Ahelyett, hogy definiálnánk a hibát, a hálózat eldönti, hogy a megoldásunk mennyire jó Diszkriminátor: Mintákat kap a tényleges adatból és a generált adatból is Célja,hogy eldöntse,hogy melyik adat melyik halmazból érkezett Generátor: Előállítja a mintákat, ez a halózat azon része, amire szükségünk van Célja,hogy olyan mintákat állítson elő, melyek átverik a diszkriminátort Figure by Chris Olah
Generative adversarial networks
Karras, Tero, et al. "Progressive growing of gans for improved quality, stability, and variation." arxiv preprint arxiv:1710.10196(2017).
4K Portraits of Imaginary People by Mike Tyka
Problémák Konvergencia problémák Arjovsky, M., Chintala, S., & Bottou, L. (2017). Wasserstein gan. arxiv preprint arxiv:1701.07875. Miyato, T., Kataoka, T., Koyama, M., & Yoshida, Y. (2018). Spectral normalization for generative adversarial networks. arxiv preprint arxiv:1802.05957.
Mode collapse Arjovsky, M., Chintala, S., & Bottou, L. (2017). Wasserstein gan. arxiv preprint arxiv:1701.07875. Ghosh, A., Kulharia, V., Namboodiri, V., Torr, P. H., & Dokania, P. K. (2017). Multi-agent diverse generative adversarial networks. arxiv preprint arxiv:1704.02906, 1(4).
Szuperrezolució A bemenetünk lehet egy alacsony felbontású kép, a kimenet pedig ugyanaz a kép nagyobb felbontásban, jobb minőségben (zaj nélkül vagy akár más modalitásban) 23
Szuperrezolució A bemenetünk lehet egy alacsony felbontású kép, a kimenet pedig ugyanaz a kép nagyobb felbontásban, jobb minőségben (zaj nélkül vagy akár más modalitásban) 24
Szuperrezolució A bemenetünk lehet egy alacsony felbontású kép, a kimenet pedig ugyanaz a kép nagyobb felbontásban, jobb minőségben (zaj nélkül vagy akár más modalitásban) 25
Szuperrezolució A bemenetünk lehet egy alacsony felbontású kép, a kimenet pedig ugyanaz a kép nagyobb felbontásban, jobb minőségben (zaj nélkül vagy akár más modalitásban) 26
Szuperrezolució Orvosi CT képeken CBCT images Generated microct images 27Medical Hatvani, Janka, et al. "Deep Learning-Based Super-Resolution Applied to Dental Computed Tomography." IEEE Transactions on Radiation and Plasma Sciences (2018).
Info GAN Diszkriminátor: Mintákat kap a tényleges adatból és a generált adatból is Vissza kell állítania a kódvektort Célja,hogy eldöntse,hogy melyik adat melyik halmazból érkezett Generátor: Előállítja a mintákat, ez a halózat azon része, amire szükségünk van Valamint a egy kódvektort, amit bele kell kódolnia a generált adatba Célja,hogy olyan mintákat állítson elő, melyek átverik a diszkriminátort Figure by Chris Olah
Info GAN Diszkrét kódvektorok (0,1,2...9) Figure by Chris Olah
Info GAN Folytonos kódvektorok [0,1] Figure by Chris Olah
Adat generálással az adat belső struktúrája megérthető Berthelot et al.
Adversarial Samples for Neural Networks Olyanok, mint az optikai illuziók az emberi látórendszer számára Speciálisan szerkesztett bemenetek, amik a tanítóhalmazban nincsenek benne
Adversarial attacks Egy komplex hálózatban nagyon sok paraméteret optimalizálunk De a bemenetünk még nagyobb dimenziós A hálózat jól működik a tényleges bementere, de nem fedtünk le minden lehetséges bemenetet
Adversarial attacks Egy komplex hálózatban nagyon sok paraméteret optimalizálun De a bemenetünk még nagyobb dimenziós A hálózat jól működik a tényleges bementere, de nem fedtünk le minden lehetséges bemenetet Lesznek olyan pontok a bemeneti térben, amik nincsenek lefedve
Adversarial noise Van egy jól működő hálózatunk: Panda [Goodfellow, I. J., Shlens, J., & Szegedy, C. (2014). Explaining and harnessing adversarial examples. arxiv preprint arxiv:1412.6572
Adversarial noise Mit kellen a bementhez adnom, hogy egy másik kimenetet kapjak:??? Az additív zajt ugyanúgy (pl SGD-vel) optimalizáljuk Panda Gibbon [Goodfellow, I. J., Shlens, J., & Szegedy, C. (2014). Explaining and harnessing adversarial examples. arxiv preprint arxiv:1412.6572
Adversarial noise Speciális alacsony intenzitású zaj: A két kép az emberi észlelés számára azonos Panda Gibbon [Goodfellow, I. J., Shlens, J., & Szegedy, C. (2014). Explaining and harnessing adversarial examples. arxiv preprint arxiv:1412.6572
Adversarial noise Ismerve egy hálózatot (hozzáférünk a gradienseihez) generálhatunk olyan mintákat (amik nincsenek a train halmazban), amkire a hálózat rossz választ ad
Adversarial noise a gyakorlatban nem működik Egy valós zaj szerencsére tönkre teszi ezt a speciális bemenetet = + Real life distortion Real life distortion + = Jiajun Lu, Hussein Sibai, Evan Fabry, and David Forsyth. No need to worry about adversarial examples in object detection in autonomous vehicles. 2017. URL https://arxiv.org/ abs/1707.03501.g Ismerve egy hálózatot (hozzáférünk a gradienseihez) generálhatunk olyan mintákat (amik nincsenek a train halmazban), amkire a hálózat rossz választ ad
Matrica alapú adversarial attacks Nagy intenzitású, de kis területre koncentrált támadások: ( k l C d =N I+ St i ( x i,y i,wi,h i ) + St j ( x j,y j,w j,h j ) i=1 j=1 ) A paraméterek a matricák poziciói és méretei Eykholt, K., Evtimov, I., Fernandes, E., Li, B., Song, D., Kohno, T.,... & Tramer, F. (2017). Note on Attacking Object Detectors with Adversarial Stickers. arxiv preprint arxiv:1712.08062.
Sticker based adversarial attacks Nagy intenzitású, de kis területre koncentrált támadások: ( k l C d =N I+ St i ( x i,y i,wi,h i ) + St j ( x j,y j,w j,h j ) i=1 j=1 ) A paraméterek a matricák poziciói és méretei Ezek a támadások kellően robosztusak ahhoz, hogy valós applikációkban is használjuk őket Nem szükséges hozzájuk a hálózat ismerete (elég a hálózat válasza) Evtimov, I., Eykholt, K., Fernandes, E., Kohno, T., Li, B., Prakash, A.,... & Song, D. (2017). Robust physical-world attacks on machine learning models. arxiv preprint arxiv:1707.08945.
Sticker based adversarial attacks Evtimov, I., Eykholt, K., Fernandes, E., Kohno, T., Li, B., Prakash, A.,... & Song, D. (2017). Robust physical-world attacks on machine learning models. arxiv preprint arxiv:1707.08945.
Hálózat döntésének azonosítása Kitakarással azonosíthtjuk, hogy a bemenet egy része mennyire vesz részt a döntésben Zeiler, M. D., & Fergus, R. (2014, September). Visualizing and understanding convolutional networks. In European conference on computer vision (pp. 818-833). Springer, Cham.
Hálózat döntésének azonosítása Kitakarással azonosíthtjuk, hogy a bemenet egy része mennyire vesz részt a döntésben Meglehetősen számításigényes Backward lépéssel készíthetnük egy saliency map-et a fontos pixelek-ről Zeiler, M. D., & Fergus, R. (2014, September). Visualizing and understanding convolutional networks. In European conference on computer vision (pp. 818-833). Springer, Cham.
Konzisztencia alapú detekció Eredeti kimenet: Stop Sign Letakart kimenet: Stop Sign Kismértékű változás Horváth András, Csanád Egervári: Detection of sticker based adversarial attacks, ICDIP 2018
Konzisztencia alapú detekció Eredeti kimenet: Stop Sign Letakart kimenet: Speed Limit Sign Jelentős változás, inkonzisztens detekció Horváth András, Csanád Egervári: Detection of sticker based adversarial attacks, ICDIP 2018
Konzisztencia alapú detekció Más adathalmazokon is hasonlóan hanszálható a módszer
Nemlinearitások Sigmoid ReLU ReLU a leggyakrabban használt és általában legjobban teljesítő hálózat
Regularizáció Regularizáció a súlyokat kontrollálja: Egy neuron aktovációja a bemenet és a súlyok szorzata Attól, hogy a súlyok eloszlása megfelelő, az aktivációk eloszlása még tetszőleges lehet
Háló aktivitások Egy hálózat megtanulhatja, hogy autók detekciójához fontosak a kerek minták
Háló aktivitások Egy hálózat megtanulhatja, hogy autók detekciójához fontosak a kerek minták A hálózatunkban lehetnek olyan minták, amin egy-egy feature rendkívül felülreprezentált Egy korlátos válasz a neuronok esetében sokat segíthet a tanítás során
Aktivációk egy tanítás során CIFAR10-n batch normalizációt használva
Feature-ök megváltozása matrica alapú támadásoknál A matrica alapú támadások nagy intenzitást váltanak ki kis területen Aktivációk az eredeti bemeneten Aktivációk a támadott mintán
Korlátos nemlinearitás tanulható korláttal Bounded leaky Relu
GAN A: Zebra B: Ló Image credit: https://goo.gl/cncp1j
Cycle Consistent GAN A: Zebra B: Ló Image credit: https://goo.gl/cncp1j
Cycle Consistent GAN
Cycle Consistent GAN
Original Transformed
Cycle Consistent GAN
Cycle Consistent GAN
Adat annotálás Sokszor elég nehéz adatot gyűjteni Felcimkézett adatot pedig még nehezebb
Adat annotálás Sokszor elég nehéz adatot gyűjteni Felcimkézett adatot pedig még nehezebb Az emberek néhány mintából és egész jól tanulnak meg általános jellemzőket
Adat annotálás Sokszor elég nehéz adatot gyűjteni Felcimkézett adatot pedig még nehezebb Az emberek néhány mintából és egész jól tanulnak meg általános jellemzőket különböző domain-ek közti kapcsolat
Szimulációk Szimulált adat előállítása általában nagyságrendekkel egyszerűbb, mint valós adat gyűjtése, cimkézése Playing for benchmarks, Vladlev Klotun et Al, https://arxiv.org/abs/1709.07322 65
Szimulációk Szimulált adat előállítása általában nagyságrendekkel egyszerűbb, mint valós adat gyűjtése, cimkézése A szimulált adat (még,ha nagyon jó minőségű is), sosem lesz olyan, mint a valós Playing for benchmarks, Vladlev Klotun et Al, https://arxiv.org/abs/1709.07322 66
Domain adaptation Tegyük fel, hogy van kismennyiségű, felcimkézetlen adatunk: cél-domain Cél domain 67
Domain adaptation Tegyük fel, hogy van kismennyiségű, felcimkézetlen adatunk: cél-domain Van egy ehhez hasonló, szimulált adathalmazunk nagyszámú, jelölt adattal Cél domain Forrás domain 68
Domain Adversarial Neural Networks Vegyünk egy hagyományos osztályozót (Feature extractor + Label predictor) 69
Domain Adversarial Neural Networks Vegyünk egy hagyományos osztályozót (Feature extractor + Label predictor) Betanítjuk a szimulált domain-en...s egész jól működik 70
Domain Adversarial Neural Networks Vegyünk egy hagyományos osztályozót (Feature extractor + Label predictor) Kipróbáljuk a valós adaton. 71
Domain Adversarial Neural Networks Vegyünk egy hagyományos osztályozót (Feature extractor + Label predictor) Kipróbáljuk a valós adaton.borzalmasan teljesít 72
Domain adaptation A két domain a megtanult reprezentációban akár teljesen eltérő is lehet source domain target domain 73
Domain adaptation A két domain a megtanult reprezentációban akár teljesen eltérő is lehet source domain target domain 74
Domain Adversarial neural Networks Vegyünk egy hagyományos osztályozót (Feature extractor + Label predictor) Adjunk hozzá egy osztályozót domain classifier, aminek azt kell eldöntenie, hogy a tanító adat melyik domain-ből jött A Feature extractor-t és a domain classifier-t egymás ellen taníthatjuk Ajakan, Hana, et al. "Domain-Adversarial Neural Networks." arxiv: Machine Learning (2014). 75
Domain Adversarial neural Networks Vegyünk egy hagyományos osztályozót (Feature extractor + Label predictor) Adjunk hozzá egy osztályozót domain classifier, aminek azt kell eldöntenie, hogy a tanító adat melyik domain-ből jött A Feature extractor-t és a domain classifier-t egymás ellen taníthatjuk 1. lépés: betanítjuk az osztályozót a forrás domain-en Kimenet: Auto Nem auto Ajakan, Hana, et al. "Domain-Adversarial Neural Networks." arxiv: Machine Learning (2014). 76
Domain Adversarial neural Networks Vegyünk egy hagyományos osztályozót (Feature extractor + Label predictor) Adjunk hozzá egy osztályozót domain classifier, aminek azt kell eldöntenie, hogy a tanító adat melyik domain-ből jött A Feature extractor-t és a domain classifier-t egymás ellen taníthatjuk 2. lépés:valós és szimulált képeken tanítjuk a domain classifier-t Kimenet: Source domain Target Domain Ajakan, Hana, et al. "Domain-Adversarial Neural Networks." arxiv: Machine Learning (2014). 77
CyCADA simulations CyCADA: Cycle-Consistent Adversarial Domain Adaptation Judy Hoffman, Eric Tzeng, Taesung Park, Jun-Yan Zhu, Phillip Isola, Kate Saenko, Alexei A. Efros, Trevor Darrell https://arxiv.org/abs/1711.03213 78
Semi parametric image synthesis Kép generálás egy megadott feltétel alapján Qi, X., Chen, Q., Jia, J., & Koltun, V. (2018). Semi-parametric Image Synthesis. arxiv preprint 79