<iframe width="708" height="398" src="https://www.youtube.com/embed/WSeJBEcvVZU" title="Axiomatic Attribution for Deep Networks" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe> 👉 The Report related to this study can be found here: [Report](https://www.notion.so/146fdf9f541b48738a7c60a2ad669ed8) 👉 The Repository related to this study can be found here: [Repository](https://gitfront.io/r/user-5856462/PMez3XNpXAJC/Epita-S9-DNN/) > [!warning] 😱 **Lower quality video
** > Although I am publishing it here, as this presentation was made as part of my course at Epita, it does not respect the standards of my channel and its quality is lower. I hope nevertheless that it will be able to help you if you wish to document yourself on this article. # Attributions Axiomatiques pour les RĂ©seaux Profonds Lien vers l'article: https://arxiv.org/abs/1703.01365 # Introduction > L’objectif de ce projet est la *comprĂ©hension* et la *rĂ©implĂ©mentation* d’un article de recherche portant sur les **RĂ©seaux de Neurones Profonds** dans le cadre du **traitement de l’image**. L’article que nous avons traitĂ© s’intitule [**Axiomatic Attribution for Deep Networks](https://arxiv.org/abs/1703.01365).** Il a Ă©tĂ© publiĂ© en Mars 2017 par [*Mukund Sundararajan](https://arxiv.org/search/cs?searchtype=author&query=Sundararajan%2C+M), [Ankur Taly](https://arxiv.org/search/cs?searchtype=author&query=Taly%2C+A) & [Qiqi Yan](https://arxiv.org/search/cs?searchtype=author&query=Yan%2C+Q)* et traite de **l’attribution axiomatique** pour les rĂ©seaux de neurones, une technique d’explicabilitĂ© de l’IA visant Ă  dĂ©terminer l’importance de chaque feature pour la prĂ©diction d’un rĂ©seau de neurones. ## Plan de ce document Ce document s’organise de la maniĂšre suivante : --- 1. Dans un premier temps, nous expliquerons l’idĂ©e prĂ©sentĂ©e dans l’article original. 2. Puis, nous discuterons plus avant des choix de **Baselines** possibles et des idĂ©es derriĂšre ces derniers. 3. Finalement, nous ferons le lien avec deux autres articles scientifiques connexes que nous pensons pertinent de souligner. # MĂ©thodes des Gradients IntĂ©grĂ©s InspirĂ©e par un article publiĂ© en 2016 : [**Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization**](https://arxiv.org/abs/1610.02391), la mĂ©thode des **Gradients IntĂ©grĂ©s** prĂ©sentĂ©e dans l’article que nous avons Ă©tudiĂ© a vocation Ă  *expliquer* les prĂ©dictions faites par des modĂšles *BoĂźte Noire* comme les rĂ©seaux de neurones profonds. Pour ce faire, elle dĂ©crit une fonction $A_F : \mathcal D_F^2 \longrightarrow (a_1, \dots, a_n)$ qui associe - Pour un modĂšle donnĂ© dont le comportement est dĂ©crit par la fonction $F$ - Avec une **Baseline** choisie $x' \in \mathcal D_F$ Ă  toute entrĂ©e $x \in \mathcal D_F$ les attributions $(a_1, \dots, a_n)$, **ie l’importance de chacune des features de $x$ dans la prĂ©diction finale $F(x)$.** ## Axiomes Pour Ă©viter la difficultĂ© fondamentale de la dĂ©finition d’une **mĂ©thode d’attribution**, Ă  savoir l’impossibilitĂ© d’identifier la cause premiĂšre d’une attribution peu rĂ©vĂ©latrice du comportement du rĂ©seau entre les faiblesses du rĂ©seau lui-mĂȘme ou la non-pertinence de la mĂ©thode d’attribution, les auteurs ont identifiĂ© un certain nombre d’Axiomes de plus ou moins grande importance Ă  partir desquels ils ont imaginĂ© la mĂ©thode des **Gradients IntĂ©grĂ©s** pour pallier les faiblesses des mĂ©thodes antĂ©rieures. - Deux Axiomes Fondamentaux : - [SensitivitĂ©](https://www.notion.so/Sensitivit-63a18a4224cd4f0db34bd2f6f6027ec3?pvs=21) - [Invariance de l’ImplĂ©mentation](https://www.notion.so/Invariance-de-l-Impl-mentation-304179d1283e4919be0ca4a7083b1438?pvs=21) - Deux Axiomes DĂ©sirables : - [SensitivitĂ© totale](https://www.notion.so/Sensitivit-totale-194455538f65426a9d9a996144a76954?pvs=21) - [LinĂ©aritĂ©](https://www.notion.so/Lin-arit-8f916495813f4247ba7c4a3393d92c05?pvs=21) - Un Axiome DĂ©sirable & Canonique : - [PrĂ©servation de la SymĂ©trie](https://www.notion.so/Pr-servation-de-la-Sym-trie-dd2dc16a0bb5462b84fd0cf4faa37900?pvs=21) ***DĂ©finissons ces Axiomes :*** ### SensitivitĂ© 💡 **Une mĂ©thode d’attribution respecte la SensitivitĂ© *ssi*** → toute feature dont le rĂ©seau ne dĂ©pend pas mathĂ©matiquement a une attribution **nulle** ### Invariance de l’ImplĂ©mentation 💡 **Une mĂ©thode d'attribution respecte l’Invariance de l’ImplĂ©mentation *ssi*** → deux rĂ©seaux *fonctionnellement Ă©quivalents* (ie effectuant toujours des prĂ©dictions identiques pour toute entrĂ©e $x$) ont toujours les mĂȘmes attributions, *mĂȘme lorsque leurs architectures sont diffĂ©rentes*. ### SensitivitĂ© totale 💡 **Une mĂ©thode d'attribution respecte la SensitivitĂ© totale *ssi*** → toute feature dont le rĂ©seau ne dĂ©pend pas mathĂ©matiquement a une attribution **nulle**. ### LinĂ©aritĂ© 💡 **Une mĂ©thode d'attribution respecte la LinĂ©arité *ssi*** → toute composition linĂ©aire de deux rĂ©seaux $F_1$ & $F_2$ $ a \times F_{1}+ b \times F_2 $ voit ses attributions Ă©galement composĂ©es linĂ©airement en fonction de $a$ & $b$. ### PrĂ©servation de la SymĂ©trie 💡 **Une mĂ©thode d'attribution est dite PrĂ©servant la SymĂ©trie *ssi*** → Une mĂ©thode d'attribution **prĂ©serve la symĂ©trie** ssi pour deux features symĂ©triques (ie telles que $F(x, y) = F(y, x)$, les attributions sont identiques. --- On montre que les seules mĂ©thodes d’attributions respectant Ă  la fois les deux Axiomes Fondamentaux & les deux Axiomes DĂ©sirables appartiennent Ă  une catĂ©gorie de mĂ©thodes appelĂ©e **Path Methods**, qui se caractĂ©risent par la gĂ©nĂ©ration d’images interpolĂ©es le long d’un *“chemin”* dans l’espace vectoriel formĂ© par l’entrĂ©e du rĂ©seau $F$. Au sein de ces mĂ©thodes, on en note une **canonique** : La mĂ©thode des **Gradients IntĂ©grĂ©s** qui se caractĂ©rise par un Axiome DĂ©sirable supplĂ©mentaire dont est la seule Ă  disposer : la **PrĂ©servation de la SymĂ©trie.** ## Construction de la mĂ©thode Avec : - $x_i$ la $i_{Ăšme}$feature de l’**EntrĂ©e**, - $x_i'$ la $i_{Ăšme}$feature de la **Baseline** - $F$ la fonction dĂ©crivant notre modĂšle, - $x, x'$ respectivement **EntrĂ©e** & **Baseline**, La mĂ©thode est dĂ©crite par la formule exacte suivante : $ \text{Gradients IntĂ©grĂ©s}_{i(x)}= (x_{i}- x_i')\times\int^{1}_{\alpha=0} \dfrac{\partial F(x' + \alpha \times (x - x'))}{\partial x_{i}}d\alpha $ Et par la formule approximĂ©e par une somme de Riemann suivante : $ \text{Gradients IntĂ©grĂ©s}_{i(x)}\simeq (x_{i}- x_i')\times\sum\limits^{n}_{k=1} \dfrac{\partial F(x' + \dfrac{k}{n} \times (x - x'))}{\partial x_{i}}\times\dfrac{1}{n} $ On peut dĂ©composer cette derniĂšre formule en 4 Ă©tapes qui s’implĂ©mente relativement aisĂ©ment : 1. GĂ©nĂ©rer $n$ *images interpolĂ©es* entre la **Baseline** et l'**Input** : $ x' + \dfrac{k}{n} \times (x - x')\quad \text{pour } k \in[[0, n]] $ ![Untitled](Attributions%20Axiomatiques%20pour%20les%20Re%CC%81seaux%20Profon%20146fdf9f541b48738a7c60a2ad669ed8/Untitled.png) 1. Calculer les *Gradients* entre les prĂ©dictions de sortie du modĂšle $F$ par rapport aux caractĂ©ristiques d'entrĂ©e : $ \dfrac{\partial F(\text{Image InterpolĂ©e})}{\partial x_i} $ 1. Cumuler les *Gradients* ainsi calculĂ©s (On approxime l'intĂ©grale au moyen de la **mĂ©thode des TrapĂšzes** : $ \sum\limits_{k=1}^{n} \text{Gradients} \times \dfrac{1}{n} $ 1. Mettre les *Gradients IntĂ©grĂ©s* Ă  l'Ă©chelle par rapport Ă  l'image d'origine : $ (x_{i}-x_{i')}\times \text{Gradients IntĂ©grĂ©s} $ ![Untitled](Attributions%20Axiomatiques%20pour%20les%20Re%CC%81seaux%20Profon%20146fdf9f541b48738a7c60a2ad669ed8/Untitled%202.png) # Choix de la Baseline On remarque que le choix de la **Baseline** a Ă©tĂ© assez peu dĂ©battu dans ce rapport. Elle constitue pourtant un choix complexe affectant considĂ©rablement la qualitĂ© des rĂ©sultats de notre mĂ©thode d’attribution. L’objectif d’une **Baseline** Ă©tant de dĂ©finir une entrĂ©e $x'$ suffisamment diffĂ©rente de $x$ pour servir de *“rĂ©fĂ©rentiel”* pour notre calcul. Une approche naĂŻve consiste Ă  effectuer ce que nous avons fait dans notre implĂ©mentation dĂ©taillĂ©e avec le notebook **tensorflow.ipynb**, c’est Ă  dire choisir une image uniforme (dans notre cas, uniformĂ©ment noire). Cependant, nombre de nos [RĂ©fĂ©rences](https://www.notion.so/R-f-rences-3867023254f94b45beed705d8d726394?pvs=21) font Ă©tat de Baselines & d’idĂ©es d’optimisation astucieuses que nous allons tenter de dĂ©tailler ici : ## Baseline floue Comme ce que nous cherchons finalement Ă  remarquer lorsque nous lisons une carte d’attribution sont surtout les *contours* des Ă©lĂ©ments sur lesquels le rĂ©seau porte son attention, un article intitulĂ© [Interpretable Explanations of Black Boxes by Meaningful Perturbation](https://arxiv.org/abs/1704.03296) paru en 2017 propose l’utilisation d’une variation de l’entrĂ©e floutĂ©e comme Baseline. De cette maniĂšre, nous forçons notre mĂ©thode d’attribution Ă  mettre en exergue l’*absence* de certains Ă©lĂ©ments, ce qui permet de faire davantage sortir les contours. ## Baseline OpposĂ©e Étant donnĂ© que la **Baseline** sert avant tout de rĂ©fĂ©rentiel pour noter la diffĂ©rence entre une image neutre & une image dont nous cherchons Ă  obtenir les attributions, on pourrait imaginer une Baseline calculĂ©e comme le parfait *“opposĂ©â€* de notre image d’entrĂ©e. De maniĂšre plus rigoureuse, on peut dĂ©finir une **Baseline $x'$** dĂ©finie comme l’image la plus Ă©loignĂ©e de $x$ en norme **$L1$** dont la valeur des pixels reste possible. Cependant, il s’avĂšre que cette mĂ©thode donne de mĂ©diocres rĂ©sultats car la **Baseline** reste trop semblable Ă  l’image d’origine pour que la diffĂ©rence $(x - x')$ soit porteuse de sens. ## Baseline AlĂ©atoire Finalement, une solution alternative intĂ©ressante peut simplement consister en la gĂ©nĂ©ration d’une **Baseline** comme une image constituĂ©e de pixels de couleur alĂ©atoire. En effet, cette stratĂ©gie permet d’éviter l’important biais inhĂ©rent Ă  une **Baseline uniforme** dont la couleur risque de faire nĂ©gliger Ă  la mĂ©thode d’attribution l’importance des pixels de la mĂȘme couleur qu’elle (*la diffĂ©rence $(x - x')$ devenant quasiment nulle*). L’idĂ©e consistant Ă  utiliser une **Baseline AlĂ©atoire** permet d’espĂ©rer que si un pixel de la **Baseline** s’avĂšre ĂȘtre par malheur de la mĂȘme couleur que le pixel correspondant de l’image entrĂ©e, son voisin Ă©chappe quant Ă  lui Ă  ce coup du sort. ## Moyenne sur de multiples Baselines Finalement, suivant l’idĂ©e prĂ©sentĂ©e dans un article paru en 2019 : [Learning Explainable Models Using Attribution Priors](https://openreview.net/forum?id=rygPm64tDH), nous avons dĂ©cidĂ© d’utiliser $n$ **Baselines** alĂ©atoires dont nous moyennons finalement les attributions dans notre notebook pytorch.ipynb. Il eut Ă©tĂ© intĂ©ressant de tester une moyenne sur des **Baselines** autres que **AlĂ©atoires**, mais nous n’avons malheureusement pas eu le temps de mener Ă  bien ces expĂ©rimentations complĂ©mentaires. # Articles liĂ©s Nous finirons ce rapport en Ă©voquant deux autres articles scientifiques qu’il nous a semblĂ© pertinent de confronter avec l’article [**Axiomatic Attribution for Deep Networks](https://arxiv.org/abs/1703.01365)** Ă©tudiĂ© : ## Reinforced Integrated Gradients PrĂ©sentĂ© trĂšs rĂ©cemment Ă  la confĂ©rence [**EGC2023](https://egc2023.sciencesconf.org/)** Ă  laquelle certains des membres de notre groupe ont eu la chance de pouvoir assister, cet article cherche Ă  amĂ©liorer la pertinence des **cartes d’attributions** gĂ©nĂ©rĂ©s au moyen de la mĂ©thode des **Gradients IntĂ©grĂ©s** en entrainer $n$ modĂšles lĂ©gĂšrement diffĂ©rents (*une forme de Bagging*), pour lesquels sont ensuite calculĂ©s les attributions d’une mĂȘme image. Les attributions obtenus sont finalement moyennĂ©es pour obtenir une **carte d’attribution** nettement plus pertinente dans la mesure oĂč elle permet de mettre en lumiĂšre les feature *gĂ©nĂ©ralement utilisĂ© par un modĂšle du type choisi* dans sa prĂ©diction, ce qui permet de simplifier nettement l’interprĂ©tation du rĂ©sultat. On note cependant que cette technique a surtout de l’intĂ©rĂȘt si la **mĂ©thode d’attribution** n’a pas vocation Ă  Ă©tudier le modĂšle mais d’avantage le problĂšme auquel il est confrontĂ©. HĂ©las, l’article ayant paru extrĂȘmement rĂ©cemment, nous ne sommes pas parvenu Ă  retrouver la papier original, ce qui nous empĂȘche de le citer dans nos [RĂ©fĂ©rences](https://www.notion.so/R-f-rences-3867023254f94b45beed705d8d726394?pvs=21). Cependant, l’idĂ©e nous a semblĂ© suffisamment intĂ©ressante pour qu’il soit pertinent de la mentionner ici. ## [Attention Is All You Need](https://arxiv.org/abs/1706.03762) Paru peu aprĂšs l’article [**Axiomatic Attribution for Deep Networks**](https://arxiv.org/abs/1703.01365), la mĂȘme annĂ©e, cet article fondateur qui a introduit l’architecture des Transformers basĂ©e sur le mĂ©canisme d’Attention paraĂźt extrĂȘmement corrĂ©lĂ© Ă  l’article que nous Ă©tudions. En effet, la notion d’Attention a l’avantage d’ĂȘtre facilement explicable dans la mesure oĂč elle est par dĂ©finition construite sur une forme de mĂ©canisme d’attribution. Plusieurs rĂ©sultats prĂ©sentĂ©s dans l’article des **Gradients IntĂ©grĂ©s** font Ă©normĂ©ment penser Ă  la projection de la matrice d’Attention d’un modĂšle en disposant et on peut supposer que bien que l’idĂ©e d’**Attention** soit antĂ©rieure Ă  2017 ([Neural Machine Translation by Jointly Learning to Align and Translate](https://arxiv.org/abs/1409.0473), 2014), l’idĂ©e de la mĂ©thode d’Attribution des **Gradients IntĂ©grĂ©s** a du contribuer Ă  la naissance des mĂ©canismes d’**Attention**. # Conclusion En conclusion, nous avons d'abord rĂ©sumĂ© l'idĂ©e des **Gradients IntĂ©grĂ©s** introduite dans l'article [**Axiomatic Attribution for Deep Networks**](https://arxiv.org/abs/1703.01365). Nous avons ensuite constatĂ© que le choix d'une **Baseline** est complexe et peut avoir une grande influence sur la qualitĂ© des rĂ©sultats obtenus par nos mĂ©thodes d'attribution. Un choix de **Baseline** uniforme ou alĂ©atoire peut faire la diffĂ©rence entre des rĂ©sultats clairs et pertinents et des rĂ©sultats trop biaisĂ©s pour ĂȘtre interprĂ©tables. Les articles scientifiques dont nous avons parlĂ© nous ont Ă©galement permis d'en apprendre davantage sur les implications possibles de la mĂ©thode des **Gradients IntĂ©grĂ©s**, notamment en ce qui concerne les mĂ©canismes d'**Attention**. Nous avons pu constater que les **Gradients IntĂ©grĂ©s** peuvent ĂȘtre une mĂ©thode trĂšs puissante pour obtenir des attributions qui peuvent nous aider Ă  comprendre le fonctionnement des modĂšles profonds. Comme expliquĂ© sur notre [**Repository**](https://gitfront.io/r/user-5856462/PMez3XNpXAJC/Epita-S9-DNN/), nous avons cherchĂ© Ă  reproduire au mieux les rĂ©sulats prĂ©sentĂ©s dans l’article original au moyen de deux notebooks : - **tensorflow.ipynb :** *Qui suit un tutoriel dĂ©taillĂ© en ligne tout en revisitant complĂštement le code proposĂ© & en testant de nouvelles idĂ©es,* - **pytorch.ipynb :** *Qui prĂ©sente une implĂ©mentation libre & optimisĂ©e des **Gradients IntĂ©grĂ©s**, en utilisant notamment l’idĂ©e du moyennage sur de nombreuses Baselines alĂ©aoires.* # RĂ©fĂ©rences > *Par ordre de publication,* > ## Papiers [Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization](https://arxiv.org/abs/1610.02391) [Axiomatic Attribution for Deep Networks](https://arxiv.org/abs/1703.01365) [Interpretable Explanations of Black Boxes by Meaningful Perturbation](https://arxiv.org/abs/1704.03296) [Neural Machine Translation by Jointly Learning to Align and Translate](https://arxiv.org/abs/1409.0473) [Attention Is All You Need](https://arxiv.org/abs/1706.03762) [Learning explainable Models Using Attribution Priors](https://openreview.net/forum?id=rygPm64tDH) 👉 **Reinforced Integrated Gradients** (non encore disponible en ligne, encadrĂ© par **Nicolas Boutry**) ## Autres ressources [Gradients intĂ©grĂ©s | TensorFlow Core](https://www.tensorflow.org/tutorials/interpretability/integrated_gradients?hl=fr) [Visualizing the Impact of Feature Attribution Baselines](https://distill.pub/2020/attribution-baselines/) [Youtube](https://youtu.be/9AaDc35JYiI) [Understanding Deep Learning Models with Integrated Gradients](https://medium.com/towards-data-science/understanding-deep-learning-models-with-integrated-gradients-24ddce643dbf) [Explainable AI: Integrated Gradients for Deep Neural Network Predictions](https://medium.com/codex/explainable-ai-integrated-gradients-for-deep-neural-network-predictions-eb4f96248afb)