Neovulga – Veille Vulgarisée – Attaques adversarial
Neovulga – Veille Vulgarisée – Attaques adversarial
A Neovision, nous menons une veille scientifique constante pour rester à l’état de l’art. Chaque mois, les dernières avancées sont présentées à l’ensemble de l’équipe, que ce soit de nouveaux jeux de données, un nouveau papier de recherche… Nous passons toutes les actualités – ou presque – au crible. Dans notre ambition visant à mettre l’IA à la portée de tous, nous vous proposons, chaque mois, l’analyse vulgarisée d’un sujet technique présenté par notre cellule R&D.
Ici, nous ferons une introduction aux attaques adversarial.
Qu’est-ce qu’une attaque adversarial ?
Les attaques adversarial viennent tromper les réseaux de neurones. Dans le cadre d’algorithmes de classification, un ensemble de données perturbées insérées en entrée conduisent l’algorithme à mal classifier ces données reçues. Les perturbations présentes sur les données sont quasiment imperceptibles, en tout cas pour un œil humain.
À noter que cet article s’intéresse particulièrement aux attaques faites contre les systèmes de vision par ordinateur.
Différents types d’attaques adversarial
Ciblées ou non ciblées
Lors d’une attaque non ciblée, on souhaite que la classification proposée en sortie soit erronée. Peu importe la sortie proposée, le tout étant qu’elle ne soit pas la bonne. À l’inverse, une attaque ciblée conduit à classifier une chose précise en sortie. Par exemple, sur mon classifieur d’animaux marins, je peux souhaiter que le modèle prédise systématiquement des chats.
White box, black box, no box
Une autre classification des attaques adversarial vise à les différencier selon la quantité d’informations nécessaires avant d’attaquer un algorithme.
Si l’attaquant dispose de beaucoup de connaissances sur le modèle (son architecture, ses paramètres…) et qu’il est capable d’exécuter des choses sur ce dernier, l’attaque sera qualifiée de “white box”. S’il ne dispose que de peu d’informations, comme l’entrée et la sortie du modèle, l’attaque sera “black box”. Enfin, dans le cadre d’une attaque “no box”, le modèle est totalement opaque et l’on ne dispose d’aucune information à son sujet.
En général, les attaques sont testées sur des modèles “white box”, puis l’on essaie de généraliser vers des “black box” et enfin des “no box”.
Perceptibles ou imperceptibles
Si l’humain est capable de percevoir la perturbation faite à l’image, l’attaque est perceptible. Dans le cas contraire, celle-ci est donc imperceptible.
Physiques ou digitales
Si la perturbation est faite grâce à des objets physiques, l’attaque est qualifiée de physique. Ces attaques peuvent se faire grâce à des autocollants, comme on le verra dans la partie suivante. À l’inverse, une attaque digitale est perpétrée grâce à un ordinateur.
Spécifiques ou universelles
L’attaque est considérée comme spécifique lorsqu’elle fonctionne sur une architecture précise. Sinon, si on peut la transférer vers d’autres architectures ou la généraliser on la considère comme étant universelle.
L’édito de Soufiane
« Les réseaux de neurones profonds sont de puissants outils de pointe, mais les incompréhensions qui subsistent pourront nous nuire un jour. Aussi sophistiqués qu’ils soient, ils sont très vulnérables aux petites attaques qui peuvent modifier radicalement leurs résultats. À mesure que nous approfondissons les capacités de nos réseaux, nous devons examiner comment ces réseaux fonctionnent réellement pour mettre en place une sécurité plus robuste.
Alors que nous nous dirigeons vers un avenir qui intègre de plus en plus de l’IA et des algorithmes d’apprentissage profond dans notre vie quotidienne, nous devons veiller à ne pas oublier que ces modèles peuvent être trompés très facilement. Bien que ces réseaux soient, dans une certaine mesure, d’inspiration biologique et qu’ils présentent des capacités quasi (ou super) humaines dans une grande variété de tâches, des exemples contradictoires nous apprennent que leur mode de fonctionnement n’a rien à voir avec celui des véritables créatures naturelles. Comme nous l’avons vu, les réseaux neuronaux peuvent échouer assez facilement et de façon catastrophique, d’une manière qui nous est totalement étrangère, à nous les humains.
En conclusion, ces attaques devraient nous rendre plus humbles. Elles nous montrent que, même si nous avons fait de grands progrès scientifiques, il y a encore beaucoup de travail à faire. »
Des exemples d’attaques
Un des exemples les plus célèbres est celui visant AlexNet, une architecture de réseaux de neurones convolutifs. Vous ne le percevez pas, et c’est normal, mais toutes les images que vous pouvez observer à droite de la première image sont classifiées comme étant des autruches. Ceci à cause de l’ajout d’un bruit imperceptible aux données en entrée.
Vous l’aurez compris, il en faut peu pour tromper certains réseaux de neurones. Aussi peu, que le changement d’un seul pixel peut être suffisant. C’est le principe de l’attaque nommée “One Pixel Attack”. Cela conduit à ce qu’un cheval, soit aussi rapidement classifié comme étant une grenouille, comme dans le deuxième exemple
Certaines attaques ont lieu dans le monde physique, grâce notamment à des autocollants. Ces autocollants placés à côté de l’objet à classifier forcent le modèle à l’ignorer. Ce dernier est donc classifié comme étant tout autre chose, à savoir un grille-pain sur cet exemple. Si l’on devait qualifier cette attaque parmi les différents types cités dans la partie précédente, on peut dire qu’en plus d’être ciblée, elle est également robuste et universelle. Ce type d’autocollant est directement imprimable depuis le papier d’origine. À l’époque, il était même possible d’en acheter sur Amazon. Au-delà des autocollants, des t-shirts ont même été produits avec le motif. Lorsqu’une personne portait ce dernier, elle était systématiquement ignorée par l’algorithme.
Si ces exemples peuvent paraître anodins, ces attaques pourraient avoir des implications bien plus graves. Prenons l’exemple du véhicule autonome. Afin d’intégrer les règles de circulations en vigueur, il lui est nécessaire de lire les panneaux. Or, un simple autocollant placé sur un panneau de limitation de vitesse peut conduire à une mauvaise classification de ce dernier. Une voiture autonome pourrait alors se retrouver à rouler à 110 km/h au lieu de 50. Les conséquences seraient désastreuses, sans compter que l’accident est inévitable.
Quelles défenses ?
Si des défenses ont été développées, aucunes n’ont assez fait leurs preuves pour devenir universelles. Un papier de recherche intitulé “Adversarial Examples Are Not Easily Detected: Bypassing Ten Detection Methods” publié en 2017 fait le point sur dix méthodes de défense. Si l’on pensait que ces dernières étaient efficaces, c’est en fait le contraire. Le papier démontre qu’il est facile de contourner la méthode de défense une fois que l’on sait laquelle est appliquée. Puisque toutes les défenses sont largement connues, il est possible d’utiliser une méthode par force brute pour faire tomber celle utilisée.
Au final, une seule défense subsiste aujourd’hui : celle de l’adversarial training. Cette méthode consiste à ajouter des exemples adversarial récursivement durant l’entraînement. Le modèle sera donc entraîné à reconnaître à la fois l’image et son exemple adversarial. Cela permet alors de classifier ces exemples et de s’immuniser contre certaines attaques. Toutefois, cette technique n’est pas dénuée de défauts. En plus d’être assez gourmande en ressources, elle ralentit considérablement la phase d’entraînement. Elle ne fonctionne également que sur des petites images et peut causer des problèmes d’overfitting.
Le domaine de recherche étant très actif, de nouvelles méthodes viendront rapidement remplacer celles les anciennes. Les efforts vont d’ailleurs d’autant plus se renforcer du fait de la prise de conscience massive des failles de sécurité existantes dans les algorithmes.