IGOS:基于积分梯度优化的深度神经网络可视化方法

一、背景

随着深度学习的进展,对深度神经网络这种黑箱分类器进行解释变得越来越重要。人们希望了解,深度网络(究竟是用什么特征分类的?究竟是物体的核心特征,还是仅仅看了一些无关紧要的部分?在深度网络分类错误时,如著名的Tesla佛罗里达撞车事故,自动驾驶将前方的卡车识别成天空时,它们究竟使用了什么样的特征?有什么方法可以“debug”深度神经网络,看一看它们做出分类的依据是否符合人类的直观想象?

在计算机视觉中,我们可以通过计算heatmap对深度神经网络的预测分类结果进行可视化解释。来自俄勒冈州立大学机器人技术与智能系统研究所(CoRIS)和腾讯PCG应用研究中心(ARC)的研究者提出了一种基于积分梯度优化的深度神经网络可视化方法IGOS,用来计算heatmap。Heatmap标出了输入图像中的哪些部分对于深度神经网络的输出影响最大,如图1所示,深度神经网络对于原图的分类结果是‘dalmatian’ (斑点狗),通过利用IGOS计算出heatmap我们可以看出深度网络做分类的依据是什么。显然,原图的狗的面部和腿部是模型做出‘dalmatian’分类的最重要的部分。

这一类的方法近年来有很多,比较有名的如CAM, GradCAM等。但是一个很大的问题是很多方法并未经过有效的验证。如有些时候heatmap方法给出的heatmap看上去很合理,但是可能和深度神经网络的预测并无必然联系(Adebayo et al. 2018)。如图2中前两行给出的heatmap,我们发现将heatmap指示的高亮区域从图像中擦除后,CNN仍然可以识别这种名为indigo bunting的鸟,而仅使用heatmap区域输入CNN,则并不能得到正确的分类。这提示了这些heatmap也许并不能真正的解释CNN究竟使用了哪些区域的特征。而我们提出的I-GOS方法(图2第三行),将heatmap指示部分擦除后,CNN即无法对此图进行分类,而仅将heatmap部分清晰表示擦除其它背景后,CNN则可以以97.2%的置信度给出分类。

图2  IGOS和其他算法的结果对比图。第一栏是原图加heatmap;第二栏是heatmap;第三栏是删去heatmap中高亮的部分(删除比6.4%),输入到神经网络中得到的分类结果;第四栏是只保留heatmap中高亮的部分(保留比6.4%),输入到神经网络中得到的分类结果。

在(Petsiuk et al. 2018)中,提出了一种验证heatmap的方法。采用deletion和insertion作为metric来衡量不同的可视化算法生成的heatmap的表现。Deletion是从原图中逐步删去heatmap中最高亮的部分,输入到神经网络中得到的分类得分,得分越低越好;insertion是从一幅全模糊的图中逐步插入heatmap中最高亮的部分,输入到神经网络中得到的分类得分,得分越高越好。最后采用这两条曲线下部分的面积作为metric(area under the curve, AUC)。图3展示了一个用IGOS生成的heatmap生成deletion和insertion曲线的例子。从图中可以看出,仅将heatmap指示部分擦除后,CNN就完全无法识别斑点狗,而仅仅给出heatmap指示部分,CNN可以识别斑点狗。这里采用模糊图而非全黑图的原因是从全黑图像突然转移到原图会产生很强的边缘信息,CNN经常会误检此类边缘信息为特征从而导致分类错误,而采用模糊图像,则不会产生这种边缘信息来误导CNN。更多的例子可以参见我们的demo网站:http://igos.eecs.oregonstate.edu

图4展示了I-GOS和其它heatmap算法的一些对比。可以看出其它算法给出的heatmap有的时候不知所云。例如,在Cocker Spaniel(可卡犬)的例子上,I-GOS给出的heatmap集中在脸部,去掉后,CNN的分类得分立刻下降,而GradCAM和RISE给出的heatmap,在去掉heatmap之后分类得分甚至还有所上升(图中的红线)。。。在BulBul(鹎)的例子上,Excitation BP给出树枝作为heatmap,结果可见去掉这个树枝对小鸟的分类得分是毫无影响(图中的红线并无下降),而I-GOS给出的集中在小鸟的面部和爪部,去掉之后,CNN即不能分类出小鸟了。这也是我们研究I-GOS的起因—虽然市面上有很多heatmap算法,但我们没法确认它们给出的heatmap是否能解释CNN的输出。这很大程度上影响了我们对CNN的理解。有了I-GOS,由于它的heatmap更加准确且可以验证,我们可以对CNN究竟用什么样的特征分类有更深入的了解。

图3 IGOS生成的heatmap生成deletion和insertion曲线动图

图4 不同算法生成的heatmap的例子及deletion和insertion曲线

自然可以想象的一种方法是通过优化的方式来寻找一个最优的mask,让图像在mask之后的分类置信度达到最小(Fung and Vedaldi 2017)。这和生成对抗(adversarial)样本有相似之处,但是生成对抗样本时,不需要考虑insertion metric,因此很多情况下对抗样本的insertion score很低。如何保证寻找到的mask并非adversarial,亦是一个挑战。另一个问题是优化mask时可能得到局部最优解,例如仅将CNN的置信度从100%降到90%。如图2中第二行的方法即由(Fung and Vedaldi 2017)算法得到,但得到的局部最优解并不足以解释CNN真正关注的区域。

本文提出的新方法I-GOS (Integrated-Gradients Optimized Saliency)属于以扰动为基础的方法,但是在I-GOS中,我们采用积分梯度代替传统梯度,在梯度下降方法中可以更好的避免局部最优,同时,通过正则化约束和随机噪声,提高了heatmap的准确性并且避免了生成adversarial example,从而显著提高了heatmap的效果。

先来看几张结果的动图,然后再来解释技术细节,以下几个动图都是著名的VGG-19网络在ImageNet上的表现:Category: rock beauty, Holocanthus tricolorCategory: Pomeranian

Category: liner, ocean linerCategory: liner, ocean liner

有意思的是可以看出邮轮只需要几个窗户就可以保证CNN将其分辨出来,而想要擦除邮轮则需要把所有窗户都擦掉。而黑琴鸡只需要嘴和尾巴就可以达到99%以上的confidence,显示了CNN至少在这一类上的分类证据是非常局部的。
Category: container ship, containership, container vessel 

Category: oboe, hautboy, hautbois

集装箱船看上面的箱子和下面的字母,而口琴要把整个口琴和吹奏者的脸都加上才能确认。
Category: monarch butterfly, milkweed butterfly, Danaus plexippus

Category: monarch butterfly, milkweed butterfly, Danaus plexippus     Category: school bus

图5 IGOS生成的heatmap生成deletion和insertion曲线动图

蝴蝶自然是看翅膀,而校车只需要一个轮廓就能判断出来,想擦除却要把整个校车几乎擦干净。


二、I-GOS

图6展示了一个简单的二维的优化过程,其中A是起点,B是baseline,C是局部最优,P_B是从A到B的一条直线路径。B是该目标函数中不带正则项的全局最优点,在实际中,B即是抹掉输入图像中所有的像素点,可以使得不带正则项的目标函数降到最低。正则项可以看成是一个约束区域,限定了该优化式的求解范围,即图中黑色虚线包围的区域。用传统的一阶算法求解,该优化式会沿着梯度下降的方向到达局部最优点C。而积分梯度会沿着路径P_B计算从起点A到baseline B的梯度的积分,使得优化过程更接近于全局最优点B,更有可能到达一个比局部最优点C更好的区域,即白色虚线内的区域。

图6 积分梯度求解优化的二维示意图当我们知道f_c的全局最优点(I_0 ) ̃时,利用积分梯度求解带正则项的优化式会使得优化收敛的更快,并且能尽可能的避免优化陷入到局部最优点,到达一个在约束范围内更接近于全局最优点的区域内。

三、实验

表1展示了不同的可视化算法生成的不同分辨率的heatmap用deletion和insertion评价的得分,我们可以看到IGOS在各种分辨率下的得分都好于对比算法。表2展示的不同的可视化算法生成heatmap的时间,我们可以看到IGOS在所有的以扰动为基础的方法中速度最快。图7和图8展示了更多的IGOS生成的一些deletion和insertion结果图的例子。

图7 Examples generated by I-GOS in the deletion and insertion task using VGG19 as the baseline model.

图8 Examples generated by I-GOS in the deletion and insertion task using VGG19 as the baseline model.论文:Visualizing Deep Networks by Optimizing with Integrated Gradients  论文地址:https://arxiv.org/abs/1905.00954

代码地址:https://github.com/zhongangqi/IGOS 

Live Demo: https://igos.eecs.oregonstate.edu/

理论深度神经网络IGOS
暂无评论
暂无评论~