CNN综述文章《What Do We Understand About Convolutional Networks》part 5

《What Do We Understand About Convolutional Networks》-part 5

CNN综述文章《What Do We Understand About Convolutional Networks?》3 4部分总结

Chapter 3 理解Convnet构建块

本章研究典型的CNN中各处理层的作用和意义。特别是,将从理论和生物学的角度介绍ConvNet各种组件。每种组件的介绍后面都有discussion,总结了我们当前的理解水平。

3.1卷积层

卷积层可以说是ConvNet体系结构中最重要的结构之一。 基本上,卷积是一种线性的、平移不变性的运算,对输入信号进行局部加权组合。 根据所选择的权重集合(即所选择的点扩散函数(point spread function))的不同,也将揭示出输入信号的不同性质。同时,选择正确的kernel以捕获输入信号中的最显著和最重要的信息至关重要,这可以使人们对信号的内容进行有力的推断。 本节讨论了进行核选择的一些不同方法。

点扩展函数( PSF)描述了成像系统对点源或点对象的响应。PSF更一般的术语是一个系统的脉冲响应(impulse response)

卷积核的可优化参数是通过训练网络最小化损失函数LL来调节的:
CNN综述文章《What Do We Understand About Convolutional Networks》part 5
其中LconvL_{conv}是卷积层数,LL是总层数. 在上式中, LfcL_fcLconvL_{conv}是fc层和conv层的非监督损失函数. 它们的作用是最小化重建误差,并使用未标记的数据进行训练. 与之对应的LtaskL_{task}是一个监督损失函数, 该函数是用来训练最大化分类准确率的.

生物学视角

哺乳动物视觉皮层中分层处理的神经为空间和时空的ConvNets提供了启发。特别通过从简单到复杂的单元层叠,逐步提取视觉输入的抽象属性。在视觉皮层处理的早期阶段,简单单元能够检测原始特征,例如定向的光栅,条和边缘,后续阶段会提取更复杂的特征。

比较流行的选择是:一组不同比例的定向Gabor滤波器或高斯导数。更一般地,通常选择定向带通滤波器。实际上,这些相同的Gabor内核也扩展到了色域和时域,以分别解释颜色和运动敏感神经元。

Gabor滤波器的频率和方向表示接近人类视觉系统对于频率和方向的表示. 下图为gabor滤波器和脊椎动物视觉皮层感受野响应的比较:第一行代表脊椎动物的视觉皮层感受野,第二行是Gabor滤波器,第三行是两者的残差。可见两者相差极小。

CNN综述文章《What Do We Understand About Convolutional Networks》part 5
Gabor滤波器的这一性质,使得其在视觉领域中经常被用来作图像的预处理。
在空域,一个2维的Gabor滤波器是一个正弦平面波和高斯核函数的乘积。实际应用中,Gabor滤波器可以在频域的不同尺度,不同方向上提取相关特征。

HMAX

基于特征组合的物体识别框架HMAX模型的主要思想是通过组合来自先前层的过滤器获得层次结构较高层的过滤器,这种方法最终应该允许模型在更高层上响应越来越复杂的模式。 这种方法与Hebbian理论很好地联系在一起,后者说“一起激发的神经元连在一起(Cells that fire together, wire together)” 。
CNN综述文章《What Do We Understand About Convolutional Networks》part 5

3.2 整流

多层网络通常是高度非线性的,而整流(rectification)则通常是将非线性引入模型的第一个处理阶段。

整流是指将**函数(点方面的非线性)应用到卷积层的输出上。计算神经科学家引入整流步骤的目的是寻找能最好地解释当前神经科学数据的合适模型。机器学习研究者使用整流的目的是为了让模型能更快和更好地学习。
CNN综述文章《What Do We Understand About Convolutional Networks》part 5

3.3 归一化

所以多层架构是高度非线性的,除了前一节讨论的**函数,归一化(normalization)是 CNN 架构中有重要作用的又一种非线性处理模块。

CNN 中最广泛使用的归一化形式是所谓的 Divisive Normalization(DN,也被称为局部响应归一化)。

3.4 池化

池化运算的目标是为位置和尺寸的改变带来一定程度的不变性。在 CNN 网络上,主要的争论点是池化函数的选择。使用最广泛的两种池化函数分别是平均池化最大池化
平均池化和最大池化在 Gabor 滤波后的图像上的比较。CNN综述文章《What Do We Understand About Convolutional Networks》part 5

其中上面一行是应用于原始灰度值图像的结果,下面一行是应用于 Gabor 滤波后的图像上的结果。
(a)展示了不同尺度的平均池化的效果,平均池化能得到灰度值图像的更平滑的版本,而稀疏的 Gabor 滤波后的图像则会褪色消散。
(b)给出了不同尺度的最大池化的效果,可以看到,最大池化会导致灰度值图像质量下降,而 Gabor 滤波后的图像中的稀疏边则会得到增强。

Chapter 4 Current status

本章将介绍在尝试理解不同的 CNN 层所学习的内容上的当前趋势。同时,我们还将重点说明这些趋势方面仍有待解决的问题。

4.1current trends

为什么某些工作会有更好的效果?
有很多用于理解的方法:对所学习到的过滤器和提取出的特征图进行可视化、受视觉皮层的生物学方法启发的ablation study、通过向网络设计中引入分析原理来最小化学习过程。

4.1.1 Understanding ConvNets via visualization

DeConvNet

以下参考博文:http://blog.****.net/hjimce/article/details/50544370

为了理解网络中间的每一层提取到特征,通过反卷积的方法,进行可视化。反卷积网络可以看成是卷积网络的逆过程。

CNN综述文章《What Do We Understand About Convolutional Networks》part 5

网络的整个过程,从右边开始: 输入图片-》卷积-》Relu-》最大池化-》得到结果特征图-》反池化-》Relu-》反卷积

特征可视化结果:
CNN综述文章《What Do We Understand About Convolutional Networks》part 5
从layer 1、layer 2学习到的特征基本上是颜色、边缘等低层特征;
layer 3则开始稍微变得复杂,学习到的是纹理特征,比如上面的一些网格纹理;
layer 4学习到的则是比较有区别性的特征,比如狗头;
layer 5学习到的则是完整的,具有辨别性关键特征。

4.1.2 Understanding ConvNets via ablation studies

(消融实验)ablation study就是为了研究模型中所提出的一些结构是否有效而设计的实验:看取消掉一些模块后性能有没有影响。 比如你提出了某某结构,但是要想确定这个结构是否有利于最终的效果,那就要将去掉该结构的网络与加上该结构的网络所得到的结果进行对比 。

4.1.3 Understanding ConvNets via controlled design

通过分析输入信号的性质来研究网络架构本身的设计(比如层的数量或每层中过滤器的数量)。这种方法有助于让架构达到适宜应用的复杂度。

4.2 open problems

关键研究方向:

  • ·首要的一点:开发使可视化评估更为客观的方法是非常重要的,可以通过引入评估所生成的可视化图像的质量和/或含义等指标来实现。
  • ·尽管看起来以网络为中心的可视化方法更有前景,但也有必要标准化它们的评估流程。一种可能的解决方案是使用一个基准来为同样条件下训练的网络生成可视化结果。
  • ·另一个发展方向是同时可视化多个单元以更好地理解处于研究中的表征的分布式方面,甚至同时还能遵循一种受控式方法。

受控方法是很有前景的未来研究方向;因为相比于完全基于学习的方法,这些方法能让我们对这些系统的运算和表征有更深入的理解。这些有趣的研究方向包括:

  • ·逐步固定网络参数,分析对网络行为的影响。这个渐进式的方法有望揭示学习的作用,而且也可用作最小化训练时间的初始化方法。
  • ·通过分析输入信号的性质来研究网络架构本身的设计(比如层的数量或每层中过滤器的数量)。这种方法有助于让架构达到适宜应用的复杂度。
  • ·将受控方法用在网络实现上的同时可以对 CNN 的其它方面的作用进行系统性的研究,比如,可以在大多数所学习的参数固定时,研究各种池化策略和残差连接的作用。