4.14 相关研究现状
鉴于卷积神经网络在应用中表现出的优异性能,近年来很多研究工作都着力于挖掘这一种多层次模型的巨大潜能,尤其是对那些应用于大数据集图像分类的网络模型[2] 。而这些改进的 CNN 算法则可以被粗略的分为以下四类。
第一类算法使用随机化的正则方法,它们在训练过程中引入随机性,从而减少模型对训练样本的过拟合,提高模型的泛化能力。Dropout [6] 方法是这个领域内第一个被提出和广泛应用的算法。在每一轮训练迭代中,被应用了 Dropout 的神经层会随机剔除一半神经元。因此,Dropout 层中每个神经元占有权值的实际训练次数小于总迭代周期数。在 Dropout 提出之初,它主要应用在分类层之前的全连接层,这样网络全体的输出可以视为若干个子网络的输出均值:每一个子网络都包含 Dropout 层一半的神经元,同时共享之前层叠的卷积神经层进行特征提取。这样的结构能够有效地降低过拟合,提升模型在测试集上的准确率。基于相同的思路,DropConnect [8] 方法则是随机剔除神经连接:在每一次迭代中,DropConnect 层中的部分权值被随机置 0。Dropout 方法可以视为它的一种特例——将某个神经元的所有关联权值置 0。更进一步地,Stochastic Pooling [7] 将这种随机性带入了池化层。相较于 average pooling 或者 max pooling 稳定地选择池化区域中神经元输出的均值或最大值作为输出,stochastic pooling 则根据区域内神经元输出形成的多项分布,随机地选择最终输出。
另外一类优化途径是寻找更合适的 CNN 网络结构。就算整体参数规模相近,层数不同、卷积核大小不同、每层特征图数目不同的卷积神经网络,在具体任务下也会有不小的性能差异。考虑到在仅仅使用随机权值的情况下,优异网络结构仍然比普通的网络结构有更佳的识别性能。在长时间的迭代训练之前,通过测试随机权值下的模型性能,我们可以快速搜索出最合适的模型结构[9] ,而避免浪费时间训练本身结构不好的网络。除此之外,也有一些被验证的优良结构风格。受大脑皮层中的纵列分布的神经细胞启发,若干深度神经网络(DNN)被 并 排 组 合 在 一 起 构 成 了 Multi-Column DNN(MCDNN [10] )。MCDNN 网络最后的输出标签其实是若干个 DNN 输出标签的均值,这种多模型的联合判决巧妙地利用了模型平均的思想,是一种提高测试集准确率的简单而高效的策略。NiN(Networkin Network)则提出在使用普通大小卷积核(3×3或 5×5)的卷积层后紧接着两个采用 1×1 小卷积核的卷积层[11] 。这种结构可以探测更抽象的局部特征,且对网络模型的总体参数规模影响甚微。
第三类方法专注于研究高性能的激活函数。经典神经网络的 sigmoid 激活函数在大型网络中有明显的梯度弥散(vanishing gradient)问题,并且本身计算效率也不高。而使用 max(0,x) 作为激活函数的 ReLU [12] ,则因为它提供的稀疏性和本身计算快速的优点而被广泛采用。在此基础上,为了保留负值部分的有用信息,leaky ReLU [13] 允许微弱的负神经元输出:负输出值乘上一个很小的固定常数,而不是直接置 0。 至此之后,又有 PReLU [14] 、EReLu [15] 等多种更复杂的激活函数被提出,这些方法同 ReLU 相比有显著的性能优势。
最后一类方法主要优化特征提取的核心——卷积神经层。区分度高的特征在分类时的效果更好,基于这一思想,Deeply-Supervised Nets [16] (DSN)使用支持向量机(SVM)评估卷积神经层输出特征图在分类中的区分度,并相应地对代价函数进行修正,引导卷积神经层输出更差异化的特征图。而在Recursive Convolutional Network 17 中,部分卷积层与其相邻层共享同一组滤波器,在不同抽象层次上提取相同特征。然而,在一个普通的训练收敛的 CNN 中,随着神经层深度的加深,特征图的抽象程度也递增,处理这些特征图的滤波器也逐渐变得复杂。RCN 简单地跨层次复用滤波器并未获得显著的性能提升。Recurrent ConvolutionalNeural Network [18] (RCNN)也使用了相同的思想,进一步扩展了这种递归性,并且将其与更深的卷积神经网络结合,获得了不错的学习效果。
本文介绍的关联滤波器方法也是一种针对卷积层的优化算法。它在从属于同一卷积神经层的滤波器间构造固定的关联。这种方法不需要附加额外的权值和神经元,人工构造的关联旨在引领同一卷积层内的滤波器协同处理特征图,以组成更泛化的视觉特征提取器。