多面特征可视化:揭示深层神经网络中每个神经元学习特征的不同类型

作者:18届 cyl

日期:2021-08-08

论文:《Multifaceted Feature Visualization: Uncovering the Different Types of Features Learned By Each Neuron in Deep Neural Networks》多面特征可视化-呈现神经元学习到的不同类型特征的可视化结果-引入一种正则化技术改善激活图像质量

一、本文围绕的主要问题

1、MFV算法的具体流程
2、MFV的实验结果

二、背景

1.Deep Learning很吸引人,也很玄乎的一个点就是大家都说它可以提取到分级的逐层抽象的特征。但
对我们来说,总是耳听为虚,眼见为实。所以,每当我们训练完一个深度模型后,我们还特别想把这个
深度模型学到的东西给可视化出来,好弄明白它到底学到了什么东西,是不是有意义的,是不是像传说
中的那样神奇。那怎样有意义的可视化呢?对了,我们用deep net来做什么的了?来提取特征的。那它
提取什么特征呢?如果它像我们所说的提取的是底层到高层的特征,例如边缘,到形状,到目标等等,
那就证明我们的目的是达到的。
2.因此,通过确定每个神经元已经学会检测哪些特征,我们可以更好地理解深度神经网络。为此,研究
人员创造了包括激活最大化在内的深度可视化技术。而对激活最大化技术简单的概括就是使用梯度上升
的方法来寻找能够最大程度激活某个神经元的图像,并将其可视化,以有意义的表达这个神经元所学习
到的特征。
3.虽然在当时有了这么一个初步解析神经网络,对特征进行可视化的理解思路,但是其局限性也很多,
其中一个就在于它们假定每个神经元只能检测一种类型的特征,但是我们知道神经元可以是多面的,因
为它们会响应许多不同类型的特征:例如,杂货店类的神经元可能会因为检测到成排的农产品而激活,也
可能因为检测到店面而激活。先前的激活最大化方法的另外一个局限性是其在不考虑神经元的多面性的
情况下构造图像,仅使用梯度信息进行操作会生成无法识别并且看起来不真实的图像,并可能会引起图
像颜色、比例、方向等的不适当混合,使人难以理解。

4.因此可以总结现有技术产生的激活图像的缺陷:(1)颜色分布不自然。(2)可识别的图像片段重复,并且
无法组合成一个连贯的整体:比如多头鸵鸟的头部没有身体,或者眼睛没有脸等。(3)目前尚无系统的方
法可视化神经元做出响应的不同方面(刺激的类型)。但已知高级神经元是多方面的,例如DNN中的面部
检测神经元被证明对人脸和狮子脸都有反应。
5.针对现有的以激活最大化技术为主的深度可视化方法存在的局限性,该文章引入了一种算法,通过创
建激活神经元的每种图像类型的合成可视化效果,来揭示每个神经元检测特征的多个方面,同时分别合
成神经元响应的每种图像类型,可视化具有更合适的颜色和连贯的全局结构的激活图像。这样,多面特
征可视化可以提供对每个神经元作用的更全面,更清晰的描述。

二、MFV算法的具体流程

1.1 MFV算法测试的模型
为了与最新研究比较,MFV方法在Alexnet模型上进行测试,训练集为ILSVRC 2012(130万张图片),一共
有八层,最后三层为全连接层(fc6,fc7,fc8)。
1.2 激活最大化技术
MFV使用激活最大化技术作为其优化算法,主要思想是通过运行激活最大化方法来优化像素的颜色以最大
程度地激活特定的神经元,这是通过计算目标神经元相对于每个像素的激活值的导数来完成的。
在这里插入图片描述
上式的正则化函数可以包含多个正则化项,每个正则化项均以不同的方式来进行惩罚以共同提高激活图
像的质量。
1.3 MFV算法流程
以"灯笼椒"类为例,首先采用训练集中该类的所有图片(大约1300张),然后采用MFV算法产生k=10个方面
的多面可视化效果。
在这里插入图片描述
在这里插入图片描述
MFV算法的idea主要来自两个方面:
(1)使用DNN所学的抽象图像知识来确定激活神经元的不同图像类型。对于这一点,实现的方式是使用
PCA以及t-SNE技术(主要作用是降维)将一个类中所有图片都嵌入到一个二维平面,然后使用k-means聚类
算法把这些图片分为k个类,即k种类型的图像簇。
(2)然后对每一个簇,计算离簇中心最近的m(文中设置为15)张图像的平均图像,并将其作为激活最大化
算法的初始化图像,以更好的可视化一个类的不同方面。
在这里插入图片描述
上图就是MFV算法的步骤流程:
输入:输入模型中的数据集图片集合U。
1.使用PCA算法将其降维。
2.使用t-SNE算法将图片集合嵌入到二维平面。
3.使用k-means聚类算法将图片集合划分为k个类,即k种类型的图像簇。
4.对每一个簇,计算离簇中心最近的m(文中设置为15)张图像的平均图像,并将其作为激活最大化算法
的初始化图像。
输出:k个不同方面的可视化图像,{x1,x2,…,xk}。
1.4 使用中心偏置正则化技术优化图像
问题1:为什么需要正则化技术?
在激活最大化算法中,为了增加给定神经元(例如"鸵鸟"神经元)的激活值,通常会有两个常规步骤:(1)增
强图像中现有鸵鸟的颜色。(2)绘制鸵鸟的新片段(例如多个头)。由于这两个步骤在梯度中是不可分离地
编码的,所以就会导致先前激活最大化方法的结果通常是具有许多重复图像片段的图像。因此,文章提
出了一种名为中心偏置正则化的技术用于改善这个问题。
在这里插入图片描述
先前的激活最大化方法结果
在这里插入图片描述
MFV算法的可视化结果

中心偏置正则化技术的主要思想:
初步试验表明,以较大的平滑效果(例如高斯模糊算法)进行优化会产生模糊但单一且居中的对象。基于
此观察,作者的想法是首先生成一个模糊的,居中的对象,然后通过更新中心像素(而不是边缘像素)的
方式来更新图像,以提高图像的清晰度。
在这里插入图片描述

三、MFV的实验结果

2.1 产生多个方面(类型)的图像
多面特征可视化会产生许多不同类型的图像,从而激活相同的神经元,例如它为"灯笼椒"类神经元合成了
不同颜色的辣椒,为"汽车"类神经元合成了了从不同角度看到的汽车,又或者产生不同数量的物体,例
如一个,两个或者多个辣椒。
在这里插入图片描述
通过这个结果,我们可以知道,深度神经网络已经学会了识别一类物体极其不同的方面,下面几组图片
可能将这个特点体现的更加明显。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
2.2 Alexnet各个层的多面可视化
在这里插入图片描述
上图是对Alexnet中每个层中的一个示例神经元进行多面可视化的结果,可以看到,层次从低到高,第一
个直观的感受就是感受野的大小在变化(从第一层、第二层的颜色、纹理等特征,到高层识别出面部,整
个身体等)。
然后在这里,对每个神经元都显示了4个不同方面的可视化激活图像,可以观察到第一层和第二层的神
经元的四张图像没有明显不同的方面。但是,从第三层开始,每个神经元的可视化激活图像开始变得越
来越复杂,并且开始逐渐显现出多面性。首先是颜色,旋转角度上的细微差异,然后逐渐增加到对象的
数量,最后是到截然不同方面的图像(例如鸵鸟脸的特写镜头与从远处看到的一对鸵鸟)。这种多面性的
增加是因为神经网络学习到的高层特征变得越来越抽象,对于一些图像颜色,数量上的变化表现的更鲁
棒。
第三个发现可以看到上图第6层神经元的可视化图像,最左边四张图像似乎结合了海龟和潜水员两个对
象,而后面的研究也发现这种神经元对于鲸鱼,鲨鱼等水下生物的图片都会有不同程度的响应,因此可
以猜测这类神经元可能参与了多种不同类别图像中的抽象概念编码。上面的分析从一定程度上证实了
DNN学习的特征在更高的层次会变得更抽象的理论。
通过观察这些可视化结果,可以证实的第二个之前被证明过的理论是,卷积层中的神经元通常仅代表单
个对象。而之前没有人发现的是,全连接层中的神经元似乎通常是具有显著差异的高级概念的混合。还
是拿之前那个海龟和潜水员的例子来说,实际上,在激活该神经元的前15张图像中,确实有海龟和潜水
员的照片,并且也有鲸鱼和鲨鱼的照片。因此,有一种解释是在到最后一层输出之前,这类神经元都是
用于对许多不同类型的图像进行分类的,直到最后一层才对特定类型的对象进行分类,因此在我们的可
视化结果中,最后一层(fc8)中的神经元要更加纯粹,通常显示单个概念的不同方面。

四、总结

总体而言,我们引入了一种简单的多面特征可视化算法,该算法
(1)通过生成具有更多全局结构,细节,上下文,更多自然色彩的高质量图像来改善激活最大化的技
术水平。
(2)显示每个神经元检测到的多个特征面,从而可以更全面地了解每个神经元的功能。
我们还引入了一种新颖的中心偏置正则化技术,该技术可降低优化产生重复对象碎片的趋势,而倾向于
产生一个中心对象。 这种经过改进的深度可视化技术将增加我们对深度神经网络的理解,从而提高我们
创建更强大的深度学习算法的能力。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

中南大学苹果实验室

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值