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:
Comment c'est possible? Pouvez-vous s'il vous plaît expliquer idéalement en anglais simple?
Réponses:
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.
Les images qui sont en réalité des junk aléatoires ont été correctement reconnues comme n'ayant rien de significatif:
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.
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.
Lectures supplémentaires: le document original (grand PDF)
la source
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 :-)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!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
Plus de détails ici et ici .
la source
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 = 3072
dimensions. 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 uniquep=sigmoid(W.dot(x))
, qui est la probabilité de la classe 1 (par rapport à la classe 0).Supposons que vous sachiez
W=(-1, -1, 1, -1, 1, -1, 1, 1, -1, 1)
et que vous commenciez avec une entréex=(2, -1, 3, -2, 2, 2, 1, -4, 5, 1)
. Un passage en avant donne unesigmoid(W.dot(x))=0.0474
probabilité de 95% commex
exemple de la classe 0 ou de 95% .Nous aimerions trouver un autre exemple,
y
qui est très proche dex
mais qui est classé par le réseau en tant que 1. Notez qu’ilx
s’agit de 10 dimensions, nous avons donc la liberté de déplacer 10 valeurs, ce qui est beaucoup.Depuis
W[0]=-1
est négatif, il est préférable d'avoir un petity[0]
pour faire une contribution totale dey[0]*W[0]
petit. Par conséquent, faisonsy[0]=x[0]-0.5=1.5
. De même,W[2]=1
est positif, il est donc préférable d'augmentery[2]
pour fairey[2]*W[2]
plus:y[2]=x[2]+0.5=3.5
. Etc.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)
, etsigmoid(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
x
afin 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.
la source
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.
la source
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?
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?
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.
la source
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:
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.
la source
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:
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.
la source
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:
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.
la source
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.
la source