<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]]
$

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}
$

# 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)