L’intelligence artificielle échoue toujours lors de la reconnaissance de chiffres manuscrits robuste (et comment y remédier)

Deep Learning a été félicité pour tout résoudre, des voitures autonomes au climat mondial. Et pourtant, les réseaux de neurones profonds (le cheval de bataille de Deep Learning) ne parviennent pas à résoudre de manière satisfaisante même les tâches les plus banales: la reconnaissance de chiffres manuscrite robuste. Considérez les exemples suivants:

Les images «normales» sont parfaitement classées mais…

Le nombre situé sous chaque chiffre indique la prévision du réseau. Il classe tous ces échantillons correctement. Donc quel est le problème? Eh bien, considérons les images suivantes:

… De petites modifications peuvent complètement faire dérailler les décisions relatives au réseau.

Nous avons légèrement modifié les images, mais le réseau de neurones les classe toutes de manière erronée. Ces types d’intrants «contradictoires» sont connus depuis de nombreuses années. Elles affectent essentiellement toutes les applications Deep Learning, depuis la reconnaissance d’objet, la segmentation d’image sémantique, la reconnaissance vocale jusqu’au filtrage du spam. Pratiquement tous les réseaux de neurones actuellement déployés sont affectés et peuvent être attaqués (y compris Siri ou Amazon Echo).

Mais c'est encore pire: considérez le jeu d'images suivant:

Ces images sont classées avec une grande confiance en tant que «zéros» par un réseau de neurones.

Reconnaissez-vous même le soupçon d'un chiffre manuscrit? Non? Le réseau de neurones est extrêmement certain que ce sont tous des zéros. Ces images dites non reconnaissables ne soulignent qu’un autre problème des réseaux neuronaux d’aujourd’hui: elles se comportent complètement de manière irrégulière si les entrées sont trop éloignées des données «normales» (dans ce cas, du bruit plutôt que des chiffres).

Ce problème de robustesse a été reconnu par beaucoup comme l’un des obstacles majeurs au déploiement de Deep Learning. Non seulement pour des raisons de sécurité, mais aussi parce que ces échecs montrent que nous n'avons aucune idée du fonctionnement réel des réseaux de neurones et des fonctionnalités d'image qu'ils utilisent pour la classification. Le nombre de communications tentant de résoudre ce problème a fortement augmenté au cours des deux dernières années, mais sans succès jusqu'à présent. En fait, le réseau de neurones que nous avons utilisé pour classer les chiffres manuscrits ci-dessus est actuellement reconnu comme le modèle le plus robuste (Madry et al.). Ce fait montre à quel point nous sommes loin des modèles de reconnaissance robustes, même pour de simples chiffres manuscrits.

Dans notre récent article, nous présentons un nouveau concept permettant de classer les images de manière robuste. L'idée est très simple: si une image est classée comme sept, elle devrait contenir environ deux lignes - une plus courte, une plus longue - qui se touchent à une extrémité. C’est une façon générative de penser aux chiffres, ce qui est assez naturel pour l’homme et qui nous permet de repérer facilement le signal (les lignes), même au milieu d’une grande quantité de bruit et de perturbations. Avoir un tel modèle devrait faciliter la classification des exemples contradictoires présentés ci-dessus dans la classe appropriée. Apprendre un modèle génératif de chiffres (disons des zéros) est assez simple (en utilisant un AutoCoder Variationnel) et, en un mot, fonctionne comme suit: nous partons d'un espace latent de variables gênantes (qui pourraient capturer des choses telles que l'épaisseur ou l'inclinaison du chiffre et apprises à partir des données) et générer une image en utilisant un réseau de neurones. Nous montrons ensuite des exemples de zéros manuscrits et formons le réseau à la production de zéros similaires. À la fin de la formation, le réseau a découvert les variations naturelles des zéros manuscrits:

Un modèle génératif de zéros apprend les variations typiques des chiffres manuscrits (côté droit).

Nous apprenons un tel modèle génératif pour chaque chiffre. Ensuite, quand une nouvelle entrée survient, nous vérifions quel modèle de chiffres peut le mieux correspondre à la nouvelle entrée. Cette procédure est généralement appelée analyse par synthèse, car nous analysons le contenu de l'image en fonction du modèle le mieux capable de la synthétiser. En revanche, les réseaux à anticipation standard ne disposent pas de mécanisme de retour pour vérifier si l'image d'entrée ressemble réellement à la classe inférée:

Les réseaux feedforward vont directement d’image en classe et n’ont aucun moyen de vérifier que la classification a un sens. Notre modèle d'analyse par synthèse vérifie les caractéristiques de l'image présentes et le classe en fonction de la classe la plus logique.

C’est vraiment la principale différence: les réseaux de prédiction directe n’ont aucun moyen de vérifier leurs prévisions, vous devez leur faire confiance. Notre modèle d’analyse par synthèse, quant à lui, vérifie si certaines caractéristiques de l’image sont réellement présentes dans l’entrée avant de sauter rapidement à la conclusion.

Nous n’avons pas besoin d’un modèle génératif parfait pour que cette procédure fonctionne. Notre modèle de chiffres manuscrits n'est certainement pas parfait: regardez les bords flous. Néanmoins, notre modèle peut classer les chiffres manuscrits avec une grande précision (99,0%) et ses décisions ont beaucoup de sens pour les humains. Par exemple, le modèle signalera toujours une confiance faible sur les images de bruit, car elles ne ressemblent à aucun des chiffres qu’il a vus auparavant. Les images les plus proches du bruit que le modèle d'analyse par synthèse classe encore comme des chiffres avec une grande confiance ont beaucoup de sens pour l'homme:

Nous avons essayé de synthétiser des images non reconnaissables qui sont toujours classées comme zéros avec une grande confiance grâce à notre modèle d’analyse par synthèse. C'est le meilleur que nous avons eu.

Dans le modèle actuel de Madry et al. nous avons constaté que des perturbations minimes des chiffres clairs sont souvent suffisantes pour faire dérailler la classification du modèle. Faire la même chose pour notre modèle d'analyse par synthèse donne des résultats étonnamment différents:

Exemples contradictoires pour le modèle d'analyse par synthèse. Pouvez-vous deviner quel était le numéro d'origine?

Notez que les perturbations ont beaucoup de sens pour l'homme et qu'il est parfois difficile de décider dans quelle classe l'image doit être classée. C’est exactement ce à quoi nous nous attendons pour un modèle de classification robuste.

Notre modèle a plusieurs autres caractéristiques notables. Par exemple, les décisions du modèle d'analyse par synthèse sont beaucoup plus faciles à interpréter, car on peut voir directement quelles caractéristiques orientent le modèle vers une décision particulière. En outre, nous pouvons même déduire certaines limites inférieures de sa robustesse.

Le modèle d'analyse par synthèse ne correspond pas encore parfaitement à la perception humaine et le chemin à parcourir est encore long (voir l'analyse complète dans notre manuscrit). Néanmoins, nous pensons que ces résultats sont extrêmement encourageants et nous espérons que nos travaux ouvriront la voie à une nouvelle classe de modèles de classification précis, robustes et interprétables. Nous devons encore en apprendre beaucoup sur ces nouveaux modèles, notamment sur la manière de rendre l’inférence plus efficace et de l’adapter à des ensembles de données plus complexes (comme l’ICRA ou ImageNet). Nous travaillons fort pour répondre à ces questions et espérons pouvoir partager plus de résultats avec vous à l'avenir.

Vers le premier modèle de réseau neuronal robuste sur le MNIST

Jonas Rauber, Matthias Bethge, Wieland Brendel, Lukas Schott
arXiv: 1805.09190