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 :