Technologies

Tromper une intelligence artificielle, un nouveau type de cyber-attaque

Tromper une intelligence artificielle, un nouveau type de cyber-attaque
ames Kobelius, analyste pour Wikibon/SiliconANGLE, a répertorié pour Infoworld (IDG) les pratiques à mettre en place pour réduire les risques d'attaques contradictoires qui mettraient en danger les systèmes d'IA.

L'une des inquiétudes associées à l'usage de d'intelligence artificielle porte sur les attaques contradictoires. Celles-ci peuvent court-circuiter les systèmes d'IA et les détourner à des fins néfastes. Mais des techniques émergentes existent déjà pour les empêcher.

PublicitéLes attaques contradictoires contre les systèmes d'intelligence artificielle représentent une menace de plus en plus préoccupante, car elles peuvent gravement entamer les performances des applications IA. Si un attaquant parvenait à introduire dans une image, une vidéo ou un enregistrement vocal des modifications et d'autres données presque invisibles dans le but de tromper les outils de classification du système IA, il serait difficile de faire confiance à cette technologie sophistiquée et à l'efficacité de son travail. De telles attaques pourraient, par exemple, réduire les capacités d'intelligence artificielle utilisées par les véhicules autonomes pour reconnaître les obstacles, ou l'efficacité des filtres de contenu pour bloquer des images inadaptées ou, encore, empêcher les systèmes d'accès de contrôler efficacement les personnels autorisés.

Certains font valoir que les attaques contradictoires sont imputables à des « failles profondes » dans la technologie des réseaux neuronaux utilisés aujourd'hui pour gérer les fonctions d'IA. On sait bien que de nombreux algorithmes d'apprentissage machine - même les classificateurs traditionnels de régression logistique - sont vulnérables à ce type d'attaques. Mais on pourrait aussi estimer que ce problème ne fait que mettre en évidence l'insuffisance des processus d'entreprise pour construire, entraîner, déployer et évaluer les modèles d'IA. Les experts du domaine connaissent bien ces problèmes (cf cette vidéo du Re.Work Deep Learning Summit 2015). Ils ont même lancé sur Kaggle une compétition centrée sur la lutte contre les attaques contradictoires. Reste que la communauté IA n'a pas encore clairement défini les meilleures pratiques pour construire les défenses qui permettraient de lutter contre ces attaques dans les réseaux neuronaux profonds. Cependant, d'après la littérature de recherche et les discussions en cours dans l'industrie, il semble que les contours d'un cadre fondamental commencent à se préciser. À l'avenir, les développeurs en IA devront suivre ces directives pour créer dans leurs applications des protections pour prémunir les systèmes contre des attaques contradictoires.

Des attaques possibles contre les systèmes d'IA en production

Étant donné que l'IA est déployée partout, les développeurs doivent supposer que leurs applications sont des cibles de choix en toute circonstance. Aujourd'hui, l'intelligence artificielle sert à automatiser la connaissance, la perception et d'autres actions qui, si elles fournissent les résultats attendus, sont généralement gratifiées de la qualification « intelligente ». Cependant, les attaques contradictoires pourraient transformer cette connaissance, cette perception et ces autres actions en des comportements d'une stupidité surprenante (voir les exemples donnés sur le blog d'Andrej Karpathy), et les conséquences pourraient être bien pires que celles qu'aurait pu provoquer un humain normal dans les mêmes circonstances.

Publicité Évaluer les risques contradictoires avant de lancer les projets

Avant et pendant tout le cycle de vie de leurs applications, les développeurs IA devraient clairement évaluer la vulnérabilité de leurs projets aux attaques contradictoires. Comme l'indique un document de recherche publié en 2015 par l'IEEE, ils devraient prendre en compte le fait que des tiers non autorisés peuvent obtenir un accès direct aux éléments clés du projet AI, y compris à l'architecture du réseau neuronal, aux données d'apprentissage, aux hyperparamètres, à la méthodologie d'apprentissage et à la fonction de perte utilisée. Le document montre aussi qu'un attaquant pourrait collecter des données de substitution à partir de la même source ou de la même distribution que les données d'apprentissage utilisées pour optimiser un modèle de réseau neuronal IA. L'attaquant pourrait savoir ainsi quelles données de substitution utiliser pour tromper un modèle de classification construit avec le réseau neuronal profond ciblé.

Générer des exemples dans le pipeline d'apprentissage IA

Les développeurs IA devraient se pencher sérieusement sur les nombreux types de transformations contradictoires qu'il est possible d'introduire dans les images traitées par les réseaux de neurones à convolution (CNN). Les spécialistes des données peuvent tirer parti des nombreux outils open source, dont certains sont disponibles sur GitHub, pour générer des exemples contradictoires afin de tester la vulnérabilité des CNN et d'autres modèles IA. De façon plus générale, il faudrait tenir compte du nombre croissant de recherches fondamentales effectuées dans le domaine de la génération d'exemples contradictoires pour entrainer toute sorte de réseaux de type Generative adversarial networks (GAN), un procédé d'apprentissage machine apparu en 2014 consistant à opposer deux réseaux de neurones artificiels distincts, y compris des réseaux qui ne sont pas directement axés sur la prévention des attaques de cybersécurité.

Associer les compétences des humains et des discriminateurs algorithmiques

L'efficacité d'une attaque contradictoire dépend de sa capacité à tromper la dernière ligne de défense des applications IA. La manipulation contradictoire d'une image, même évidente à l'oeil nu, pourrait tromper un réseau de neurones convolutif et se traduire par un mauvais classement. À l'inverse, un algorithme discriminateur bien formé d'un réseau GAN pourrait sans difficulté repérer un autre type de manipulation plus subtile, plus difficile à détecter par un humain. Une bonne approche pour ce genre de situation serait d'avoir un GAN dans lequel le modèle contradictoire modifie chaque point de données dans l'image d'entrée afin de maximiser les erreurs de classification, alors que, à l'inverse, un modèle discriminateur pourrait minimiser les erreurs de classification.

Construire des modèles d'ensemble utilisant différents algorithmes

Certains algorithmes peuvent être plus sensibles que d'autres à la présence d'images falsifiées et autres modifications sur les données. Par exemple, des chercheurs de l'Université de Campinas ont trouvé un scénario dans lequel un algorithme de classification peu profond pouvait détecter des images transformées mieux qu'un CNN plus profond. Ils ont également découvert que certains algorithmes conviennent mieux pour détecter des manipulations à travers une image complète, tandis que d'autres peuvent être plus efficaces pour dénicher des altérations subtiles dans une petite portion d'image.

Une approche pour immuniser les réseaux de neurones convolutifs contre ces attaques seraient d'ajouter ce que le chercheur Arild Nøkland, de l'Université de Cornell, appelle un « gradient contradictoire » à la rétropropagation de neurones artificiels pendant le processus d'entraînement d'un modèle d'IA. Il serait prudent pour les équipes de data scientists de tester les avantages relatifs de différents algorithmes pour détecter les attaques contradictoires en recourant de façon continue à de l'A/B testing, à la fois dans les environnements de développement et de production. 

Utiliser des techniques d'apprentissage par transfert

Comme il est indiqué dans un article de recherche publié en 2016 par l'IEEE, les data scientists peuvent utiliser des techniques d'apprentissage par transfert pour réduire la sensibilité d'un CNN ou d'un autre modèle aux altérations contradictoires dans les images. Alors que l'apprentissage par transfert traditionnel implique l'utilisation de statistiques d'un modèle existant à l'autre, l'article d'IEEE expose comment la connaissance existante d'un modèle - acquise à travers un apprentissage sur des données valides - pourrait être « distillé » pour mettre en évidence des altérations contradictoires. 

Le résultat obtenu est qu'un modèle pourrait mieux reconnaître les différences entre des exemples contradictoires (ceux qui ressemble aux exemples de leur jeu d'apprentissage) et des exemples non-contradictoires (ceux qui pourraient dévier significativement de ceux qu'il ont vus dans leur jeu d'apprentissage). Sans ces pratiques appliquées de façon standard dans leur méthodologie, les data scientists pourraient par inadvertance insérer une crédulité algorithme automatisée dans leurs réseaux de neurones. 

A mesure que nos vies vont s'appuyer de plus en plus sur l'IA dans les situations les plus courantes, ces vulnérabilités aux attaques contradictoires pourraient s'avérer catastrophiques. C'est pourquoi il est essentiel que les data scientists et les développeurs en intelligence artificielle mettent en place des mesures de protection adaptées pour contrôler la façon dont les applications d'IA sont développées, entraînées et gérées.

Partager cet article

Commentaire

Avatar
Envoyer
Ecrire un commentaire...

INFORMATION

Vous devez être connecté à votre compte CIO pour poster un commentaire.

Cliquez ici pour vous connecter
Pas encore inscrit ? s'inscrire

    Publicité

    Abonnez-vous à la newsletter CIO

    Recevez notre newsletter tous les lundis et jeudis