Le raisonnement qui sous-tend les décisions prises par un réseau de neurones profond

Par : Oladayo Ogunnoiki, Statistique Canada

Introduction

En mai 2016, Microsoft a présenté Tay à la twittosphère. Tay était un robot conversationnel expérimental à intelligence artificielle (IA) en matière de « compréhension de la conversation ». Plus on discutait avec Tay, plus son intelligence pouvait augmenter. Cependant, il n'a pas fallu longtemps pour que l'expérience tourne mal. Tay était censé avoir des discussions ludiques avec les gens, mais ce badinage ludique s'est rapidement transformé en commentaire misogyne et raciste.

Certes, le public était resté perplexe devant la tournure qu'avaient prise ces événements. Si ce robot était intrinsèquement grossier, pourquoi les autres modèles d'IA ne perdraient-ils pas aussi le cap? La plupart des utilisateurs de Twitter ont eu l'impression que ce fâcheux événement n'était qu'un soupçon de ce qui allait advenir si notre avenir allait effectivement se trouver empreint d'une profusion de modèles d'IA. Cependant, la plupart des scientifiques des données comprenaient la véritable raison qui avait poussé Tay à faire ce commentaire disgracieux — le robot ne faisait que répéter ce qu'il avait appris des utilisateurs eux-mêmes (Vincent, 2016).

Le monde de l'IA continue de croître de façon exponentielle et, avec des histoires comme celle-ci qui se produisent tout le temps, il est grandement nécessaire d'accroître la confiance du public à l'égard des produits de l'IA. Pour gagner cette confiance, la transparence et la capacité d'expliquer sont de la plus haute importance.

L'une des principales questions que poserait quiconque interagit avec un modèle d'IA comme Tay est : « Pourquoi le modèle a-t-il pris cette décision? » Plusieurs outils ont été conçus pour expliquer le raisonnement qu'adoptent ces modèles et répondre à cette question. Il n'est peut-être pas étonnant que les représentations visuelles soient une façon efficace d'expliquer cela. Dans leur travail, Ramprasaath et coll. (2017) décrivent les exigences d'une bonne représentation visuelle; celle-ci doit être exempte de discrimination classiste et avoir une haute résolution. Ces critères servent de lignes directrices pour déterminer le défi à relever, soit trouver une solution qui fournit une représentation visuelle à haute résolution et permet la discrimination des classes pour les décisions d'un réseau neuronal.

Certaines des techniques qui fournissent des représentations visuelles comprennent la déconvolution, la rétropropagation guidée, la carte d'activation de classe (CAM), la CAM pondérée par gradient (Grad-CAM), la Grad-CAM++, la Hi-Res-CAM, la Score-CAM, l'Ablation-CAM, la X-Grad-CAM, l'Eigen-CAM, le Full-Grad et la factorisation profonde des caractéristiques. Aux fins du présent article, nous allons nous concentrer sur la Grad-CAM.

La Grad-CAM est un outil à source ouverte qui produit des représentations visuelles pour les décisions d'une grande classe de réseaux de neurones convolutifs. Elle fonctionne en mettant en évidence les zones de l'image qui ont la plus grande influence sur la prédiction finale du réseau neuronal profond, ce qui donne un aperçu du processus décisionnel du modèle.

La Grad-CAM est fondée sur la CAM qui utilise l'activation de la carte des caractéristiques par rapport à la classe cible. Elle est propre à certains types de réseaux neuronaux, comme le réseau du Visual Geometry Group et le réseau résiduel (ResNet). Il utilise le gradient de la classe cible par rapport aux cartes des caractéristiques de la couche finale. La Grad-CAM est une méthode générique qui peut être appliquée à différents types de réseaux neuronaux. La combinaison des caractéristiques fait de la Grad-CAM un outil fiable et précis pour comprendre le processus décisionnel des réseaux neuronaux profonds. La Grad-CAM guidée est améliorée en intégrant les gradients du processus de rétropropagation guidée afin de produire une carte thermique plus raffinée. L'une des limites est qu'elle est seulement capable de visualiser les zones de l'image qui sont les plus importantes pour la prédiction finale, par opposition à l'ensemble du processus décisionnel du réseau neuronal profond. Cela signifie qu'elle ne peut fournir une compréhension complète de la façon dont le modèle fait ses prédictions.

Les avantages de la Grad-CAM comprennent les suivants :

  • Il n'y a aucun compromis entre la complexité et la performance du modèle, ce qui permet plus de transparence.
  • Elle s'applique à un large éventail de réseaux de neurones convolutifs (RNC).
  • Elle permet de très bien discriminer les classes.
  • Elle est utile pour diagnostiquer les modes de défaillance en découvrant les biais dans les ensembles de données.
  • Elle aide les utilisateurs non formés à reconnaître un réseau fort ou un réseau faible, même lorsque les prédictions sont identiques.

Méthodologie

La Grad-CAM peut être utilisée dans plusieurs projets de vision par ordinateur comme la classification d'images, la segmentation sémantique, la détection d'objets, le sous-titrage d'images, la réponse aux questions visuelles, etc. Elle peut être appliquée aux RNC et a récemment été rendue disponible sur les architectures de type transformeur.

Voici comment la Grad-CAM fonctionne dans la classification des images, où l'objectif est de faire la distinction entre différentes classes :

Le flux du processus de la carte d’activation de classe pondérée par gradient (Grad-CAM)
Déscription - Figure 1 Le flux du processus de la carte d'activation de classe pondérée par gradient (Grad-CAM)

Une image passe par un RNC et un réseau propre à la tâche pour obtenir un score brut pour la classe de l'image. Ensuite, les gradients sont réglés à zéro pour toutes les classes, à l'exception de la classe désirée, qui est définie à un. Ce signal est ensuite rétropropagé aux cartes des caractéristiques convolutives rectifiées d'intérêt, qui sont combinées pour calculer une carte thermique bleue qui représente l'endroit où le modèle doit regarder pour décider de la classe. Enfin, la carte thermique est multipliée point par point par la rétropropagation guidée, ce qui produit des visualisations Grad-CAM guidées qui sont à haute résolution et propres au concept.

Dans le cas d'une tâche de classification d'image, pour obtenir la carte de localisation discriminative de classe Grad-CAM, LGrad-CAMc , pour un modèle sur une classe spécifique, les étapes suivantes sont suivies :

  • Pour une classe spécifique, c, la dérivée partielle du score, yc , de la classe, c, en ce qui concerne les cartes de caractéristiques, Ak , d'une couche convolutive est calculée au moyen de la rétropropagation.
    ycAijk
  • Les gradients qui remontent en raison de la rétropropagation sont regroupés par mise en commun globale de la moyenne. Cela produit un ensemble de scalaires de poids. Voici les poids d'importance des neurones.
    αkc= 1ZijycAijk
  • Les poids scalaires dérivés sont appliqués (combinaison linéaire) à la carte des caractéristiques. Le résultat est transmis par une fonction d'activation de l'unité linéaire rectifiée (ou ReLU pour Rectified Linear Unit).
    LGrad-CAMc=ReLUkαkcAk
  • Le résultat est mis à l'échelle et appliqué à l'image, mettant en évidence les zones sur lesquelles se concentre le réseau neuronal. Comme nous l'avons vu, une fonction d'activation ReLU est appliquée à la combinaison linéaire de cartes, parce qu'elle ne s'intéresse qu'aux pixels ou aux caractéristiques ayant une influence positive sur le score de classe, yc .

Démonstration de la Grad-CAM

Deux chats et deux télécommandes
Déscription - Figure 2 Deux chats et deux télécommandes

Image où figurent deux chats égyptiens allongés sur un canapé rose avec une télécommande à la gauche de chacun.

La figure 2 est une image illustrant deux chats égyptiens et deux télécommandes. L'image a été dérivée de l'ensemble de données d'images de chat de Hugging Face, au moyen de leur bibliothèque Python. L'objectif est de déterminer les éléments de l'image au moyen de différents modèles d'apprentissage profond préentraînés. On utilise une trousse PyTorch appelée PyTorch-GradCAM. La fonction Grad-CAM détermine les aspects de l'image qui activent la carte des caractéristiques de la classe chat égyptien et de la classe télécommande. Après avoir suivi le tutoriel de PyTorch-GradCAM, les résultats de la Grad-CAM sont répliqués pour différents réseaux neuronaux profonds.

Résultats de la Grad-CAM d’une architecture Resnet-50 préentraînée pour classer l’image de la figure 2. Cette image a été générée en appliquant la Grad-CAM à la figure 2 dans un bloc-notes Jupyter.
Déscription - Figure 3 Résultats de la Grad-CAM d'une architecture Resnet-50 préentraînée pour classer l'image de la figure 2. Cette image a été générée en appliquant la Grad-CAM à la figure 2 dans un bloc-notes Jupyter.

Images de carte thermique générées à partir d'une architecture Resnet-50 au moyen d'une Grad-CAM pour la classe chat égyptien (à gauche) et la classe télécommande (à droite). L'intensité de la couleur rouge montre les zones qui contribuent le plus à la décision prise par le modèle. Il y a peu de zones intenses pour le chat, tandis que les télécommandes sont presque entièrement captées, mais pas de façon très intense.

La figure 2 est analysée par un réseau neuronal résiduel préentraîné (Resnet-50), conformément au tutoriel de PyTorch-Grad-CAM. La figure 3 est l'image générée au moyen de la Grad-CAM. Pour la classe chat égyptien, les pattes, les rayures et le visage des chats ont activé la carte des caractéristiques. Pour les télécommandes, ce sont les boutons et le profil qui ont activé la carte des caractéristiques. Les principales classes 5k prédites par modèle de réponse logit sont la télécommande, le chat tigré, le chat égyptien, le chat domestique marbré et l'oreiller. Ce modèle semble être plus sûr que l'image contient des télécommandes et des chats. La catégorie Oreiller s'est classée parmi les cinq premières catégories de la liste, bien que le modèle soit moins sûr. Cela pourrait être causé par le fait que le modèle a été formé avec des oreillers à imprimé de chat.

Les résultats de la Grad-CAM provenant d’un transformeur de fenêtre décalé (transformeur SWIN) préentraîné pour classer la figure 2. Cette image a été générée en appliquant la Grad-CAM à la figure 2 dans un bloc-notes Jupyter.
Déscription - Figure 4 Les résultats de la Grad-CAM provenant d'un transformeur de fenêtre décalé (transformeur SWIN) préentraîné pour classer la figure 2. Cette image a été générée en appliquant la Grad-CAM à la figure 2 dans un bloc-notes Jupyter.

Les images de carte thermique générées à partir d'un transformeur de fenêtre décalé (transformeur SWIN), en utilisant la Grad-CAM pour la classe chat égyptien (à gauche) et la classe télécommande (à droite). L'intensité de la couleur rouge montre les régions qui contribuent le plus à la décision prise par le modèle. Il y a plus de zones intenses pour les chats, tandis que les télécommandes sont presque entièrement captées avec une forte intensité.

Comme l'architecture Resnet-50, la même image est analysée par un transformeur de fenêtre décalé préentraîné. La figure 4 montre que la fourrure, les rayures, le visage et les pattes des chats sont des zones activées sur la carte des caractéristiques en ce qui concerne la catégorie chat égyptien. Il en va de même pour la carte des caractéristiques en ce qui concerne les télécommandes. Les principales classes 5k prédites, par modèle de réponse logit, sont le chat domestique marbré, le chat tigré, le chat domestique et le chat égyptien. Ce modèle est plus sûr que l'image montre des chats que des télécommandes.

Résultats de l’étude Grad-CAM d’une architecture de transformeur de vision préentraînée dans la classification de l’image à la figure 2. Cette image a été générée en appliquant la Grad-CAM à la figure 2 dans un bloc-notes Jupyter.
Déscription - Figure 5 Résultats de l'étude Grad-CAM d'une architecture de transformeur de vision préentraînée dans la classification de l'image à la figure 2. Cette image a été générée en appliquant la Grad-CAM à la figure 2 dans un bloc-notes Jupyter.

Images de la carte thermique générées à partir d'un transformeur de vision, au moyen de la Grad-CAM pour la classe chat égyptien (à gauche) et la classe télécommande (à droite). L'intensité de la couleur rouge montre les zones qui contribuent le plus à la décision du modèle. Les chats sont entièrement captés en haute intensité. Les distances sont aussi captées, mais pas avec une intensité équivalente. De plus, d'autres régions des images sont mises en surbrillance, même si elles ne font partie d'aucune des classes.

Comme nous l'avons vu ci-dessus, plus de zones de la carte des fonctions sont activées, y compris des sections de l'image qui ne comportaient pas de caractéristiques du chat. Il en va de même pour les régions de la carte des caractéristiques par rapport à la classe Télécommande. Les principales classes 5k prédites, par modèle de réponse logit, sont le chat égyptien, le chat tigré, le chat domestique marbré, la télécommande et le lynx.

Les résultats de la Grad-CAM avec les principales classes 5k pour différentes architectures peuvent être utilisés pour favoriser une sélection de l'architecture de transformeur de vision (VIT) pour les tâches liées à l'identification des chats égyptiens et des télécommandes.

Conclusion

Certains des défis dans le domaine de l'IA comprennent l'accroissement de la confiance des gens dans les modèles développés et la compréhension du raisonnement qui sous-tend la prise de décision propre à ces modèles pendant le développement. Les outils de visualisation comme la Grad-CAM fournissent un aperçu de ces justifications et aident à mettre en évidence les différents modes d'échec des modèles d'IA pour des tâches particulières. Ces outils peuvent être utilisés pour repérer les erreurs dans les modèles et améliorer leur performance. En plus de la Grad-CAM, d'autres outils de visualisation ont été développés comme la Score-CAM, qui fonctionne encore mieux dans l'interprétation du processus décisionnel des réseaux neuronaux profonds. Cependant, la Grad-CAM sera préférée à la Score-CAM en raison de sa simplicité et de son agnosticisme aux architectures modèles. L'utilisation d'outils comme la Grad-CAM devrait être favorisée pour la représentation visuelle du raisonnement sous-jacent aux décisions prises par les modèles d'IA.

Rencontre avec le scientifique des données

Inscrivez-vous à la présentation Rencontre avec le scientifique des données

Si vous avez des questions à propos de mon article ou si vous souhaitez en discuter davantage, je vous invite à une Rencontre avec le scientifique des données, un événement au cours duquel les auteurs rencontrent les lecteurs, présentent leur sujet et discutent de leurs résultats.

Jeudi, le 15 juin
De 13 00 h à 16 00 h, HE
MS Teams – le lien sera fourni aux participants par courriel

Inscrivez-vous à la présentation Rencontre avec le scientifique des données.
À bientôt!

Abonnez-vous au bulletin d'information du Réseau de la science des données pour la fonction publique fédérale pour rester au fait des dernières nouvelles de la science des données.

Bibliographie

  • S. R. Ramprasaath, C. Michael, D. Abhishek, V. Ramakrishna, P. Devi et B. Dhruv, « Grad-CAM: Visual Explanations from Deep Networks through Gradient-based Localization », dans ICCV, IEEE Computer Society, 2017, p. 618-626.
  • Z. Bolei, K. Aditya, L. Agata, O. Aude et T. Antonio, « Learning Deep Features for Discriminative Localization », CoRR, 2015.
  • J. Vincent, « Twitter taught Microsoft's AI chatbot to be racist in less than a day », dans The Verge, 2016.
Date de modification :