Deux exemples de fonctionnalités utiles et non robustes
Ilyas et al.
sa corrélation avec l’étiquette lors de l’attaque. Ilyas et al.
suggère qu’en plus des fonctionnalités piétonnes et robustes que nous connaissons et aimons (comme la couleur du ciel), nos modèles peuvent également profiter de caractéristiques utiles et non robustes, dont certaines peuvent même se situer au-delà du seuil de l’intuition humaine. Cela soulève la question: à quoi pourrait ressembler ces fonctionnalités non-Robust?
Fonctionnalités non-Robust dans les modèles linéaires
Notre recherche est simplifiée lorsque nous réalisons les éléments suivants: les fonctionnalités non-Robust ne sont pas uniques aux modèles complexes non linéaires rencontrés dans l’apprentissage en profondeur. Comme Ilyas et al
Observez, ils surviennent même dans les modèles les plus humbles – celui linéaire. Ainsi, nous limitons notre attention aux caractéristiques linéaires de la forme:
L’utilité robuste d’une caractéristique linéaire admet une décomposition élégante
\ begin {aligned} \ mathbf {e} \ Left (\ inf _ {\ | \ delta \ | \ leq \ epsilon} yf (x + \ delta) \ right) & = \ mathbf {e} \ Left (yf (x) + \ inf _ {\ | \ delta \ | \ leq \ epsilon} yf (\ delta) \ droite) = \ mathbf {e} \ Left (yf (x) + \ inf _ {\ | \ delta \ | \ leq \ epsilon} y \ frac {a ^ {t} \ delta} {\ | a \ | _ {\ sigma}} \ droit) \\ & = \ mathbf {e} \ Left (yf (x) + \ frac {\ inf _ {\ | \ delta \ | \ leq \ epsilon} a ^ {t} \ delta} {\ | a \ | _ {\ s igma}} \ reight) = \ mathop {\ mathbf {e} (yf (x))} – \ epsilon \ frac {\ | a \ | _ {*}} {\ | a \ | _ {\ sigma}} \ end {aligné}
en deux termes:
L’utilité robuste d’une fonctionnalité
la corrélation de la fonctionnalité avec l’étiquette
La non-chambre de la fonctionnalité
Dans l’équation ci-dessus déontonne la double norme de . Cette décomposition nous donne un instrument pour visualiser tout ensemble de fonctionnalités linéaires dans un tracé en deux dimensions.
La tâche de classification binaire est tracée de séparation camion et grenouille dans CIFAR-10 sur l’ensemble des fonctionnalités correspondant au vecteur singulier des données.
Les caractéristiques insaisissables non-Robust utiles, cependant, semblent évidemment absentes dans le tracé ci-dessus. Heureusement, nous pouvons construire de telles fonctionnalités en combinant stratégiquement les éléments de cette base.
Nous démontrons deux constructions:
Il est donc surprenant que les expériences de Madry et al.
Résumé de la réponse: La construction de fonctionnalités explicites non-Robust est très intéressante et progresse vers le défi de visualiser certaines des fonctionnalités utiles non-Robust détectées par nos expériences. Nous convenons également que les caractéristiques non-Robust survenant comme des «distracteurs» ne sont en effet pas exclues par notre cadre théorique, même si elle est exclue par nos expériences. Ce cadre théorique simple suffit pour raisonner et prédire les résultats de nos expériences
Réponse: Ces expériences (visualiser la robustesse et l’utilité des différentes caractéristiques linéaires) sont très intéressantes! Ils corroborent davantage l’existence de fonctionnalités utiles et non roustres et progressent vers la visualisation de ce à quoi ressemblent ces fonctionnalités non robustes.
Nous apprécions également le point soulevé par la construction fournie de fonctionnalités non-Robust (telles que définies dans notre cadre théorique) qui sont des combinaisons de fonctionnalités utiles + robustes et inutiles + non-Robust. Notre cadre théorique permet en effet un tel scénario, même si – comme le note déjà le commentateur – nos résultats expérimentaux ne le font pas. (En ce sens, les résultats expérimentaux et notre
à emporter principal sont en fait plus forts que notre cadre théorique ne capture techniquement.) Plus précisément, dans un tel scénario, lors de la construction de la L’ensemble de données, seul le terme non robuste et inutile de la fonction serait renversé. Ainsi, un classificateur formé sur un tel ensemble de données associerait la fonctionnalité robuste prédictive à la
faux étiqueter et ne généraliserait donc pas sur l’ensemble de tests. En revanche, nos expériences montrent que les classificateurs formés
faire généraliser.
Dans l’ensemble, notre objectif, tout en développant notre cadre théorique était de nous permettre de décrire et de prédire formellement les résultats de nos expériences. Comme le souligne le commentaire, le fait de proposer un cadre théorique qui capture les fonctionnalités non-robuste d’une manière très précise est une orientation de recherche future importante en soi.
Remerciements
Shan Carter (refonte de conception), Preettum (discussion technique), Chris Olah (discussion technique), Ludwig (rétroaction globale), Ria (rétroaction) Aditiya (rétroaction)
Contributions des auteurs
Recherche: Alex a développé…
Écriture et diagrammes: Le texte a été initialement rédigé par…
Références
- Les exemples contradictoires ne sont pas des bugs, ce sont des fonctionnalités
Ilyas, A., Santurkar, S., Tsipras, D., Engstrom, L., Tran, B. et Madry, A., 2019. Arxiv Preprint Arxiv: 1905.02175.
Mises à jour et corrections
Si vous voyez des erreurs ou souhaitez suggérer des modifications, veuillez Créer un problème sur Github.
Réutilisation
Les diagrammes et le texte sont sous licence Creative Commons Attribution CC-BY 4.0 avec Source disponible sur githubsauf indication contraire. Les chiffres qui ont été réutilisés à partir d’autres sources ne relèvent pas de cette licence et peuvent être reconnus par une note dans leur légende: «figure de…».
Citation
Pour l’attribution dans des contextes académiques, veuillez citer ce travail comme
Goh, "A Discussion of 'Adversarial Examples Are Not Bugs, They Are Features': Two Examples of Useful, Non-Robust Features", Distill, 2019.
Citation bibtex
@article{goh2019a, author = {Goh, Gabriel}, title = {A Discussion of 'Adversarial Examples Are Not Bugs, They Are Features': Two Examples of Useful, Non-Robust Features}, journal = {Distill}, year = {2019}, note = {https://distill.pub/2019/advex-bugs-discussion/response-3}, doi = {10.23915/distill.00019.3} }