卷积神经网络(CNN)是深度学习的代表算法之一,长期以来被广泛应用于图像识别领域。它是受到了生物处理过程的启发,通过模仿人类视觉系统(HVS)的工作机制,完成各种视觉任务等。但与HVS相比,CNN不能够像人类一样,迅速的分析和适应一些特定的任务,其信息提取能力相较于人类还有较大的差距。
之所以存在这个问题是因为在卷积神经网络中的卷积层的主要功能就是对输入数据进行特征提取,它会缩减模型的大小,裁剪数据,但是同时也会丢失一些有效数据。
合适的池化方法对CNN的性能有着及其明显的影响。为此,我们提出了一种新的基于MindSpore的统一池化框架。在目前现有的池化方法的基础上,我们基于该框架设计了一系列新的池化方法,丰富了池化层的可选范围。为了让CNN能够像HVS一样主动的根据任务选择数据焦点,我们还设计了一种主动选择池(ASP),并让这个池化框架和ASP有效的结合起来,使带有ASP的CNN的特征提取机制更加灵活且高效,在这种模式下,CNN除了可以选择常用的池化方法之外,还可以智能地选择其他的池化方法,并因此拥有HVS的特性。最后在MindSpore上成功验证了这种神经网络的有效性和优越性。
01 介绍
计算机视觉在过去几十年里已经取得了巨大的成就,其中,CNN在处理大量的视觉任务中发挥了重要作用,如图像分类、识别和分割。CNN一般由卷积层、池化层、归一化层、非线性变换层和应用层组成。池化层的主要功能是减少计算负荷和信息冗余。然而,传统的池化操作在减少冗余计算的同时会带来样本中有效信息丢失的问题,当样本量足够大时,这个问题表现地不是很明显,但是当样本较少时,就会严重影响模型的准确率。为了解决这个问题,Geoffery Hinton在2011年提出了著名的胶囊网络。
池化也可以称为下采样或者欠采样,其操作过程与卷积操作相同,但是只会保留卷积区域中的特定值如均值或者极大值。通过分析池化方法,我们发现除了关键信息的损失之外,池化层还无法灵活的筛选信息,例如,均值池化会使提取的特征模糊化,最大池化会过于关注图像中明亮的部分。当前也有一些针对与这个问题的研究工作,Zhang 等人提出了一种基于排名的随机池化方法并且在医学胸部影像分析上取得了较好的结果。Wang 等人用采样方法来代替简单的均值或最大值方法去选择池化层保留的信息。这些方法一定程度上缓解了传统池化方法的缺点。
通过总结当前主流的池化方法,我们设计了一个通用的池化框架。在这个池化框架中,不仅囊括了大多数现有的池化方法,还可以作为一个通用并灵活的框架来设计新的池化操作,用以弥补传统的池化方法的缺陷。基于此框架,我们提出了一阶池化和二阶池化,这两个方法在所提出的CNN中效果显著。
现有的池化方法中最大的问题是它们没有选择权来决定保留哪一部分的信息,只有符合某些特征的信息才能被保留,但我们不知道保留的信息是否适合CNN。这种特点是与HVS相反的,因为人的眼睛可以及时改变焦点来寻找重要的信息。为了在CNN中实现主动视觉,我们提出了一种新的池化方法——主动选择池化(ASP)。在ASP中设计了一种主动选择策略,在训练过程中自动地选择池化操作,使CNN能够以类似于人类视觉系统的方式提取信息。
02 方法
2.1 通用池化框架的设计
我们设计的池化框架由四个部分组成:输入、特征统计部分、概率统计和空间变换。在输入、特征统计部分中,为了减少运算量,针对原始图像和RGB图像不在输入统计而是在特征提取中划分像素级别,在特征图的统计中,根据特征图的值的范围分块进行统计。我们拆解了当前大多数的池化方法,如表2-1 所示。此处,我们还设计了一阶池化(first-order pooling)和二阶池化(second-order pooling),一阶池化指的是对输入数据的元素特征进行一阶统计并进行利用的池 化方法,而二阶或者高阶就要用到数据的高阶统计特征如方差、信息熵等二阶或者高阶信息了。其中一阶池化选择保留的信息一定在本身特征的取值范围内。而对于二阶或者高阶池化,特征的取值范围就不再限制于特征图本身了。
表 2-1 池化框架结构及各个池化方法在框架下的组成结构
2.2 主动视觉策略设计
虽然这个策略的目的是为了能够让CNN灵活的选择池化方法,但是为了保持网络的性能,充分挖掘输入数据,我们设计了以下几个原则:
1、为了节约计算资源,池化层仍然是向下采样;
2、主动视觉策略的逻辑不要设计的太过复杂,保证在常用的深度神经网络上的适用性;
3、每个策略都要反映出数据的特殊特征。
基于以上的准则,我们设计了两种策略:像素值级策略和像素统计级策略其中前者可以通过一个值来表示输入特征,后者对输入特征的表示更加复杂。基于统计的池化方法并不适合训练CNN模型,但是当CNN引入这种主动视觉策略后,其训练的性能反而强于普通的池化方法(最大或平均池化),例如,我们基于输入数据统计结果实现了一阶池化和二阶池化,在这种方法下,保留的信息一定在本身特征的取值范围内。
在主动视觉策略中,CNN要有焦点选择的功能,我们通过两个阶段来完成这个过程,首先根据专家经验方法来确定池化方法,然后在基于度量思想的策略下,对池化区域进行抽样,然后计算其概率平均值得到与其他池化方法的差距,选择最小的作为池化方法。由于引入了随机性,这种策略可以减少过拟合问题,并减少了计算成本。其步骤如下图所示:
图 2-1 主动选择策略下的池化框架结构图
2.3 基于主动视觉的池化方法
为了使CNN拥有HVS的特性,我们设计了一种基于主动视觉机制的综合池化方法,去优化卷积神经网络的特征提取机制和能力,解决常规的卷积神经网络在少样本学习中容易过拟合的问题。该池化方法的基本结构如图 2-2 所示:
图2-2 基于主动视觉的池化方法结构图
首先输入的特征图经过不同的统计方法,得到若干统计特征,这些特征根据池化方法的需要进行诸如简单的数学变换或者高阶统计变换。这时,一些池化方法已经生成,如图中的策略1到策略n。然后,我们利用主动视觉的机制,设计了一个注意力选择模块如图所示。当信息通过这个模块后,最后就是本次池化操作的终点,也就是输出的特征图。主动视觉机制的详细的工作流程如图 2-3 所示:
图 2-3 基于主动视觉的池化方法选择机制
在网络的训练过程中,我们将一阶或者高阶池化方法集成到一个可选择模块中,通过设计选择策略,最终决定网络的池化层选择。具体的步骤如下:
(1)对输入的数据进行采样采用随机采样。需要注意的是,当采样次数过多时,样本的概率均值会接近平均值,这样就失去了采样的意义。因此,我们在研究的过程中采用的10次和100次采样;
(2)然后,我们对采样数据计算概率均值(probabilistic average),可以得到采样均值;
(3)计算输入数据在各个一阶池化后的输出值。在研究过程中,我们以图 2-3 所示的 5 个一阶池化为例作说明。经过池化后,可以得到最大池化后的输出,均值池化后的输出值,中值池化后的输出,三分池化的输出,以及输入特征图的总体概率均值。
(4)计算采样均值和其他一阶池化操作的输出之间的距离,此处采用的是欧式距离。我们取其中最小的距离所对应的池化操作作为此时主动选择机制的选择结果。这种设计的考虑的是,随机采样获得的计算均值可以反映参与池化计算的特征图区域内像素占比较大的部分的特征,我们认为此时的特征更能体现出池化区域的特征。
我们设计的基于主动视觉的池化层选择策略的优势是给池化层的信息筛选引入了随机机制,这样可以更有效的遍历输入数据的分布空间。需要注意的是,图 2-2 只是介绍了我们在一阶池化过程中的选择机制,对于二阶和高阶池化,其实也可以运用到我们的池化框架。
03 实验结果
3.1 实验设置
网络选择和设置
首先考虑池化方法在残差神经网络上的性能,我们选择了ResNet34和SEResNet34作为我们的主要实验网络,并在MindSpore上构建网络进行实验,验证所提出的池化框架的有效性。表3-2给出了基线的原始架构,在此池化层使用我们所提出的池化方法。此外,我们还讲所设计的池化方法嵌入到一个神经网络中,对Mini-ImageNet数据集进行了实验。
表3-1 视觉分类的主要神经网络结构
最后,我们针对基于池化框架所提出的池化方法进行了实验验证,如表3-2所示。
表3-2 各种池化方法的运行结果
3.2 实验结果分析
在MindSpore上,根据以上设置,我们分析实验结果可得如下几条结论:
(1) 除了ResNet34中的方差池和熵池,所有列出的池化方法对ResNet34和SeresNet34都是有效的。
(2) 用的平均池化和最大池化在ResNet34中的性能几乎相同,但最大池化在SEResNet34中的性能很差,在表四中用红色标示。
(3) 与平均池化和最大池化相比,随机池化有更好的性能,而且性能随着采样频率的增加而下降。
(4) LEAP和混合平均-最大池的性能优于常用的传统池化方法的性能。
(5) 在所有基于ASP设计的集合方法中,中位数集合的表现优于其他方法。其他的池化方法也为池化层提供了选择,特别是当它们应用于像SEResNet这样的通道关注机制时。
(6) 所提出的ASP是一个具有主动选择策略的集合池化方法,它的表现明显优于其他方法,如表四最后一行中的黑体字。
04 总结与展望
在本文中,我们将深度卷积神经网络视为基于学习的视觉系统,并提出了一个统一的池化框架,以进一步探索CNN的信息提取能力。基于提出的框架,我们还提出了一种新的池化方法,即主动选择池化(ASP),通过基于样本的主动选择策略来统一现有和新设计的池化方法。在几个流行的数据集上的实验结果能够得出三个关键的结论:
1)提出的统一的池化框架能够有力地指导新的池化操作,除了常用的手工池化之外,它为CNN提供了更多的选择;
2)基于设计的框架,新设计的池化方法与广泛使用的最大或平均池化相比表现良好;
3)提出的主动选择池化优于其他池化方法,它能够通过基于样本的主动选择策略自动选择池化操作,使CNN的操作更接近人类视觉系统。