Interprétabilité en segmentation
Interprétabilité en Deep Learning
Dans cette section je propose une revue des méthodes d’interprétabilité les plus populaires, au moins au moment où j’ai commencé à travailler sur le sujet mi-2019. Deux revues de la littérature ont récemment paru sur le Deep Learning interprétable (champ de recherche que l’on trouve parfois désigné par l’acronyme XAI pour eXplainable Artificial Intelligence) : Yu Zhang et al. (2020) proposent une revue générale sur les méthodes d’interprétabilité, tandis que Reyes et al. (2020) se concentrent sur leurs applications à la radiologie, et proposent une réflexion sur les opportunités et les défis spécifiques à cette application. Pour cette section, je me concentre sur la pertinence des méthodes de la littérature pour interpréter les réseaux de segmentation. J’essaie de rendre compte de la diversité de ces méthodes, en les divisant en trois catégories : les méthodes à base de saillance, les méthodes de visualisation et les méthodes basés concepts.
Cartes de saillance
Cette classe de méthodes, qui compte les méthodes d’interprétabilité les plus populaires, vise à répondre à la question suivante : étant donné un réseau entraîné, un vecteur d’entrée et la réponse du réseau à ce vecteur d’entrée, qu’est-ce qui, dans ce vecteur d’entrée, contribue à la réponse du réseau ? Pour un réseau de classification d’images, qui est le contexte le plus répandu dans la recherche en interprétabilité, cela peut se reformuler en : étant donné une image, un classifieur, et la prédiction du classifieur, quelles parties de l’image ont le plus été utilisées par le réseau ? Ce problème est 1. https://imimic-workshop.com/previous_editions/2019/index.html 49 (a) Image originale (b) Grad-CAM (Chat) (c) Occlusion (Chat) (d)Image originale (e) Grad-CAM (Chien) (f) Occlusion (Chien) Figure 3.1 – Exemple de cartes de saillance obtenues avec Grad-CAM (c et d), superposées avec l’image originale, et obtenues par une méthode d’occlusion (c et g). Pour (c) et (g), les pixels bleus correspondent à ceux dont l’occlusion fait baisser le score de la classe chat (c) ou chien (g), tandis que l’occlusion des pixels rouges le fait augmenter. Tiré de Selvaraju et al. (2017), qui introduisent Grad-CAM. parfois appelé explicabilité : étant donné une prédiction en particulier, on cherche à l’expliquer. Cela reste toutefois une question vague, à laquelle des approches très différentes ont tenté de répondre. Leur point commun est de fournir des cartes de saillance, c’est-à-dire une image de la taille de celle que l’on cherche à expliquer, où les parties importantes sont mises en valeur. Comme discuté dans l’article de Reyes et al. (2020), l’intérêt de ces méthodes pour l’imagerie médicale est substantiel : si l’on prend l’exemple d’un diagnostic fourni par un classifieur à partir d’une radio, le simple résultat de classification n’a pas grand intérêt. Au contraire, déterminer les zones de l’image qui l’ont amené à faire cette classification peut être très utile pour un radiologue. On peut citer Zech et al. (2018) qui utilisent une telle méthode pour interpréter un réseau profond entraîné à détecter des pneumonies dans des radios de la poitrine. Une grande partie de ces méthodes repose sur les gradients d’un objectif (activation 50 d’un neurone, fonction de coût…) par rapport à l’image, que toutes les bibliothèques de Deep Learning permette facilement de calculer par rétro-propagation. Si l’on calcule les gradients de l’activation d’un neurone de la couche de sortie qui code une certaine classe par rapport à l’image d’entrée, on peut visualiser les pixels dont une petite modification de valeur modifierait le plus la probabilité d’appartenir à cette classe. Simonyan, Vedaldi et Zisserman (2013) ont proposé cette méthode en premier. Plusieurs autres méthodes ont par la suite été proposées pour améliorer la qualité visuelle des cartes de saillance par gradients, comme SmoothGrad (Smilkov et al. 2017) ou Integrated Gradients (Sundararajan, Taly et Yan 2017). Grad-CAM (Selvaraju et al. 2017) est une autre méthode populaire basée sur les gradients, proposée plus récemment. Une autre idée consiste à re-projeter les activations d’un réseau dans l’espace image, et ainsi visualiser ce qui excite un neurone dans l’image (Zeiler et Fergus 2014, Springenberg et al. 2014). Ensuite viennent les méthodes d’« attribution », dont le but est d’attribuer à chaque pixel un score, positif ou négatif, sur sa contribution à l’excitation d’un neurone. Layerwise Relevance Propagation (Bach et al. 2015), qui est un cas particulier de la Deep Taylor Decomposition (Montavon et al. 2017), est la plus diffusée. La figure 3.2 montre un exemple de cartes de saillance qu’il est possible d’obtenir avec cette méthode, pour un classifieur de chiffres manuscrits.
Visualisation
Une autre manière de gagner en compréhension sur un réseau de neurone est de générer une image qui maximise l’activation d’un neurone du réseau. Le principe est d’optimiser cette activation par montée de gradient, en utilisant les gradients calculés par rétro-propagation, comme dans la section précédente. Plusieurs articles (Simonyan, Vedaldi et Zisserman 2013 ; Yosinski et al. 2015) ont proposé des méthodes qui reposent sur ce principe, qui ne varient que par la régularisation utilisée : L2, flou Gaussien, translations aléatoires, zooms. Sans régularisation, en effet, les images générées sont plus difficiles à interpréter. La figure 3.3a montre le genre d’images qu’on peut obtenir avec cette méthode. Cette méthode est connue sous le nom de DeepDream, d’après un article de blog de chercheurs de Google (Mordvintsev, Olah et Tyka 2015), dans lequel ils montrent les images très stylisées qu’ils ont réussi à obtenir avec cette méthode (voir figure 3.3b). 52 (a) (b) Figure 3.3 – Exemples d’images obtenues par maximisation d’activation. (a) est tirée de Simonyan, Vedaldi et Zisserman (2013), (b) de Mordvintsev, Olah et Tyka (2015) Une variante de cette méthode, proposée par Mahendran et Vedaldi (2015, 2016), consiste à trouver l’image qui minimise la distance de sa représentation à une couche donnée du réseau (c’est-à-dire les activations de cette couche) à une représentation cible, et ainsi inverser cette représentation. Cela permet de visualiser quelle information sur l’image a été gardée, à une couche donnée du réseau. Nguyen et al. (2016) ont proposé de visualiser une image qui maximise l’activation d’un neurone non pas en optimisant directement sur les pixels de l’image, mais sur le vecteur d’entrée d’un réseau générateur, préalablement entraîné par apprentissage adversaire. Ainsi, les images générées ressemblent davantage à des images réelles, ce qui rend la visualisation plus aisée. Si ces méthodes de visualisation par maximisation d’activation peuvent sans problème être appliquées aux réseaux de segmentation, à ma connaissance aucun article ne s’y est intéressé. Il faut aussi noter que la visualisation d’images générées est surtout adaptée aux réseaux entraînés sur des images naturelles. En effet, un humain peut facilement reconnaître les objets qui apparaissent à l’intérieur (par exemple les animaux de la figure 3.3a). Cependant, on peut soutenir que cette interprétation est moins facile pour les images médicales, ce qui rend l’interprétation par visualisation moins utile dans ce cas.