林益文,杨 啸,陈 青,邱新媛,任维泽
(中国核动力研究设计院,四川 成都 610213)
计算机视觉一直是深度学习算法最成功的应用领域,卷积神经网络(CNN)在众多计算机视觉任务中取得了巨大的发展。通过卷积层的堆叠,神经网络可以从图像中提取更加复杂的语义特征概念,从而在大规模图像识别任务中展现出卓越的识别能力[1-3]。然而,从图1中可以看出,单一的卷积神经网络难以学习到全面的语义特征,由于网络的容量问题,使得其更倾向于集中注意力在最具识别能力的关键特征上,而忽视一些其他有价值的图像特征。
图1 针对不同数据集的类激活图样例
模型融合是机器学习中的一种强大方法,能够应用于各种算法并提升其性能,也被广泛应用于深度学习模型中[4-5]。利用适当的算法策略整合一系列基础模型,能够提高集成模型的表现,使其具有更好的泛化和识别能力。同时,为了强化模型融合的效果,基础模型应当具有尽可能大的多样性,并保持进行独立识别的能力[6]。
为了提升模型中语义特征的多样性,并提升模型的识别性能,该文提出了一种创新的距离损失函数,迫使不同基础模型学习不同的语义特征,同时构建了一个模型融合框架对提取的语义特征进行整合,以达到从多个角度对物体场景进行识别的目的。针对该方法,基于不同卷积神经网络骨架(VGG,ResNet,AlexNet)、不同数据集(Cifar10,Cifar100,miniImageNet,NEU,BSD,TEX)以及不同样本量(每类3,5,10,20,50,100)进行了深入研究,开展了多因素交叉实验,最终的实验结果展示了该方法具有有效性和泛化能力,分析得出了其相应的优势区间。
距离损失函数由语义特征表征和距离函数组成。构建全局特征表征,可以解释卷积神经网络学习到的语义特征信息。
卷积层的激活输出被广泛用于解释卷积神经网络从图像中学习到的语义特征[7],图像化后被称为特征图。文献[8]指出,特征图是稀疏的、分布式的语义特征表征,所有语义特征都被编码在分布式的卷积单元中,并且特征概念和卷积单元之间存在着多对多的映射关系。在骨架相同的卷积神经网络中,经过不同的训练过程,分解的特征概念与卷积单元的排列方式和映射关系也是不同的[7],因此并不能直接比较不同网络间的特征图和特征向量。根据文献[9]所述,单一特征图携带的特征信息极其有限,且不一定具有实际意义,只有当许多特征图激活同一区域时,这个区域才能被认定为包含实际的特征概念。
该文采用叠加的方法来整合特征图中的特征信息,进而形成全局特征表征。如图2所示,首先对多通道特征图在相应空间位置上进行点对点求和,形成一个聚合图,尺寸为h×w×d(其中h为特征图的高度,w为宽度,d为通道数)的特征图被整合成尺寸为h×w的聚合图。该方法可以忽略卷积神经网络中卷积单元的不同特征概念分布,更能保留语义特征的空间信息。
图2 多通道特征图的融合
进一步引入图像滤波器来去除噪音和弱势语义特征,改进聚合图。利用阈值τ进行像素级的过滤,使得所有高于阈值的像素值都保留,其他像素值则被置为零。
(1)
此外,位于高层次的卷积单元能提取更多更具识别能力的语义特征,具有优秀的识别和泛化能力[7]。因此,该方法从基础模型的最后一个卷积层提取特征图,并生成滤波的聚合图作为全局特征表征,用于量化模型间的语义特征表征。从基础模型中生成全局特征表征的流程如图3所示。
图3 全局特征表征的提取流程
该文使用复合距离函数对不同基础模型中全局特征表征之间的差异进行计算。该距离函数组合了余弦距离和欧氏距离,一方面,余弦距离[10]可以对高维度特征向量之间的相似性进行有效测量,反映向量方向的相对差异,更关注特征概念的位置。另一方面,欧氏距离呈现了全局特征表征之间内容的差异[11],计算全局特征表征数值上的绝对差异,其作用类似于空间注意力机制[12-13],提高了关键特征概念的激活程度。使用距离损失函数,不同基础神经网络模型能够在特征空间中学习不同的语义特征,同时每个基础模型也能在卷积单元中激活重要的图像特征概念。
由于优化器总是朝着最小值的方向优化损失函数,而该方法需要增大特征表征之间的差异,两基础模型之间的距离损失dlossi,j如公式(2)所示。
(2)
其中,vi和vj是向量化的全局特征表征,而α和β是距离函数两个部分的权值。
距离损失函数由余弦相似度和指数欧氏距离组成。因为全局特征表征的像素值都为正数,余弦相似度取值在0和1之间。值为0则特征表征差异较大,而值为1时表示两个基础模型的特征表征非常相似。指数欧氏距离保证了优化器可以在减小损失值的同时增大基础模型间特征表征的差异,同时其函数值具有动态约束的特性,函数值越小,越难继续朝着最小值优化,避免了强迫基础模型对无意义的边际特征进行学习的问题。
训练策略的目标是在训练基础模型的同时显示距离损失函数,并融合基础模型进行分类任务。该文提出对五个基础模型进行联合训练的策略,如图4所示。基础模型使用相同的训练样本进行相对独立的训练,同时从卷积层中生成的全局特征表征被用于表示模型学习到的语义特征,利用距离函数量化模型之间的特征差异,对基础模型的学习行为进行联系和制约。
图4 基础模型训练框架
(3)
经过训练之后,所有基础模型都被整合进一个特征融合模型 ,在语义特征层面上对模型进行整合。与传统模型融合的方法不同,该文仅使用基础模型的卷积网络层作为特征提取器,并在卷积通道方向上串联卷积单元,进行并置特征融合。然后,融合的特征被送入一个新的分类器中完成分类任务,最终构成一个端到端的神经网络特征融合模型,实现多源语义特征的整合处理过程,增加图像识别的特征多样性。
为评估距离损失函数对模型性能的具体作用,验证实验使用了不同数据集(Cifar10,Cifar100,miniImageNet,NEU,TEX和BSD)、不同样本量(每类3,5,10,20,50,100和400张图像)以及不同卷积神经网络骨架(VGG,ResNet和AlexNet),从而形成多因素交叉的实验条件,并从多方面展示了实验成果。
实验数据集包括Cifar10[14],Cifar100[14],miniImageNet[15],NEU,TEX和BSD。如图5所示,Cifar10和Cifar100是物体分类数据集,分别由60 000张32×32的彩色图像组成,其中Cifar10有10个类,而Cifar100有100个类。miniImageNet使用了原始ImageNet数据集中的100个类别,每个类有600张84×84的彩色图像,因此具有较高的复杂度,同时减少后的类别数所需要的处理资源要少得多,便于快速建立原型和进行实验。除了基于物体的数据集,实验还测试了3个基于表面缺陷的工业数据集。NEU基于金属表面缺陷,包括1 800张200×200的灰度图像,共有6个类。TEX显示了纺织品的5种缺陷以及正常图像,每类有18 000张64×64的灰度图。BSD记录了滚珠丝杠驱动器的故障情况,有21 835张150×150的彩色图像,分为有故障和无故障两类。因此,实验涉及了具有不同层次语义特征的基于物体和非物体的数据集。同时,将数据集随机分为60%的训练样本、20%的验证样本和20%的测试样本,并在训练样本中选取一定均匀分布的样本进行训练,即每类3,5,10,20,50,100和400张图像。实验用基础模型为VGG16[3],ResNet12[3,16]和AlexNet[1],使用不同的初始化方式,进而实现相对稳定且不同的初始状态。
图5 数据集Cifar10,Cifar100,miniImageNet,NEU,TEX和BSD
实验采用10-4的学习率和300的迭代次数,同时使用图像增强算法,对所有图像进行随机变换,并在训练过程中保存性能最好的模型。由于实验样本选取均匀,为了评估模型对图像目标的识别检测能力,使用准确率作为分类精度的整体评价指标,即识别正确的样本占总样本的百分比,并且准确率越高,表明模型的识别能力越强。同时,生成的类激活图可视化基础模型学习到的语义特征,直观展示了距离损失函数在语义特征层面的作用。
从表1可以看出,对于数据集Cifar10,Cifar100和miniImageNet,使用距离损失函数能够稳定提升特征融合模型的准确率。例如,在数据集为miniImageNet,训练样本为每类100张,且网络骨架为ResNet的实验中,使用距离损失函数的特征融合模型相比于不使用距离损失函数的融合模型提升了7.96%的分类准确率。
表1 针对Cifar10,Cifar100和miniImageNet数据集的分类准确率 %
然而分类准确率的提升效果在不同条件下并不恒定,距离损失函数对不同的样本量有不同的影响表现。如图6所示,该方法在小规模的训练样本下具有相对优势,模型性能提升最大。当训练样本增大时,模型可以通过充足的训练样本学习更精确且更有识别能力的语义特征,而图像中关键特征的数量通常有限,这就限制了该方法增加特征多样性的能力。
图6 距离损失函数在不同样本量情况下对特征融合模型准确率的提升效果
此外,图7显示出卷积神经网络骨架对距离损失函数的表现也有很大影响,其中基于ResNet骨架的模型融合实现了最大的性能提升效果,对应文献[17]的结论,ResNet架构中的残差结构使得整合不同深度卷积层的语义特征成为可能,从而提高深层特征图的可解释性和表征能力,多层次的语义特征可以被聚合到全局特征表征中,增加了模型之间的可比较性。相比之下,因为可解释性较差,AlexNet骨架的表现性能有所下降。正如文献[7]的结论,卷积神经网络骨架的可解释性排名为ResNet>VGG>GoogLeNet>AlexNet。
图7 距离损失函数在不同网络骨架情况下对特征融合模型准确率的提升效果
为了直观展示距离损失函数对基础模型语义特征的影响效果,该文使用基于梯度的类激活图显示特征图中与目标关联的关键部位。如图8所示,未实现距离损失的基础模型倾向于集中注意力在图像中一个相对固定的物体部分,也就是学习了相似的语义特征。与之相对的是,使用距离损失的基础模型具有更丰富的特征选择,多个基础模型关注了图像中不同的关键部位,增加了特征融合模型的特征多样性,进而提高了模型进行分类任务的准确率。
图8 针对Cifar10,Cifar100和miniImageNet数据集的类激活图
除了以上基于物体的数据集,该文还测试了基于表面缺陷的工业数据集,即NEU,TEX和BSD。分析表2数据,距离损失函数在工业数据集上的表现异于基于物体目标的数据集,距离损失函数不能稳定地使特征融合模型取得更好的性能,甚至基础模型也能达到与特征融合模型相当的准确率。因此,距离损失函数在表面缺陷检测数据集上的效果稳定性较差,性能提升较小。
表2 针对NEU,TEX和BSD数据集的分类准确率 %
工业数据集的语义特征可视化见图9,由此可知,即使使用了距离损失函数,不同基础模型也有关注图像中相似语义特征的倾向,个别基础模型甚至被迫放弃关键语义特征的提取,并失去了部分识别能力,而其他单个基础模型已经可以学习较为全面的特征信息。因此,距离损失函数在工业数据集上不能使特征融合模型获得更丰富的语义特征,而在某些情况下还会因过拟合降低模型的识别性能。
图9 针对NEU,TEX和BSD数据集的类激活图
综合来说,距离损失函数在Cifar10,Cifar100和miniImageNet数据集上取得了更好的效果(见图10)。其原因可能是NEU,TEX和BSD等工业数据集中与识别有关的特征概念是极其有限的,冗余的特征信息会导致特征融合模型过度拟合。工业数据集基于没有明确形状或位置的纹理级图像模式,如线条、角和颜色,并且这些低级特征通常简单,很可能在较低卷积层被不同类所共享[18],使其对特定类的关联能力大大降低。相比之下,基于物体的数据集有更多的部位级或物体级特征,这些高级特征更具有可解释性和类针对性,特征表征更具代表性。由此可见,如果数据集具有丰富的关键语义特征,距离损失函数就能使特征融合模型获得更丰富的图像特征和更高的识别准确率,但如果数据集只具有少量简单的关键特征,该方法就有可能损害最终的识别效果。
图10 距离损失函数在不同数据集情况下对特征融合模型准确率的提升效果
该文提出了基于距离损失函数的特征融合模型,使多个基础模型的融合更加有效,其中距离损失函数迫使基础模型从图像中学习不同的语义特征,特征融合模型对学习到的特征信息进行整合利用,对目标进行分类识别。实验表明,针对具有丰富关键语义特征的数据集,该方法可以增强融合模型的特征多样性,提高其对数据集的识别性能,同时ResNet架构中的卷积层具有显著的可解释性,最适合距离损失函数的应用。
在日后工作中,主要有两个方面的问题有待解决。首先,当前距离损失函数中两部分的权重固定,但在不同条件下,特别是针对不同数据集,最佳权重的取值范围有所变化,因此,探索能与条件挂钩的自适应权重将是后续可行的优化方案。其次,可以研究进一步提高全局特征表征的可解释性和表征性的方法,比如类似于ResNet架构,对多个层次卷积层的特征信息进行提取与整合,从中构建包含多层次语义特征的全局特征表征。