Comment est-il possible que des réseaux de neurones profonds soient si facilement trompés?


63

La page / étude suivante montre que les réseaux de neurones profonds sont facilement trompés en donnant des prédictions de confiance élevée pour des images non reconnaissables, par exemple:

Des images évoluées qui sont méconnaissables pour l'homme, mais ces DNN à la pointe de la technologie, formés sur ImageNet, croient avec une certitude de> = 99,6% qu'il s'agit d'un objet familier.  Ce résultat met en évidence les différences entre la façon dont les DNN et les humains reconnaissent les objets.  Images encodées directement et indirectement

Les images évolutives pour correspondre aux classes DNN produisent une grande diversité d'images.  Les indices de confiance moyens du DNN pour ces images sont de 99,12% pour la classe répertoriée, ce qui signifie que le DNN croit avec une quasi-certitude que l'image est ce genre de chose.  Les images sélectionnées pour illustrer la diversité de 5 séries indépendantes évolutives sont présentées.  Les images permettent de mieux comprendre les préoccupations du réseau DNN lors de la classification d’une image.  Par exemple, un autobus scolaire alterne des lignes jaunes et noires, mais n’a pas besoin de pare-brise ni de roues.

Comment c'est possible? Pouvez-vous s'il vous plaît expliquer idéalement en anglais simple?


14
La version en anglais clair de la réponse est la suivante: tout système basé sur le respect d'un ensemble de règles peut être trompé; il vous suffit de déterminer ce qui peut enfreindre les règles.
Ankur

1
@ Ankur, cela ne signifie-t-il pas que tous les systèmes d'intelligence artificielle peuvent être dupes?
yters

5
@yters: Oui, tous les systèmes d'intelligence artificielle peuvent être trompés, peu importe la façon dont l'équipe marketing suggère que leurs systèmes sont intelligents. Certains sont facilement dupés et certains nécessitent des efforts pour être dupes.
Ankur

6
FWIW, les humains sont tout aussi facilement dupes. C'est pourquoi les illusions d'optique fonctionnent. En outre, il existe des images que le NN identifiera parfaitement l'objet mais qu'un humain ne pourrait pas. En particulier, des images très bruyantes.
Dunk

5
@Dunk, Mais les humains sont dupés différemment. Voilà le problème: si les IA sont dupés quand les humains ne le sont pas, ils ne peuvent pas être humains.
Pacerier

Réponses:


51

Tout d’abord, ces images (même les premières) ne sont pas une corbeille totale, alors qu’elles sont malicieuses pour les humains; ils sont en fait très au fait de diverses techniques avancées, y compris un autre réseau de neurones.

Le réseau de neurones profonds est le réseau pré-formé sur le modèle AlexNet fourni par Caffe . Pour faire évoluer les images, qu’elles soient codées directement ou indirectement, nous utilisons le cadre évolutif de Sferes . Toute la base de code permettant de mener les expériences évolutives peut être téléchargée [sic] ici . Le code des images produites par l’ascension progressive est disponible ici .

Les images qui sont en réalité des junk aléatoires ont été correctement reconnues comme n'ayant rien de significatif:

En réponse à une image non reconnaissable, les réseaux pourraient générer une confiance faible pour chacune des 1000 classes, au lieu d'une valeur de confiance extrêmement élevée pour l'une des classes. En fait, ils ne le font que pour les images générées aléatoirement (par exemple, celles de la génération 0 de la série évolutive)

L'objectif initial des chercheurs était d'utiliser les réseaux de neurones pour générer automatiquement des images qui ressemblent à la réalité (en obtenant les commentaires de l'auteur de la reconnaissance et en essayant de modifier l'image pour obtenir un résultat plus sûr), mais ils ont fini par créer l'art ci-dessus. . Remarquez que même dans les images statiques, il y a de petites taches - généralement près du centre - qui, il est juste de le dire, déclenchent la reconnaissance.

Nous n’essayions pas de produire des images contradictoires et méconnaissables. Au lieu de cela, nous essayions de produire des images reconnaissables, mais ces images non reconnaissables ont émergé.

De toute évidence, ces images avaient les caractéristiques distinctives adéquates pour correspondre à ce que l'IA recherchait en images. L’image "palette" a une forme semblable à une palette, le "bagel" est rond et la bonne couleur, l’image "projecteur" est semblable à une lentille de caméra, le "clavier de l’ordinateur" est un ensemble de rectangles (comme clés individuelles), et la "clôture en chaîne" ressemble légitimement à une clôture en chaîne.

Figure 8. Les images évolutives pour correspondre aux classes DNN produisent une grande diversité d'images. Les images sélectionnées pour illustrer la diversité de 5 séries évolutives sont présentées. La diversité suggère que les images ne sont pas aléatoires, mais que les évolutions produisent plutôt des caractéristiques discriminantes de chaque classe cible.

Lectures supplémentaires: le document original (grand PDF)


Le problème est - Comment DNN donne-t-elle une telle confiance ~ 99% !que ces images ressemblant à des modèles d'objet représentent de vrais objets? Sauf si DNN est malade mental et pense qu'il faut un test de Rorschach dans un hôpital :-)
Agnius Vasiliauskas

Désolé, je n'ai pas pu résister :-) "Bagel" est rond, mais c'est donc le soleil, le globe oculaire, etc. "Projecteur" pourrait être un modèle d'atome, une section transversale de faisceau laser, etc. Et ainsi de suite. Alors pourquoi diable, le bagel est préféré au soleil, le projecteur est préféré au schéma atome, etc. en 99%toute confiance? Pour moi, la principale différence entre DNN et la reconnaissance humaine réside dans le fait que les humains ne sont pas obligés de reconnaître quelque chose, alors que NN semble l'être!
Agnius Vasiliauskas

25

Les images que vous avez fournies peuvent être méconnaissables pour nous. Ce sont en fait les images que nous reconnaissons mais qui ont évolué en utilisant le cadre évolutif de Sferes .

Bien que ces images soient presque impossibles à étiqueter avec des arts autres que les arts abstraits, le réseau de neurones profonds les étiquetera comme des objets familiers dotés d'une confiance de 99,99%.

Ce résultat met en évidence les différences entre la façon dont les DNN et les humains reconnaissent les objets. Les images sont directement ou indirectement encodées

D'après cette vidéo

Le fait de modifier une image initialement correctement classée de manière imperceptible pour l’homme peut amener le DNN à la classer comme autre chose.

Dans l'image ci-dessous, le nombre en bas indique que les images doivent ressembler aux chiffres, mais le réseau estime que les images en haut (celle ressemblant à du bruit blanc) sont de vrais chiffres avec une certitude de 99,99%.

entrez la description de l'image ici

La principale raison pour laquelle ils sont facilement dupes est que Deep Neural Network ne voit pas le monde de la même manière que la vision humaine. Nous utilisons l’ensemble de l’image pour identifier les éléments alors que DNN dépend des fonctionnalités. Tant que DNN détectera certaines caractéristiques, il classera l'image comme un objet familier sur lequel elle a été formée. Les chercheurs ont proposé un moyen d'éviter ce type de tromperie en ajoutant les images trompeuses au jeu de données dans une nouvelle classe et en formant le DNN sur le jeu de données élargi. Dans l’expérience, le niveau de confiance diminue considérablement pour ImageNet AlexNet. Il n'est pas facile de tromper le DNN recyclé cette fois-ci. Mais lorsque les chercheurs ont appliqué cette méthode à MNIST LeNet, l'évolution produit toujours de nombreuses images non reconnaissables avec des indices de confiance de 99,99%.

Plus de détails ici et ici .


13

Toutes les réponses ici sont excellentes, mais pour une raison quelconque, rien n’a été dit jusqu’à présent sur les raisons pour lesquelles cet effet ne devrait pas vous surprendre . Je vais combler le vide.

Permettez-moi de commencer par une condition absolument essentielle pour que cela fonctionne: l'attaquant doit connaître l'architecture de réseau neuronal (nombre de couches, taille de chaque couche, etc.). De plus, dans tous les cas que j'ai moi-même examinés, l'attaquant connaît l'instantané du modèle utilisé en production, c'est-à-dire tous les poids. En d'autres termes, le "code source" du réseau n'est pas un secret.

Vous ne pouvez pas tromper un réseau de neurones si vous le traitez comme une boîte noire. Et vous ne pouvez pas réutiliser la même image trompeuse pour différents réseaux. En fait, vous devez "former" le réseau cible vous-même, et ici, par formation, je veux dire courir les passes en avant et en arrière, mais spécialement conçues pour un autre but.

Pourquoi ça marche du tout?

Maintenant, voici l'intuition. Les images sont de très haute dimension: même l’espace des petites images couleur 32x32 a des 3 * 32 * 32 = 3072dimensions. Mais le jeu de données d'apprentissage est relativement petit et contient de vraies images, qui ont toutes une structure et de bonnes propriétés statistiques (par exemple, le lissage des couleurs). Donc, le jeu de données de formation est situé sur une petite variété de cet immense espace d'images.

Les réseaux convolutifs fonctionnent extrêmement bien sur cette variété, mais ne connaissent fondamentalement rien du reste de l’espace. La classification des points à l'extérieur du collecteur est simplement une extrapolation linéaire basée sur les points à l'intérieur du collecteur. Pas étonnant que certains points particuliers soient extrapolés de manière incorrecte. L'attaquant n'a besoin que d'un moyen de naviguer au plus proche de ces points.

Exemple

Laissez-moi vous donner un exemple concret pour tromper un réseau de neurones. Pour le rendre compact, je vais utiliser un réseau de régression logistique très simple avec une non-linéarité (sigmoïde). Il prend une entrée à 10 dimensions x, calcule un nombre unique p=sigmoid(W.dot(x)), qui est la probabilité de la classe 1 (par rapport à la classe 0).

régression logistique

Supposons que vous sachiez W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)et que vous commenciez avec une entrée x=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1). Un passage en avant donne une sigmoid(W.dot(x))=0.0474probabilité de 95% comme xexemple de la classe 0 ou de 95% .

x et w

Nous aimerions trouver un autre exemple, yqui est très proche de xmais qui est classé par le réseau en tant que 1. Notez qu’il xs’agit de 10 dimensions, nous avons donc la liberté de déplacer 10 valeurs, ce qui est beaucoup.

Depuis W[0]=-1est négatif, il est préférable d'avoir un petit y[0]pour faire une contribution totale de y[0]*W[0]petit. Par conséquent, faisons y[0]=x[0]-0.5=1.5. De même, W[2]=1est positif, il est donc préférable d'augmenter y[2]pour faire y[2]*W[2]plus: y[2]=x[2]+0.5=3.5. Etc.

x, W et y

Le résultat est y=(1.5, -1.5, 3.5, -2.5, 2.5, 1.5, 1.5, -3.5, 4.5, 1.5), et sigmoid(W.dot(y))=0.88. Avec ce seul changement, nous avons amélioré la probabilité de classe 1 de 5% à 88%!

Généralisation

Si vous regardez attentivement l'exemple précédent, vous remarquerez que je savais exactement comment ajuster xafin de le déplacer vers la classe cible, car je connaissais le gradient de réseau. Ce que j'ai fait était en fait une rétropropagation , mais en ce qui concerne les données, au lieu des poids.

En général, l'attaquant commence par une distribution cible (0, 0, ..., 1, 0, ..., 0)(zéro partout, sauf pour la classe qu'il veut atteindre), se propage en arrière sur les données et fait un petit mouvement dans cette direction. L'état du réseau n'est pas mis à jour.

Il devrait maintenant être clair que c'est une caractéristique commune des réseaux à feed-forward qui traitent une petite variété de données, quelle que soit leur profondeur ou la nature des données (image, audio, vidéo ou texte).

Potection

Le moyen le plus simple d'éviter que le système ne soit dupé consiste à utiliser un ensemble de réseaux de neurones, c'est-à-dire un système qui agrège les votes de plusieurs réseaux sur chaque requête. Il est beaucoup plus difficile de faire une contre-propagation simultanément sur plusieurs réseaux. L’attaquant peut essayer de le faire de manière séquentielle, un réseau à la fois, mais la mise à jour d’un réseau peut facilement gâcher les résultats obtenus pour un autre réseau. Plus le nombre de réseaux utilisés est élevé, plus l'attaque devient complexe.

Une autre possibilité consiste à lisser l'entrée avant de la transmettre au réseau.

Utilisation positive de la même idée

Vous ne devriez pas penser que la rétropropagation sur l'image n'a que des applications négatives. Une technique très similaire, appelée déconvolution , est utilisée pour la visualisation et pour mieux comprendre ce que les neurones ont appris.

Cette technique permet de synthétiser une image qui déclenche le déclenchement d’un neurone, ce qui permet de voir visuellement «ce que le neurone recherche», ce qui rend en général les réseaux de neurones convolutionnels plus interprétables.


10

Une question importante qui n’a pas encore de réponse satisfaisante dans la recherche sur les réseaux de neurones est la suivante: comment les DNN établissent-ils les prévisions qu’ils offrent? Les DNN fonctionnent efficacement (mais pas exactement) en faisant correspondre les correctifs dans les images à un "dictionnaire" de correctifs, un stocké dans chaque neurone (voir le papier cat du chat youtube ). Par conséquent, il se peut que l’image ne présente pas une image de haut niveau car elle ne traite que les correctifs et les images sont généralement réduites à une résolution beaucoup plus basse pour obtenir les résultats dans les systèmes de la génération actuelle. Les méthodes qui étudient la manière dont les composants de l'image interagissent peuvent permettre d'éviter ces problèmes.

Voici quelques questions à poser pour ce travail: Quelle était la confiance des réseaux quand ils ont fait ces prédictions? Combien de volume de telles images contradictoires occupent-elles dans l’espace de toutes les images?

Certains travaux dont je suis au courant à cet égard proviennent de Dhruv Batra et du laboratoire Devi Parikh de Virginia Tech, qui étudient la question des systèmes de répondeur de questions: Analyse du comportement des modèles de réponse visuelle à des questions et interprétation des modèles de réponse visuelle à une question .

Ce genre de travail est encore plus nécessaire et, tout comme le système visuel humain se laisse également berner par de telles "illusions d'optique", ces problèmes peuvent être inévitables si nous utilisons des DNN, bien que, autant que je sache, rien n'est encore connu, ni théoriquement ni empiriquement.


5

Comment est-il possible que des réseaux de neurones profonds soient si facilement trompés?

Les réseaux de neurones profonds sont facilement trompés en donnant des prévisions de confiance élevée pour des images non reconnaissables. Comment est-ce possible? Pouvez-vous s'il vous plaît expliquer idéalement en anglais simple ?

Intuitivement, des couches supplémentaires cachées devraient permettre au réseau d’apprendre des fonctions de classification plus complexes et donc de mieux classer. Bien qu’on puisse parler d’apprentissage en profondeur, c’est en réalité une compréhension superficielle.

Testez vos connaissances: quel animal dans la grille ci-dessous est un Felis silvestris catus , prenez votre temps et ne trichez pas. Voici un indice: qui est un chat domestique?

Quel est un chat domestique?

Pour une meilleure compréhension, consultez: " Attaque contradictoire contre les visualisations vulnérables " et " Pourquoi les réseaux de neurones profonds sont-ils difficiles à former? ".

Le problème est analogue à l' aliasing , un effet qui rend différents signaux impossibles à distinguer (ou à des alias les uns des autres) lors de l'échantillonnage et à l' effet roue de diligence , où une roue à rayons semble tourner différemment de sa rotation réelle.

Le réseau de neurones ne sait pas ce qu'il regarde ni de quelle manière il va.

Les réseaux de neurones profonds ne sont pas des experts en la matière. Ils sont formés pour décider mathématiquement qu'un objectif a été atteint. S'ils ne sont pas formés pour rejeter les mauvaises réponses, ils ne savent pas ce qui ne va pas. ils ne savent que ce qui est correct et ce qui n'est pas correct - faux et "non correct" ne sont pas nécessairement la même chose, ni "correct" ni vrai.

Le réseau de neurones ne sait pas du vrai du faux.

Tout comme la plupart des gens ne connaitraient pas un chat domestique s'ils en voyaient un, deux ou plus, ou aucun. Combien de chats domestiques dans la grille de photos ci-dessus, aucun. Toute accusation d'inclure de jolies images de chat n'est pas fondée, il s'agit d'animaux dangereux.

Voici un autre exemple. Est-ce que répondre à la question rend Bart et Lisa plus intelligents, la personne à qui ils s'adressent sait-elle même si des variables inconnues peuvent entrer en jeu?

Sommes-nous déjà là?

Nous n'en sommes pas encore là, mais les réseaux de neurones peuvent rapidement fournir une réponse probablement correcte, en particulier si le système est correctement formé pour éviter tous les faux-vents.


3

Les réseaux de neurones peuvent être facilement trompés ou piratés en ajoutant un certain bruit structuré dans l'espace image ( Szegedy 2013 , Nguyen 2014 ) en raison de l'ignorance des informations non discriminantes dans leur entrée.

Par exemple:

Apprendre à détecter les jaguars en faisant correspondre les taches uniques sur leur fourrure tout en ignorant le fait qu’ils ont quatre pattes. 2015

Donc, la prédiction de haute confiance dans certains modèles est essentiellement due à une " combinaison de leur nature localement linéaire et de leur espace de saisie de grande dimension ". 2015

Publié comme document de conférence lors de l' ICLR 2015 (travaux de Dai), il est suggéré que le transfert de paramètres formés de manière discriminante vers des modèles génératifs pourrait constituer un excellent domaine d'amélioration.


3

Je ne peux pas commenter (à cause de cela, 50 reps requis), mais je voulais faire une réponse à Vishnu JK et à l'OP. Je pense que vous oubliez le fait que le réseau de neurones ne dit vraiment que d’un point de vue programmatique, «c’est très semblable».

Par exemple, bien que nous puissions répertorier les exemples d'image ci-dessus comme "art abstrait", ils sont définitivement les plus similaires à ceux énumérés. Rappelez-vous que les algorithmes d'apprentissage ont une portée sur ce qu'ils reconnaissent en tant qu'objet et si vous regardez tous les exemples ci-dessus ... et réfléchissez à la portée de l'algorithme ... ceux-ci ont un sens (même ceux d'un coup d'œil que nous pourrions reconnaître). bruit blanc). Dans Vishnu, par exemple, si vous brouillez les yeux et que les images sont floues, vous pouvez dans tous les cas repérer des motifs qui correspondent vraiment aux chiffres en question.

Le problème montré ici est que l'algorithme ne semble pas avoir de "cas inconnu". Fondamentalement, lorsque la reconnaissance des formes indique qu'elle n'existe pas dans l'étendue de sortie. (donc un groupe de nœuds de sortie final qui dit que ce n’est rien que je connaisse). Par exemple, les gens le font aussi, car c’est une chose que les humains et les algorithmes d’apprentissage ont en commun. Voici un lien pour montrer de quoi je parle (quelle est la suivante, définissez-le) en utilisant uniquement les animaux connus qui existent:

Lien photo

Maintenant, en tant que personne, limitée par ce que je sais et peux dire, je dois conclure que ce qui suit est un éléphant. Mais ce n'est pas. Les algorithmes d'apprentissage (pour la plupart) n'ont pas d'énoncé "comme une", la sortie valide toujours jusqu'à un pourcentage de confiance. Donc en tromper un de cette façon n’est pas surprenant… ce qui est bien sûr surprenant, c’est que, sur la base de son ensemble de connaissances, on en arrive réellement au point où, si vous regardez les cas susmentionnés énumérés par OP et Vishnu comme une personne. .. avec un peu de recherche ... peut voir comment l'algorithme d'apprentissage probable a fait l'association.

Donc, je n’appellerais pas vraiment cela un mauvais étiquetage de la part de l’algorithme, ni même un cas où il a été trompé ... plutôt un cas où son périmètre a été développé de manière incorrecte.


2

Il y a déjà beaucoup de bonnes réponses, je vais juste ajouter à celles qui sont venues avant les miennes:

Les images de ce type auxquelles vous faites référence sont appelées perturbations contradictoires (voir 1 , et il n’est pas limité aux images; il a été démontré qu’il s’appliquait aussi au texte, voir Jia & Liang, EMNLP 2017. Dans le texte, l’introduction Une phrase non pertinente qui ne contredit pas le paragraphe a été vue comme provoquant une réponse complètement différente du réseau (voir Jia & Liang, EMNLP 2017 ).

La raison pour laquelle ils travaillent est dû au fait que le réseau de neurones voit les images d’une manière différente de nous, couplées à la haute dimensionnalité de l’espace problématique. Lorsque nous voyons l'image dans son ensemble, ils voient une combinaison de caractéristiques qui se combinent pour former un objet ( Moosavi-Dezfooli et al., CVPR 2017 ). Selon les perturbations générées sur un réseau, il est très probable qu’il fonctionne sur d’autres réseaux:

perturbations

Dans la figure ci-dessus, on voit que les perturbations universelles calculées pour le réseau VGG-19, par exemple, ont un taux de confusion supérieur à 53% pour toutes les autres architectures testées.

Alors, comment gérez-vous la menace de perturbations contradictoires? Tout d’abord, vous pouvez essayer de générer autant de perturbations que vous le pouvez et de les utiliser pour peaufiner votre modèle. Si cela résout un peu le problème, cela ne le résout pas entièrement. Dans ( Moosavi-Dezfooli et al., CVPR 2017 ), l'auteur a signalé que répéter le processus en calculant de nouvelles perturbations puis en ajustant à nouveau ne semble apporter aucune amélioration supplémentaire, quel que soit le nombre d'itérations, avec le ratio trompeur 80%.

Les perturbations sont une indication de la concordance superficielle des réseaux de neurones, associée à leur manque minimal de compréhension en profondeur du problème à résoudre. Il reste encore du travail à faire.


2

La plupart des autres réponses sont intéressantes, et certaines font preuve d'une certaine rigueur. Je ne ferai donc pas double emploi avec ces traitements, mais je proposerai une réponse qualitative qui en dit plus sur l'état de la recherche qu'une évaluation exacte du manque de moyens de sécurité conceptions de réseau artificielles actuelles.

Si quelqu'un demandait: "Comment se fait-il que les humains soient si facilement dupes?" Je sourirais en accord et dirais: "Je suppose que nous ne sommes pas si profonds."

C’est aussi mon évaluation de l’état des réseaux artificiels. Néanmoins, davantage d’innovations et de découvertes pourraient s’ensuivre et la question de la sécurité lors de la formation, du déploiement et de l’utilisation sur le terrain de composants IA sera certainement abordée lorsque les attaques réussies réduiront la crédibilité et la bonne volonté des entreprises.

La vente de technologies mal sécurisées n’est pas nouvelle. Personne dans le laboratoire ne mettra une théorie scientifique, des données ou des procédures sur le cloud à moins que nous ayons déjà obtenu une licence open source ou Creative Commons.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.