Integrated-Gradients icon indicating copy to clipboard operation
Integrated-Gradients copied to clipboard

Typo in equation (2) of the paper "Axiomatic Attribution for Deep Networks" ?

Open etiennekintzler opened this issue 2 years ago • 0 comments

There seems to be a typo in the definition of path integrated gradients (equation 2) in the paper Axiomatic Attribution for Deep Networks.

I think it should be $\frac{\partial F(\gamma(\alpha))}{\partial x_i}$ and not $\frac{\partial F(\gamma(\alpha))}{\partial\gamma_i(\alpha)}$ (see proof below).

As I am not a specialist of path integrals, please tell me if I am missing something or if the 2 quantities are equivalent.

Proof (in 2 dimensions for simplicity)

Let:

  • the function $\gamma(\alpha)$ that specifies a path in $\mathbb{R}^2$ from the baseline $x'=\gamma(0)$ to the input $x=\gamma(1)$
  • the gradient $\nabla F(\gamma(\alpha)) = \left( \frac{\partial F(\gamma(\alpha))}{\partial x_1}, \frac{\partial F(\gamma(\alpha))}{\partial x_2} \right)$
  • the derivative $\gamma'(\alpha)=\left( \frac{\partial\gamma_1(\alpha)}{\partial\alpha}, \frac{\partial\gamma_2(\alpha)}{\partial\alpha} \right)$

We have then:

\begin{flalign}
F(x) -  F(x') &= \int_{\alpha=0}^1 \nabla F(\gamma(\alpha))\cdot\gamma'(\alpha)d\alpha && \text{gradient theorem}\\
&=\int_{\alpha=0}^1 \left( \frac{\partial F(\gamma(\alpha))}{\partial x_1}, \frac{\partial F(\gamma(\alpha))}{\partial x_2}\right) \cdot \left( \frac{\partial\gamma_1(\alpha)}{\partial\alpha}, \frac{\partial\gamma_2(\alpha)}{\partial\alpha} \right) d\alpha && \text{definition of gradient and derivative} \\
&=\int_{\alpha=0}^1 \sum_{i=1}^{n=2} \frac{\partial F(\gamma(\alpha))}{\partial x_i} \frac{\partial\gamma_i(\alpha)}{\partial\alpha}d\alpha && \text{definition of dot product}\\
&=\sum_{i=1}^{n=2} \int_{\alpha=0}^1  \frac{\partial F(\gamma(\alpha))}{\partial x_i} \frac{\partial\gamma_i(\alpha)}{\partial\alpha}d\alpha && \text{linearity of integral}\\
&= \sum_{i=1}^{n=2} \text{PathIntegratedGrads}_i^\gamma(x) &&  \text{Completeness}
\end{flalign}

So the definition of path integrated gradients is:

 \text{PathIntegratedGrads}_i^{\gamma}(x) = \int_{\alpha=0}^1  \frac{\partial F(\gamma(\alpha))}{\partial x_i} \frac{\partial\gamma_i(\alpha)}{\partial\alpha}d\alpha

etiennekintzler avatar Mar 19 '23 16:03 etiennekintzler