Integrated Gradients(IG)
近些年,人工智能机器学习在很多领域取得了成功,但如何对人工智能模型的结果进行解释仍然是一个很大的问题,而模型的计算梯度是一个很好的突破口。本文简单介绍了在可解释人工智能(Explainable AI)领域中比较常用的IG算法。
梯度Gradient
解释模型的数学机理
对于一个预测的人工智能模型,我们可以将其看成一个复杂的函数F(x),对于任意一个输入
局限性
我们想利用梯度的计算来分析哪些输入参数对结果的影响比较大,但是在梯度的计算中,我们的计算结果依赖于输入的值,如果输入的值处在一个不合适的区间,那么梯度就可能难以给出有效的结果。这里有一个直观的例子,鼻子长度对于判断是否是大象的影响,鼻子长度是重要影响因素,但超过一定长度后,梯度几乎就变为了0,已经很长的鼻子再增长不会对判断是不是大象有影响。
为解决这个问题,人们提出来了不同的改进算法,比如常用的IG。
Integrated Gradients(IG)1
考虑到直接计算梯度未必能衡量x的某个分量准确的重要性信息,所以我们可以选取一个平均下来的参考背景
由于x和
代码使用
作为一种常用的可解释人工智能方法,IG算法被广泛集成到了各种代码库中,比如pytorch官方的explainable AI仓库captum中就提供了包括IG在内的多种可解释人工智能方法。
1 | from captum.attr import IntegratedGradients |
官方文档也提供了一个使用IG分析结果的详细示例,可以帮助新手入门使用。