©PaperWeekly 原创 · 作者|苏剑林
单位|追一科技
研究方向|NLP、神经网络
本文介绍一种神经网络的可视化方法:积分梯度(Integrated Gradients),它首先在论文 Gradients of Counterfactuals [1] 中提出,后来 Axiomatic Attribution for Deep Networks [2] 再次介绍了它,两篇论文作者都是一样的,内容也大体上相同,后一篇相对来说更易懂一些,如果要读原论文的话,建议大家优先读后一篇。
当然,它已经是 2016-2017 年间的工作了,“新颖”说的是它思路上的创新有趣,而不是指最近发表。
所谓可视化,简单来说就是对于给定的输入 x 以及模型 F(x),我们想办法指出 x 的哪些分量对模型的决策有重要影响,或者说对 x 各个分量的重要性做个排序,用专业的话术来说那就是“归因”。一个朴素的思路是直接使用梯度 来作为 x 各个分量的重要性指标,而积分梯度是对它的改进。
然而,笔者认为,很多介绍积分梯度方法的文章(包括原论文),都过于“生硬”(形式化),没有很好地突出积分梯度能比朴素梯度更有效的本质原因。本文试图用自己的思路介绍一下积分梯度方法。
朴素梯度
首先,我们来学习一下基于梯度的方法,其实它就是基于泰勒展开:
我们知道 是大小跟 x 一样的向量,这里 为它的第 i 个分量,那么对于同样大小的 的绝对值越大,那么 相对于 的变化就越大,也就是说:
衡量了模型对输入的第 i 个分量的敏感程度,所以我们用