时间:2024-05-04
肖遥,蒋琦
(西华大学计算机与软件工程学院,成都 610039)
图像识别是计算机视觉和模式识别技术的基础,其任务是利用从大量图像上学习到的先验知识判别给定目标的属性。近年来,随着计算机硬件性能的提升,卷积神经网络(Convolutional Neural Network,CNN)在图像识别领域受到越来越多的关注[1-3]。然而传统的深度卷积模型在训练时,只是简单的利用了样本的标签信息,忽视了使用提取到的深度特征对卷积网络的训练进行更严格的约束。针对这一不足,文献[4]提出了一种支持向量机(Support Vector Machine,SVM)驱动的卷积深度模型。其不仅结合了深度卷积网络强大的特征提取能力与SVM 出色的分类能力,同时将SVM 目标函数作为指导深度卷积网络学习的能量函数,在深度模型的学习过程中提供了更出色的正则化效果。模型训练时,SVM 目标函数能够反映出不同类别的样本特征间的间隔,迫使卷积网络学习具有更大类间间隔的特征,从而增强CNN 的特征提取能力。然而,文献[4]中忽视了SVM 模型本身存在的不足,SVM 目标函数中只利用的类间间隔,没有考虑到特征空间中图像特征的分布情况[5]。而SVM 驱动的CNN 模型将不可避免的继承这一问题,限制了其泛化能力的进一步提高。
针对上述不足,本文提出了一种最小内类方差支持向量机(Minimum Class Variance Support Vector Machines,MCVSVM)驱动的 CNN 模型。MCVSVM 作为SVM 的改进,其最大的优势在于引入了用于描述特征分布信息的类内散度矩阵,得益于此,基于MCVSVM的CNN 在训练过程中能够额外的关注总体图像特征的分布情况,进而迫使CNN 提取到质量更高的图像特征。
作为一种大间隔分类器,SVM 具有出色的泛化性能。其核心理论是在特征空间中学习一个决策面,使得正负样本到该决策面都具有最大间隔。然而SVM模型只关注了训练样本中少数的支持向量点,并没有利用到总体样本的分布信息,针对这一不足,借鉴Fisher 线性鉴别理论[6],文献[5]提出了 MCVSVM 模型。其模型定义如下:
并且:
其中w是特征空间中分类超平面的法向量,b表示偏置项,λ为惩罚系数,ξi是引入的对应训练样本xi的松弛变量,为训练样本的标签,Sw是类内散度矩阵,用于描述训练样本的分布情况,C+与C-分别表示属于正类与负类的样本的集合,则表示对应类别下训练样本的均值向量。显然,不同于标准的SVM,MCVSVM 在构建决策超平面时不仅考虑了分类间隔,还通过引入类内散度矩阵的方式,进一步考虑了数据的分布信息,增强了模型的鲁棒性与泛化性能。
传统的CNN 模型中往往采用交叉熵作为能量函数指导模型的训练,然而交叉熵函数中只考虑了模型的经验风险,这限制了深度模型泛化能量的提高。针对这一不足,文献[4]结合大间隔思想,提出了一种SVM驱动的CNN 模型,其能量函数定义如下:
文献[4]中采用CNN 作为特征提取器,并通过SVM进行分类的方案在识别任务中表现出了较强的泛化性能。在深度模型的更新过程中,基于SVM 的卷积深度模型将标准的SVM 目标函数作为损失函数指导CNN的学习。然而,受限于SVM 模型中的不足,基于SVM的卷积深度模型在训练时无法利用总体样本特征的分布信息,这将极大的限制CNN 特征提取能力的提高。
针对上述不足,本文提出了一种基于MCVSVM 的深度卷积模型。MCVSVM 中引入的类内散度矩阵以描述样本特征的分布信息,因此,所提模型采用MCVSVM目标函数作为CNN 更新时的损失函数,使得深度卷积模型能够充分的利用样本的分布信息。给定一组包含K个类别的训练样本,为了描述其分布信息,首先定义类内散度矩阵Sw如下:
并且:
其中Ck表示属于类别k的样本特征的集合,nk表示属于类别k的训练样本的数量。得到类内散度矩阵后,将其代入SVM 目标函数中得到本文提出的能量函数如下:
其中λ为惩罚系数,其中wk表示第k个类别的分类超平面的法向量,bk表示其对应的偏置项,为训练样本的标签,当xi属于第k类时=+1 ,否则。式(6)通过在目标函数中增加类内散度矩阵,将简单的计算分类间隔的欧氏距离,巧妙地转变为计算更有效的马氏距离[7]。得益于此,在深度卷积网络的训练过程中,包含了样本分布信息的损失函数将迫使CNN 更多的关注所有提取到的样本特征的分布情况,使得样本特征能够更多地反映自身的类别信息,这显然是有利于深度模型泛化能力的提高的。
图1 概述了基于MCVSVM 的深度卷积模型。显然,与传统的深度卷积模型不同,所提模型在全链接层后额外计算了样本特征的类内散度矩阵,用于计算模型的能量函数值。在模型的训练过程中,类内散度矩阵的引入将引导CNN 更多的关注提取特征的分布情况,最终提取到更具鉴别性的样本特征。
本节的目的在于通过实验的方式验证MCVSVM驱动的CNN 模型的有效性,分析了惩罚系数对模型性能的影响;之后在五个大规模数据集上验证所提模型在识别准确率上的有效性。本文所有实验均在NVIDIA TITAN X(Pascal)GPU 以及 Intel Xeon W-2125 CPU环境中进行。
图1 MCVSVM驱动的卷积深度模型
为了获取一个合适的λ的值,使得模型取得最佳的泛化性能,本节在SVHN[15]数据集上对ResNet-18[9]网络结构下多个不同的λ进行了仿真实验。实验时为了充分分析惩罚系数λ对模型性能的影响,设置。此外,采用 Minibatch 策略[11],随机取250 张图片作为模型每一轮的训练图像。设定最大的训练次数t=2000,借鉴文献[12],采用动态的学习率:当训练次数t<500 时,设置学习率σ=10-3,500 ≤t≤1500 时 ,设 置σ=10-4,否 则σ=10-5。图2-3 报告了不同惩罚系数λ下识别率的增长曲线以及模型在SVHN 数据集上取得的最大识别准确率。从实验结果中可以明显看出,在λ=1 时模型取得了最高的识别率,而在λ较小时模型难以取得较好的结果。因此规定本文实验中的惩罚系数λ=1。
图2 不同惩罚系数λ 下模型识别率增长曲线
图3 不同惩罚系数λ 下模型最大识别率
本节基于对 AlexNet[10]、VGGNet-13[1]和 ResNet-18三种网络结构,比较了所提模型与交叉熵驱动的CNN和SVM 驱动的CNN 在5 个大规模数据集上的识别准确率。使用的数据集包含一个人脸表情数据集FER2013[13],两个数字数据集 MINIST[14]和 SVHN[15]以及两个搜集于真实世界的复杂图像数据集CIFAR-10 和CIFAR-100[8]。实验时,MCVCVM 引导的 CNN 中的参数设置均与3.1 小节中使用的相同。交叉熵驱动的CNN 模型与SVM 驱动的CNN 模型中的参数则按照其论文中的说明进行设置。采用Top-1 识别率作为评价模型性能的量化指标,其表示预测响应最大的类别为真实类别的概率。
表1 各深度卷积模型在数据集上的识别率比较
表1 展示了各网络结构下所比较的四种CNN 模型在各数据集上Top-1 识别率。其中xxx-Cross、xxx-SVM、以及xxx-MCVSVM 分别表示交叉熵、SVM 以及MCVSVM 驱动的CNN 模型。可以看出,MCVSVM 引导的CNN 模型总是能取得更高的识别准确率。相比于具有第二好表现的SVM 驱动的CNN 模型,MCVSVM 驱动的 CNN 在 MNIST、SVHN、FER2013、CIFAR-10 以及CIFAR-100 数据集上的识别率分别平均提升了0.07%、0.3%、1.94%、3.37%和4.44%。实验结果表明,本文提出的算法能够有效增强深度模型的识别准确率,且具有较强的泛化性能。
针对SVM 驱动的CNN 模型在训练时没有考虑图像特征分布信息这一不足,本文提出了一种MCVSVM驱动的CNN 模型。所提模型中采用MCVSVM 目标函数作为指导CNN 训练的能量函数,得益于MCVSVM的特性,CNN 在训练时不仅考虑了异类样本特征间的间隔,同时能够利用样本的分布信息得到质量更高的图像特征。在多个不同模式的公开数据集上的仿真实验证明,相对于交叉熵引导的CNN,SVM 引导的CNN以及中心损失引导的CNN,MCVSVM 驱动的CNN 模型能够提取到更具鉴别性的图像特征,同时在识别应用中具有更强的泛化性能。由于在计算类内散度矩阵时存在较大的计算开销,因此未来的工作将继续对算法进行优化,以加快CNN 模型的训练速度。
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!