Understanding the role of individual units in a deep neural network-可视化研究了每个神经单元对最终结果有影响

作者:18届 CYL

日期:2020-10-2

论文期刊:2020 PNAC

标签:可解释性 卷积核 单元

一、背景:

深度学习擅长寻找解决大型数据集上复杂任务的分层表示形式。而我们人类难以理解这些学习的表示,并尝试用一些可视化的方式来探索神经网络中到底学习到了啥。

过去我们读到的论文虽然从最典型的ZFNet就发现层数越靠后学习到的特征越抽象。并也读到了三大可视化的方法:
可视化特征图(各种)、可视化滤波器(ZFNet反卷积)、生成热力图(如:CAM)

二、综述:

本文中首先分析了经过场景分类训练的卷积神经网络(在place365数据集上训练),并且惊奇的发现 神经网络学习到了不同物体的特征

(本文的重点就是阐述证据,并且这个发现的重点在于这个模型明明是用来区分飞机场、草原、学校等等的,怎么就学习到了飞机、马、绿色、人等等的特征了。而这恰好又符合人类的理解方式)。

然后作者肯定是觉得上面这个发现光在CNN阐述研究结果还不够,于是又放在 训练好的可以生成场景的生成对抗网络(GAN)中 进行了一顿操作, 进一步阐述了自己的发现。

研究过程及结果:

研究对象:

1、采用了VGG-16结构的
2、已经训练好的可以对不同场景进行分类的
3、模型的13个卷积层的全部滤波器(卷积核、Units)。

研究方法1:

1、 取一个图片中 相对一个 卷积核 激活值较高的部分(超出阈值) 为这个卷积核可以识别的部分

2、 度量一个卷积核u与某一类别对象(这里的对象有颜色、物体、材料等等)之间的关系:通过计算IoU(某一类别对象所占图片的总面积与方法1计算出来激活值较高的部分的面积之间的IoU值)

3、 对于每一个卷积核都选 max(IoU) 所对应的对象作为响应标签

研究结果1:

在这里插入图片描述

发现:

1、 最后一个卷积层识别的对象是最多的 (前面的卷积核识别到的东西相对抽象,可以猜测后面的识别到的与人的理解大致类似)

2、 最有趣的发现:即使某一个对象并没有被要求显式的进行分类,也会有相应的卷积核对特定的对象进行识别。 比如:本模型是用来识别不同场景的,却发现某些卷积核就是专门用来识别飞机的(conv5_3 的 150号卷积核)。 并且为了进一步验证这个卷积核,特意在ImageNet中找到两种不同的飞机图片,输入这个用来分辨场景的模型,然后检测conv5_3的150号卷积核的激活谱上的峰值。发现飞机图片的激活值就是相对高很多(紫色点)

研究方法2:

1、 通过删除可以识别特定对象的卷积核,来查看最终的分类正确率
2、 找出对应 雪、山、房子、树 这四种看起来与“滑雪胜地”场景息息相关的对象的 卷积核
3、 删除上面四个卷积核,观察 滑雪胜地的识别正确率改变, 其他全部类别的 识别正确率改变
4、 删除20个关于上述四个对象的卷积核 观察 滑雪胜地的识别正确率改变, 其他全部类别的 识别正确率改变
5、 删除除了这20个最重要的卷积核外的 卷积核 观察上述两个指标 并做图

研究结果2:

在这里插入图片描述

发现:

1、 依次移除4个最重要的卷积核,发现滑雪胜地的正确率受到影响,其他类别影响不大
2、 移除20个最重要的卷积核发现滑雪胜地正确率受到影响大,其他的也受到部分影响
3、 把492个不重要的移除掉,发现对于滑雪胜地影响不大,但是对于其他类别影响大。

图E:发现单位重要性与可解释性呈正相关。也就是与人对对象的区分相似。

在开始介绍作者在GAN上做的实验之前先大概说一下背景:生成对抗网络(GAN)学习合成随机的逼真的图像,该图像模仿训练集中的真实图像的分布。从结构上讲,训练有素的GAN生成器是分类器的反面,可从随机输入的矢量产生逼真的图像。与分类不同,他是一种无监督的设置:GAN没有提供人工注释,因此网络必须自己学习图像的结构。
现在已经有人证明了GAN可以学到图像的全局语义,作者则是希望了解GAN是否学到了局部的语义(对象、单个物体)

研究对象:一个训练好的可以生成建筑图像的GAN模型,他含有15个卷积层

研究方法3:

1、 与对CNN的研究方法类似,也是找到每一个单元与某个特定对象的联系

研究结果3:

在这里插入图片描述

发现:

1、 层数低的对应的语义越抽象。在第五层对应的对象数量最多(与CNN不大一样)
2、 图D、E显示出某些单元与烤箱、椅子这些与人类视觉概念相似
3、 图F、特定单元314号与窗口有关,当生成大窗口是和不生成窗口时此单元的激活值差距巨大。

研究方法4:

1、在生成教堂的场景上的GAN中依次删除较大的树单元 观察生成的图片
2、通过激活20个们单元将们添加到建筑物中。门的位置大小等于激活单元的位置有关

研究结果4:

在这里插入图片描述

发现:

1、 图A、B在删除了树的相关激活单元之后,图片中的树明显变少了
2、 树变少的同时,树原本遮盖住的部分(建筑物)平滑的显现了出来,这里可以猜测生成器倾向于合成多余的细节,被遮挡住的部分不是没生成而仅仅是挡住了,当去掉前面的树叶,后面的物体是完整的,自然连接的
3、 图C、通过添加与门相关的单元可以在原有图像上生成门。
4、 图D、显示了想要在原本的窗户处生成门是容易的但在sky处生成门几乎不可能的。说明GAN不仅仅学习到了最终合成的图像上是否要含有某些对象(物体)还学习到了一些真实的图像结构

研究方法5:

1、 目的是研究对分类器的对抗攻击是为什么可以大大干扰分类器的正确率
2、 通过研究干扰前和干扰后的图像对 不同滤波器的反应 来做出判断

研究结果5:

在这里插入图片描述

发现:

1、 图B:干扰之后 本来可以识别雪、山、房顶、树的卷积核在干扰后就啥也认不出来了
2、 图C、干扰之后发现 四个最重要的 滤波器 对自己相关的那个对象之间的关系 急剧下降(紫色) 其他没有被解剖确定为对源类别有关但依然重要的单位变化不大(橙色) 本来就不怎么重要的变化也不大(绿色)

注:若有侵权请联系我们

猜你喜欢

转载自blog.csdn.net/cyl_csdn_1/article/details/108903989