Robuustheid van classifiers tegen adversarial perturbations

Jonathan Peck Joris Roels Bart Goossens
Hedendaagse kunstmatige intelligentie is makkelijk om de tuin te leiden. Men kan bijvoorbeeld een computerprogramma dat ontworpen is om dieren te herkennen in foto's, eenvoudig laten geloven dat een duidelijke foto van een gele schoolbus eigenlijk een foto van een struisvogel is. In mijn scriptie onderzoek ik vanwaar dit probleem komt en hoe we dit kunnen oplossen.

Dromen computers over struisvogelbussen?

Dromen computers over struisvogelbussen?

In general, we are least aware of what our minds do best.” - Marvin Minsky

De voorbije jaren heeft er zich een ware revolutie ontketend binnen het gebied van kunstmatige intelligentie. Tien jaar geleden was het ondenkbaar dat een computer ooit in staat zou zijn mensen en dieren te herkennen in foto’s of handschrift te lezen. Tegenwoordig wordt dit echter met gemak gedaan door heel wat verschillende bedrijven zonder dat wij als consumenten daar nog bij stilstaan. Zijn alle problemen in de kunstmatige intelligentie bij deze opgelost? Het antwoord is beslist een luide nee.

Computers hebben historisch gezien altijd de reputatie gehad goed te zijn in het oplossen van harde wiskundige problemen, maar zeer slecht te zijn in het oplossen van eerder vage, meer menselijke problemen. We staan er niet bij stil dat onze smartphone of onze rekenmachine in minder dan een seconde ingewikkelde berekeningen kan uitvoeren; laat een computer echter eens een zin uit het Engels vertalen naar het Nederlands en meestal volgt daaruit alleen maar hilariteit. De taken die wij als mensen het makkelijkst kunnen uitvoeren, lijken het moeilijkst voor computers om na te bootsen. Omgekeerd geldt hetzelfde: taken die computers net het makkelijkst kunnen uitvoeren, zijn voor mensen veelal zo goed als onmogelijk.

De laatste jaren is er echter veel vooruitgang geboekt op vlak van kunstmatige intelligentie. Wat tien jaar geleden nog ondenkbaar leek, is tegenwoordig een dagelijkse realiteit. Computers kunnen op dit moment bijvoorbeeld al makkelijk dieren en mensen herkennen in foto’s, een probleem waar onderzoekers decennialang mee geworsteld hebben. De media springen graag op dit soort ontwikkelingen om indrukwekkende beweringen te publiceren over hoe computers dichter en dichter bij het niveau van menselijke intelligentie komen. De waarheid is echter dat computers nog veel zaken niet kunnen. De technieken die in de laatste jaren zoveel succes gehad hebben, gaan ons niet direct op een pad sturen richting echte artificiële intelligentie. Dit werd pijnlijk duidelijk gemaakt in 2013 toen een aantal onderzoekers ontdekte dat de moderne kunstmatige intelligentie makkelijk om de tuin te leiden is. Zij vonden bijvoorbeeld dat het mogelijk is om een foto van een gele schoolbus te manipuleren op een manier die het menselijk oog niet kan zien, maar die ervoor zorgt dat een computer zal denken dat de foto eigenlijk van een struisvogel is. Het is het waard om even stil te staan bij hoe absurd deze situatie is: de computer krijgt een duidelijke foto van een gele bus en verwart dit met een foto van een struisvogel, een dier dat in de verste verte niet lijkt op een bus ongeacht hoeveel promille alcohol men in het bloed heeft. Naast struisvogelbussen kan men nog talloze andere voorbeelden vinden: honden die blijkbaar trappen zijn, panda’s die worden gezien als apen, etc. Men kan een computer eigenlijk doen geloven dat er bijna eender wat in een foto staat zonder dat mensen het verschil tussen de originele foto en de manipulatie kunnen opmerken.

Je kan nu misschien denken dat dit gewoon grappig is, dat dit probleem geen belangrijke gevolgen heeft. Ik wil benadrukken dat dit niet waar is: er zijn veel toepassingen waar het van groot belang is dat de computer de juiste resultaten geeft als men dit soort vragen stelt. Een heel concreet voorbeeld is een filter voor pornografische inhoud: met bepaalde manipulaties zou men pornografische afbeeldingen of filmpjes kunnen uploaden naar een website die dergelijke inhoud niet tolereert. Meer kritieke voorbeelden bestaan echter ook. Er zijn genoeg toepassingen van kunstmatige intelligentie in cyberveiligheid, en als men die systemen zou kunnen omzeilen met gemanipuleerde invoer zou er gevoelige informatie van personen of bedrijven gestolen of beschadigd kunnen worden. Het is dus zeker belangrijk om te achterhalen hoe het komt dat computers dit soort fouten maken en hoe we dit kunnen oplossen.

Mijn scriptie is toegewijd aan precies dit probleem, namelijk de vraag waarom computers zo makkelijk om de tuin te leiden zijn en hoe we dit kunnen verhelpen. Ik bestudeer verschillende modellen die tegenwoordig gebruikt worden in kunstmatige intelligentie en analyseer wat de kleinste veranderingen zijn die men moet toepassen om de computer fouten te laten maken. Uit mijn resultaten kan men technieken vinden om de gevoeligheid van computers aan manipulaties te verminderen en zo de systemen die gebruik maken van kunstmatige intelligentie betrouwbaarder te maken. Een van mijn ontdekkingen is dat men een gigantische verbetering in de weerstand tegen manipulaties kan verkrijgen door de verschillende lagen van het systeem een klein beetje te verbeteren. Moderne kunstmatige intelligentie wordt namelijk typisch geïmplementeerd door vele kleine lagen aan elkaar te schakelen. Om die reden spreekt men vaak van deep learning: er is de laatste jaren immers een ware explosie is geweest in het aantal lagen dat men in dergelijke systemen kan steken, zodat ze heel erg “diep” lijken. Dit is dus een handig resultaat, niet alleen omdat het vaak veel eenvoudiger is om een laag apart te verbeteren dan om alle lagen samen als een geheel te verbeteren, maar ook omdat de verbetering van het volledige systeem vele malen groter kan zijn dan de som van de verbeteringen van de individuele lagen. Vermits moderne systemen zoveel lagen hebben, kan dit effect dus enorm opbouwen.

We hebben nog een lange weg te gaan eer onze computers hetzelfde niveau van intelligentie bereiken als mensen. De creatieve hallucinaties die onze systemen hebben, waaronder struisvogelbussen, traphonden en panda-apen, is hier eigenaardig bewijs van. Met een aantal kleine aanpassingen zouden we hun resultaten echter enorm kunnen verbeteren, dus ik ben optimistisch dat we de computers terug naar de realiteit kunnen brengen.

Bibliografie

Bengio, Yoshua (2009). Learning Deep Architectures for AI. Tech. rep. 1312. Université de Montréal.

Bengio, Yoshua and Pascal Lamblin (2007). ‘Greedy layer-wise training of deep networks’. In: Advances in Neural Information Processing Systems, pp. 153–160.

Byrd, Richard H et al. (1995). ‘A limited memory algorithm for bound constrained optimization’. In: SIAM Journal on Scientific Computing 16.5, pp. 1190–1208.

Carlini, Nicholas and David Wagner (2016). ‘Defensive distillation is not robust to adversarial examples’. In: arXiv preprint.

Collins, Francis S, Michael Morgan and Aristides Patrinos (2003). ‘The Human Genome Project: lessons from large-scale biology’. In: Science 300.5617, pp. 286–290.

Connect, a. K., a. Krogh and J. a. Hertz (1992). ‘A Simple Weight Decay Can Improve Generalization’. In: Advances in Neural Information Processing Systems 4, pp. 950–957.

Dahl, George E., Tara N. Sainath and Geoffrey E. Hinton (2013). ‘Improving deep neural networks for LVCSR using rectified linear units and dropout’. In: ICASSP, IEEE International Conference on Acoustics, Speech and Signal Processing - Proceedings, pp. 8609–8613.

Dauphin, Yann N. and Yoshua Bengio (2013). ‘Big Neural Networks Waste Capacity’. arXiv: 1301.3583.

Deng, Jia et al. (2009). ‘Imagenet: A large-scale hierarchical image database’. In: IEE Conference on Computer Vision and Pattern Recognition, 2009, pp. 248–255.

Dugas, Charles et al. (2001). ‘Incorporating second-order functional knowledge for better option pricing’. In: Advances in Neural Information Processing Systems, pp. 472–478.

Efron, Bradley (1986). ‘Why isn’t everyone a Bayesian?’ In: The American Statistician 40.1, pp. 1–5.

Fawzi, Alhussein, Seyed-Mohsen Moosavi-Dezfooli and Pascal Frossard (2016). ‘Robustness of classifiers: from adversarial to random noise’. In: Advances in Neural Information Processing Systems, pp. 1624–1632.

Fukushima, Kunihiko (1975). ‘Cognitron: A self-organizing multilayered neural network’. In: Biological cybernetics 20.3-4, pp. 121–136.

Fukushima (1988). ‘Neocognitron: A hierarchical neural network capable of visual pattern recognition’. In: Neural networks 1.2, pp. 119–130.

Gelman, Andrew et al. (2008). ‘Objections to Bayesian statistics’. In: Bayesian Analysis 3.3, pp. 445–449.

Glorot, Xavier, Antoine Bordes and Yoshua Bengio (2011). ‘Deep sparse rectifier neural networks’. In: AISTATS ’11: Proceedings of the 14th International Conference on Artificial Intelligence and Statistics 15, pp. 315–323.

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

Goodfellow, Ian J, Jonathon Shlens and Christian Szegedy (2015). ‘Explaining and Harnessing Adversarial Examples’. In: ICLR 2015, pp. 1–11.

Goodfellow, Ij, J Pouget-Abadie and Mehdi Mirza (2014). ‘Generative Adversarial Networks’. In: arXiv preprint 1406.2661v1.

Gu, Jiuxiang et al. (2015). ‘Recent Advances in Convolutional Neural Networks’. In: arXiv preprint arXiv:1512.07108.

Gu, Shixiang and Luca Rigazio (2014). ‘Towards Deep Neural Network Architectures Robust to Adversarial Examples’. In: NIPS Workshop on Deep Learning and Representation Learning 2013, pp. 1–9.

He, Kaiming et al. (2016). ‘Deep residual learning for image recognition’. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 770–778.

Hochreiter, Sepp and Jürgen Schmidhuber (1997). ‘Long short-term memory’. In: Neural computation 9.8, pp. 1735–1780.

Hornik, Kurt (1991). ‘Approximation capabilities of multilayer feedforward networks’. In: Neural Networks 4.2, pp. 251–257.

Hubel, D H and T N Wiesel (1968). ‘Receptive fields and functional architecture of monkey striate cortex.’ In: The Journal of physiology.

Ian J. Goodfellow et al. (2013). ‘Maxout networks’. arXiv preprint.

Ioffe, Sergey and Christian Szegedy (2015). ‘Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift’. In: Journal of Machine Learning Research.

Jia, Yangqing et al. (2014). ‘Caffe: Convolutional architecture for fast feature embedding’. In: Proceedings of the 22nd ACM international conference on Multimedia. ACM, pp. 675–678.

Kingma, Diederik and Jimmy Ba (2014). ‘Adam: A method for stochastic optimization’. In: arXiv preprint 1412.6980.

Krizhevsky, Alex and Geoffrey Hinton (2009). ‘Learning multiple layers of features from tiny images’. Technical report, University of Toronto.

Krizhevsky, Alex, IIya Sulskever and Geoffret E Hinton (2012). ‘ImageNet Classification with Deep Convolutional Neural Networks’. In: Advances in Neural Information and Processing Systems (NIPS), pp. 1–9.

Kurakin, Alexey, Ian Goodfellow and Samy Bengio (2016). ‘Adversarial examples in the physical world’. In: arXiv: 1607.02533.

LeCun, Yann et al. (1998a). ‘Gradient-based learning applied to document recognition’. In: Proceedings of the IEEE 86.11, pp. 2278–2324.

LeCun, Yann, Corinna Cortes and Christopher J.C. Burges (1998b). The MNIST database of handwritten digits. URL : http://yann.lecun.com/exdb/mnist/ (visited on 17/04/2017).

Lecun, Yann, Yoshua Bengio and Geoffrey Hinton (2015). ‘Deep learning’. In: Nature 521.7553, pp. 436–444.

Lichman, M. (2013). UCI Machine Learning Repository. URL : http://archive.ics.uci.edu/ml.

Lin, Min, Qiang Chen and Shuicheng Yan (2013). ‘Network in network’. In: arXiv preprint arXiv:1312.4400.

Lou, Yan et al. (2016). ‘Foveation-based Mechanisms Alleviate Adversarial Examples’. arXiv preprint.

Maharaj, Akash V (2016). ‘Improving the adversarial robustness of ConvNets by reduction of input dimensionality’. arXiv preprint.

Mahendran, Aravindh and Andrea Vedaldi (2015). ‘Understanding deep image representations by inverting them’. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 5188–5196.

Min, Seonwoo, Byunghan Lee and Sungroh Yoon (2016). ‘Deep Learning in Bioinformatics’. In: arXiv: 1603.06430.

Miyato, Takeru et al. (2015). ‘Distributional smoothing by virtual adversarial examples’. In: ICLR 2015.

Mnih, Volodymyr et al. (2015). ‘Human-level control through deep reinforcement learning’. In: Nature 518.7540, pp. 529–533.

Moore, Gordon E et al. (1998). ‘Cramming more components onto integrated circuits’. In: Proceedings of the IEEE 86.1, pp. 82–85.

Moosavi-Dezfooli, Seyed-Mohsen et al. (2016). ‘Universal adversarial perturbations’. In: arXiv preprint arXiv:1610.08401.

Murphy, Kevin P. (2012). Machine Learning: a Probabilistic Perspective. MIT Press.

Murty, Katta G. and Santosh N. Kabadi (1987). ‘Some NP-complete problems in quadratic and nonlinear programming’. In: Math. Program. 39.2, pp. 117–129.

Newell, Allen, John C Shaw and Herbert A Simon (1959). ‘Report on a general problem solving program’. In: IFIP congress. Vol. 256. Pittsburgh, PA, p. 64.

Papernot, Nicolas et al. (2016). ‘Distillation as a Defense to Adversarial Perturbations against Deep Neural Networks’. In: IEEE Symposium on Security and Privacy, pp. 1–16.

Ribeiro, Marco Tulio, Sameer Singh and Carlos Guestrin (2016). ‘"Why Should I Trust You?": Explaining the Predictions of Any Classifier’. In: arXiv: 1602.04938.

Rosenblatt, Frank (1958). ‘The perceptron: A probabilistic model for information storage and organization in the brain.’ In: Psychological review 65.6, p. 386.

Rozsa, Andras, Ethan M Rudd and Terrance E Boult (2016a). ‘Adversarial Diversity and Hard Positive Generation’. In: arXiv preprint arXiv:1605.01775.

Rozsa, Andras, Manuel Gunther and Terrance E Boult (2016b). ‘Towards Robust Deep Neural Networks with BANG’. In: arXiv preprint arXiv:1612.00138.

Russakovsky, Olga et al. (2015). ‘ImageNet Large Scale Visual Recognition Challenge’. In: International Journal of Computer Vision (IJCV) 115.3, pp. 211–252.

Simonyan, Karen and Andrew Zisserman (2015). ‘Very deep convolutional networks for large-scale image recognition’. In: ICLR 2015.

Spivak, Michael (1994). Calculus. 3rd ed. Houston, TX: Publish or Perish.

Srivastava, Nitish et al. (2014). ‘Dropout : A Simple Way to Prevent Neural Networks from Overfitting’. In: Journal of Machine Learning Research (JMLR) 15, pp. 1929–1958.

Szegedy, Christian, W Zaremba and I Sutskever (2013). ‘Intriguing properties of neural networks’. In: arXiv : 1312.6199v4.

Szegedy, Christian et al. (2015). ‘Going deeper with convolutions’. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 1–9.

Warde-Farley, David and Ian Goodfellow (2016). ‘Adversarial Perturbations of Deep Neural Networks’. In: Perturbation, Optimization and Statistics. Ed. by Tamir Hazan, George Papandreou and Daniel Tarlow. MIT Press. Chap. 1.

Winograd, Terry (1972). ‘Understanding natural language’. In: Cognitive psychology 3.1, pp. 1–191.

Xia, Fei and Ruishan Liu (2016). ‘Adversarial Examples Generation and Defense Based on Generative Adversarial Network’. arXiv preprint.

You, Quanzeng et al. (2016). ‘Image Captioning With Semantic Attention’. In: The IEEE Conference on Computer Vision and Pattern Recognition (CVPR).

Zhang, Chiyuan et al. (2016). ‘Understanding deep learning requires rethinking generalization’. In: arXiv:1611.03530.

Zheng, Stephan et al. (2016). ‘Improving the robustness of deep neural networks via stability training’. In: Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pp. 4480–4488.

Universiteit of Hogeschool
Master of Science in de Wiskundige Informatica
Publicatiejaar
2017
Promotor(en)
Yvan Saeys
Kernwoorden
Deel deze scriptie