Design improvement

En intelligence artificielle, les réseaux de neurones sont traditionnellement comparés à des boîtes noires. L'explicabilité est alors un enjeu fondamental.

Saimple : Détection d’anomalies et étude du comportement via la relevance

Effectivement, pour un ingénieur les résultats donnés par ces algorithmes ne sont pas directement explicables. C’est une problématique réelle qui peut soulever des enjeux de sécurité sur la fiabilité de l’IA et la confiance accordée en cette technologie.
Numalis s’efforce de répondre entre autres à cette problématique en utilisant deux notions mathématiques pour obtenir des éléments renforçant la confiance dans les prédictions des réseaux de neurones. Ces notions sont la dominance (reconnaissance ou non de la primauté d’une classe par rapport aux autres) et la relevance (influence positive ou négative de chaque entrée sur le résultat du réseau de neurones) que nous allons développer dans cette étude de cas.

L’utilisation de ces critères se fait avec Saimple, qui est la plateforme développée par Numalis dans le but d’évaluer les réseaux de neurones en termes de robustesse et d’explicabilité pour améliorer leur qualité et de fait leur acceptabilité.

1. Présentation de l’étude de cas :

Objectifs :

Ce cas d'utilisation a pour but de présenter l'utilité de la relevance dans la détection d’anomalies et l’apport d’éléments d’explicabilité pour les réseaux de neurones en utilisant Saimple.

Jeu de données :

Cet ensemble de données contient différents types de véhicules volants, à savoir : drone, hélicoptère, avion de ligne, avion de chasse, etc, (cf. https://www.kaggle.com/eabdul/flying-vehicles).

Représentation des classes du jeu de données

Préalables :

Qu’est-ce que la relevance ?

La relevance pour un classifieur d'images, représente l’influence de chaque pixels sur le calcul du modèle de la classe de sortie.

Sur l'exemple ci-dessous, les pixels rouges de la relevance correspondent aux pixels de l'image d'entrée qui ont des effets positifs sur la classification de l'entrée comme appartenant à la classe de sortie 1. Quant aux pixels bleus de la relevance, ce sont les pixels de l'image d'entrée qui ont des effets négatifs dans la classification de l'entrée comme appartenant à la classe 1 (c’est-à-dire qui diminue le score de classification de cette classe).

Cette relevance évolue en fonction de l'apprentissage du modèle. De manière générale, un modèle peu entraîné présentera une relevance floue, tandis qu'un modèle mieux entraîné présentera une relevance plus nette, pouvant dessiner des formes compréhensibles.

 

 

Qu’est-ce qu’une anomalie ?

Par la suite, on parlera d'anomalie lorsque le modèle prédit une bonne classe avec les mauvaises caractéristiques de l'image. C'est-à-dire quand les pixels d’intérêts les plus forts (visualisables via la relevance), ne sont pas positionnés sur l'élément à détecter.

Attention, même si la relevance ne représente pas l'objet à détecter tel que nous le percevons, cela ne veut pas toujours dire qu'il y a une anomalie. En effet certains modèles ont des fonctionnements différents. La relevance donne une indication sur le fonctionnement du modèle.

 

Comment détecter une anomalie dans le dataset ?

La manière la plus simple, est d'évaluer un échantillon du dataset. Puis, de regarder la relevance de chaque évaluation, peu importe la classification.

Pour détecter ces anomalies, Saimple met à dispositions deux modes de visualisation de la relevance :

Le premier mode de visualisation est un calque dont on règle la transparence et qui affiche la relevance des pixels d’entrée.

Le deuxième mode de visualisation est un seuil réglable qui fait apparaitre les pixels de relevance, des plus influents aux moins influents en fonction de la valeur du seuil.

Sur les exemples ci-dessous, nous pouvons observer que les pixels de relevance les plus intenses se situent sur le contour de la montagne. Or, le but de ce modèle n'est pas de classifier les montagnes mais les objets volants comme un avion de ligne. La reconnaissance de ce motif ne semble donc pas pertinente pour ce cas d’application. On peut considérer que ce cas constitue une anomalie dont nous allons essayer de comprendre la source.

 

2. Première étude

Nous allons nous intéresser à cette image d'avion de ligne sur fond de montagnes et de nuages.

Premièrement, le modèle a bien classifié cette image comme étant un avion de ligne (rappel : la classe 4 correspond au label "avion de ligne"). Avec Saimple nous observons que le score de dominance est proche de 1 pour la classe 4, tandis que le score pour les autres classes est proche de 0.

Maintenant, intéressons-nous à cette image de relevance qui présente une anomalie. En effet, il y a des pixels importants sur l'avion mais aussi sur les nuages et les montagnes.

Le modèle a-t-il appris à reconnaître les nuages et les montagnes en plus de l'avion ?

Une étude du jeu de données pourrait nous aider à comprendre.

 

Étude du jeu de données avion de ligne :

On remarque certaines similitudes entre les images :

  • Avion de couleur blanche ;
  • En vol ou entrain de décoller ;
  • Fond de ciel bleu, de nuage blanc ou de végétation ;
  • Frontière terre/ciel ou nuage/ciel.

Ce jeu de données semble donc être biaisé.

Pour vérifier si le modèle n’est pas biaisé, nous réalisons 2 évaluations sur Saimple. L'une en uniformisant le bas de l'image et l'autre en uniformisant le haut de l'image.

L'évaluation avec le haut de l'image uniformisé présente toujours une anomalie. Le modèle classifie toujours cette image comme un avion de ligne. Or, il n'y en a pas. De plus, on observe un fort intérêt pour la frontière entre le bas de l'image réel et la partie uniforme bleu.
 

Que se passerait-t-il, si les deux parties de l'image étaient uniformisées ?

 

Avec cette dernière évaluation, on observe encore que le modèle classifie l'image comme un avion de ligne. De plus, il y a de la relevance seulement sur la frontière entre les deux zones.

L'hypothèse que nous pouvons faire est que le modèle a appris à détecter la frontière ciel/nuage et ciel/terre en plus de l'avion. L’utilisation de Saimple a permis de repérer cette anomalie qui va pouvoir être corrigée : il faudrait uniformiser les fonds des images d'objets volants. Il sera ensuite possible d’effectuer de nouvelles évaluations pour s’assurer que les biais sont éliminés.

3. Seconde étude

Pour cette seconde étude nous allons nous intéresser aux fusées.

Sur quel(s) critère(s) se base le modèle pour classifier une image de fusée ?

A première vue cette image de fusée a bien été classifiée. Effectivement, Saimple révèle que le score de dominance pour la classe 5 qui correspond au label "fusée" est supérieur à 0,9. De plus, on observe que l'image de relevance ne présente pas de fortes anomalies. La majorité des pixels d’intérêt se concentre sur l'objet à classifier.
Nous allons tout d'abord examiner le jeu de données.

Étude du jeu de données fusée :

On remarque certaines similitudes entre les images :

  • Les fusées sont blanches ;
  • Le fond est un ciel bleu ;
  • La flamme est blanche ;
  • Les fusées sont tirées à la verticale.

Maintenant, si l’on crée une image en utilisant ces 4 critères, le modèle va-t-il réussir à généraliser et comprendre que c'est une fusée ?

La réponse est oui. Le modèle se base sur la présence d'une trace blanche verticale sur fond bleu pour déterminer si l'image est une fusée.

Pour vérifier que la présence d'une flamme blanche verticale contribue dans la prise de décision du modèle, nous allons évaluer la même fusée sans flamme.

Les résultats montrent que la classe 5 est toujours dominante mais son score est réduit à 0,6. De plus la classe 3 (qui correspond au label 'missile') semble être un sérieux exemple d’adversaire (exemple trompant le réseau de neurones en faisant croire qu’il doit être classifié en tant qu’un certain objet alors que ce n’est pas le cas).

Pour vérifier que le fait d'avoir une fusée verticale influe sur la décision nous allons réaliser une dernière évaluation avec la même fusée sans flamme inclinée de 45 degrés.

Le modèle classifie l'image comme étant un missile. Donc, la verticalité de la fusée compte dans la classification. Mais pourquoi ?

Une dernière étude du jeu de données, peut nous donner un indice.

Étude du jeu de données missile :

Tous les missiles sont inclinés. Il est donc probable que ce soit cette caractéristique qui permette de différencier un missile d'une fusée.

4. Conclusion

Un modèle, même avec une précision (pourcentage de classifications correctes) élevée, peut présenter des anomalies ou des biais d'apprentissage. La précision, ne doit donc pas être le seul critère du bon fonctionnement d'un réseau de neurones. Comme nous avons pu le voir, il y a des images qui sont correctement classifiées, cependant, le modèle se base sur plusieurs critères dont certains sont indésirables (cf. frontière terre/ciel avec l'exemple de l'avion sur fond de montagnes) et d’autres ne semblent simplement pas pertinents (cf. l’inclinaison pour les missiles). Le modèle n’a pas forcément appris toutes les caractéristiques d’un objet, ce qui peut s’avérer problématique pour leurs reconnaissances. Ce type d’informations est important afin de décider si le modèle est satisfaisant ou non en l’état actuel et s’il peut donc être déployé.

L’apport d’indicateurs supplémentaires concernant l’explicabilité des réseaux de neurones est donc nécessaire. Au travers de cette étude de cas nous avons pu voir que la relevance visualisable grâce à Saimple est justement un indicateur intéressant.

 

 

Si vous êtes intéressés par Saimple et que voulez en savoir plus sur le use case ou encore si vous voulez avoir accès à un environnement démo de Saimple.

contactez nous : support@numalis.com

 

Crédits image : Markus Winkler (unsplash)

Numalis

We are a French innovative software editor company providing tools and services to make your neural networks reliable and explainable.

Contact us

Follow us