Figure 1 :Exemple contradictoire (à droite) obtenu en ajoutant du bruit contradictoire (au milieu) à une image d'entrée propre (à gauche). Alors que le bruit ajouté dans l'exemple contradictoire est imperceptible pour un humain, cela conduit le Deep Neural Network à classer à tort l'image comme "capucin" au lieu de "panda géant". Crédit :IBM Blog Research
Ces dernières années ont vu d'énormes progrès dans le développement de l'intelligence artificielle (IA). Les systèmes d'IA modernes atteignent des performances de niveau humain sur des tâches cognitives telles que la reconnaissance d'objets dans des images, vidéos de annotation, convertir la parole en texte, ou traduire entre différentes langues. Bon nombre de ces résultats révolutionnaires sont basés sur des réseaux de neurones profonds (DNN). Les DNN sont des modèles d'apprentissage machine complexes présentant une certaine similitude avec les neurones interconnectés du cerveau humain. Les DNN sont capables de traiter des entrées de grande dimension (par exemple des millions de pixels dans des images haute résolution), représenter des modèles dans ces entrées à différents niveaux d'abstraction, et relier ces représentations à des concepts sémantiques de haut niveau.
Une propriété intrigante des DNN est que, alors qu'ils sont normalement très précis, ils sont vulnérables aux soi-disant exemples contradictoires. Les exemples contradictoires sont des entrées (par exemple, images) qui ont été délibérément modifiés pour produire une réponse souhaitée par un DNN. Un exemple est montré sur la figure 1 :ici l'ajout d'une petite quantité de bruit contradictoire à l'image d'un panda géant conduit le DNN à classer cette image à tort comme un capucin. Souvent, la cible des exemples contradictoires est une mauvaise classification ou une prédiction incorrecte spécifique qui profiterait à un attaquant.
Les attaques adverses constituent une menace réelle pour le déploiement de systèmes d'IA dans les applications critiques pour la sécurité. Altérations des images pratiquement indétectables, vidéo, discours, et d'autres données ont été conçues pour confondre les systèmes d'IA. De telles modifications peuvent être conçues même si l'attaquant n'a pas une connaissance exacte de l'architecture du DNN ou n'a pas accès à ses paramètres. Encore plus inquiétant, des attaques contradictoires peuvent être lancées dans le monde physique :au lieu de manipuler les pixels d'une image numérique, les adversaires pourraient échapper aux systèmes de reconnaissance faciale en portant des lunettes spécialement conçues, ou déjouer les systèmes de reconnaissance visuelle dans les véhicules autonomes en collant des patchs sur les panneaux de signalisation.
IBM Research Ireland lance l'Adversarial Robustness Toolbox, une bibliothèque de logiciels open source, pour aider à la fois les chercheurs et les développeurs à défendre les DNN contre les attaques adverses et à rendre ainsi les systèmes d'IA plus sûrs. La sortie sera annoncée lors de la conférence RSA par le Dr Sridhar Muppidi, Boursier IBM, VP et CTO Sécurité IBM, et Koos Lodewijkx, Vice-président et CTO des opérations de sécurité et de réponse (SOAR), Sécurité IBM.
La boîte à outils Adversarial Robustness est conçue pour aider les chercheurs et les développeurs à créer de nouvelles techniques de défense, ainsi que dans le déploiement de défenses pratiques des systèmes d'IA du monde réel. Les chercheurs peuvent utiliser la boîte à outils Adversarial Robustness pour comparer les nouvelles défenses par rapport à l'état de l'art. Pour les développeurs, la bibliothèque fournit des interfaces qui prennent en charge la composition de systèmes de défense complets en utilisant des méthodes individuelles comme blocs de construction.
La bibliothèque est écrite en Python, le langage de programmation le plus couramment utilisé pour le développement, tester et déployer des DNN. Il comprend des algorithmes de pointe pour créer des exemples contradictoires ainsi que des méthodes pour défendre les DNN contre ceux-ci. L'approche pour défendre les DNN est triple :
Pour commencer avec la boîte à outils Adversarial Robustness, consultez la version open source sous github.com/IBM/adversarial-robustness-toolbox . La version comprend une documentation complète et des didacticiels pour aider les chercheurs et les développeurs à démarrer rapidement. Un livre blanc détaillant les méthodes mises en œuvre dans la bibliothèque est en préparation.
Cette première version de Adversarial Robustness Toolbox prend en charge les DNN implémentés dans les frameworks d'apprentissage en profondeur TensorFlow et Keras. Les futures versions étendront la prise en charge à d'autres frameworks populaires tels que PyTorch ou MXNet. Actuellement, la bibliothèque est principalement destinée à améliorer la robustesse accusatoire des systèmes de reconnaissance visuelle, cependant, nous travaillons sur de futures versions qui comprendront des adaptations à d'autres modes de données tels que la parole, texte ou séries temporelles.
En tant que projet open source, l'ambition de l'Adversarial Robustness Toolbox est de créer un écosystème dynamique de contributeurs issus de l'industrie et du monde universitaire. La principale différence avec des efforts similaires en cours est l'accent mis sur les méthodes de défense, et sur la composabilité des systèmes de défense pratiques. Nous espérons que le projet Adversarial Robustness Toolbox stimulera la recherche et le développement autour de la robustesse contradictoire des DNN, et faire progresser le déploiement de l'IA sécurisée dans les applications du monde réel. Veuillez partager avec nous votre expérience de travail avec Adversarial Robustness Toolbox et toute suggestion d'améliorations futures.