APP下载

基于SWA优化级联网络的表情识别方法

2020-08-30史志才

电子科技 2020年9期
关键词:级联准确率权重

张 翔,史志才,陈 良

(上海工程技术大学 电子电气工程学院,上海 201620)

人脸面部表情识别作为人机交互的基础,在智慧医疗、智能安全监控等领域有着广阔的应用前景。在早期,Lanitis等[1]通过标记脸部特征点,计算眼睛、鼻子等相对位置的方法进行表情识别。由于该方法仅使用单一的有限特征点来表述表情特征,故识别率不高。随后,越来越多的研究者采用人工提取特征训练分类器的方法进行表情识别。Oshidari B等[2]通过对提取的人脸Gabor特征进行改进,并用其训练SVM分类器,完成了人脸表情识别。印勇等[3]先提取人脸Gabor特征,应用PCA进行降维处理后,采用基于模糊积分的多分类器进行表情识别。近年来,鉴于深度卷积网络在图像识别领域的良好表现[4],越来越多的研究者开始将其应用于人脸表情识别[5-6]。

本文以深度卷积网络为基础,提出一种采用随机权重平均(Stochastic Weight Averaging,SWA)[7]优化级联网络的人脸表情识别方法。相对于用人工提取特征训练分类器的方式,深度卷积网络提取的特征具有更强的鲁棒性。相对于单卷积网络模型,级联后的模型通过对多个子网络输出进行综合决策能进一步降低模型的误判率。此外,采用SWA方法训练可以增强级联网络中子网络的泛化能力,进一步提高模型的整体性能。

1 级联网络结构

级联网络如图1所示,由子网络A、B和决策函数f(y1,y2)组成。待检测图片分别输入A、B子网络后,得到预测概率y1和y2,经决策函数f(y1,y2)判别处理后输出最终预测结果。章节1.1和1.2将详细说明子网络A、B的结构和决策函数的选择。

1.1 子网络结构

图1中子网络A和B分别以VGG-19[8]和ResNet-18[9]为主体结构,仅对全连接层稍作修改。子网络A、B的结构如图2所示。由于Fer2013数据集中共有7种表情类别,故子网络中最后一层全连接层的输出为7个神经元。其中,子网络A的卷积、池化层结构与VGG-19一致,将VGG-19的最后3个全连接层替换为512×7的一个全连接层。而子网络B的结构仅将ResNet-18的最后一层全连接层改为512×7。

1.2 级联网络中的决策函数

通过对不同卷积网络进行级联往往能得到比单个网络模型更好的检测精度[10]。关于级联网络中决策函数的选择,本文将分别采用加权求和法与取较大值法两种不同的决策方式,并针对两种不同的决策方式进行对比实验以确定较优方案。

1.2.1 决策函数的输入y1和y2

图1中y1和y2分别表示子网络A和B输出的预测概率值。y1和y2均为向量,以y1为例,y1=(y11,y12,y13,y14,y15,y16,y17),向量中每一个分量表示检测图片属于7类表情中每一类别的概率值。

1.2.2 决策过程

图1中f(y1,y2)为决策函数。对于取较大值法,决策函数f(y1,y2)=max(y1,y2)取A、B子网络输出的预测概率最大值,级联网络的最终预测结果为argmax(y1,y2)。对于加权求和法,利用决策函数f(y1,y2) =k×y1+(1-k)×y2(0

2 子网络训练方法改进

2.1 关于SWA的理论分析

训练神经网络的过程即利用训练数据更新网络模型权重参数的过程。当模型对应的损失函数值收敛于某一局部最小值时,此时对应的神经网络权重参数即为模型的一个解。对于传统的随机梯度下降法(Stochastic Gradient Descent,SGD),其目标是寻找一个局部最优解。而随机权重平均法SWA则是先搜寻多个局部解,最终模型的权重参数为前面所得解求和取平均。

Izmailov P[7]研究得出:与传统SGD训练方法相比,采用SWA训练得到的解位于解空间中较平滑的区域。Keskar N S[11]则指出解的平缓程度与模型的泛化能力有着重要关系。由于训练集和测试集的数据存在差异性,导致模型在二者上的表现不同。现分别用模型在训练集和测试集上的损失函数值作为评定标准。如图3所示,当训练求得的解x1位于解空间中较平滑的区域时,训练集和测试集之间的差异性并不会导致函数值f1(x1)和f2(x1)有太大偏差。即当模型在训练集上损失函数值较低时,其在测试集上同样表现良好。故采用SWA方法训练得到的模型泛化能力更强。

2.2 SWA实现步骤

模型采用传统SGD方法训练至损失函数收敛时所需的总迭代次数记为N个epoch(训练集中的所有数据训练完1遍称为1个epoch)。随机权重平均法SWA训练模型的具体实现步骤如下:(1)第1至0.75N个epoch,采用带衰减系数的随机梯度下降法SGD训练。第0.75N个epoch训练完成后,将模型对应的权重参数记为W0;(2)从第(0.75N+1)个epoch开始,按图4中的操作流程进行训练,一般训练至1.25N个epoch结束[7]。最终模型保存的权重参数为批量归一化后的WSWA。

由于传统的随机梯度下降法SGD是寻找单个局部最优解,故该方法通常采用带衰减系数的学习率。即刚开始,将学习率设置为一个较大值,模型对应的损失函数值快速下降。为了避免模型在极小值点附近来回振荡或是直接越过极小值点,一般采用学习率衰减策略,随着学习率逐渐减小,模型对应的损失函数值最终收敛。而随机权重平均法SWA需要先搜寻多个不同的局部解,然后对多个局部解取平均。故其通常采用恒定学习率或循环变化的学习率,以保证损失函数不会陷入单个极小值点。对于恒定学习率α(i)=α1(常数)为定值;对于循环学习率,计算式如下

α(i)=(1-t(i)α1)+t(i)α2

(1)

(2)

式(1)中的α1、α2和式(2)中的c为模型训练前预先设定的超参数。

3 实验与结果分析

3.1 实验环境与数据集

实验硬件配置如下:Intel Xeon E5-2620处理器,内存16 GB,显卡型号为NVIDIA GeForce GTX 1080Ti 11G,采用Pytorch深度学习框架,实验中子网络模型的搭建参考了https://github.com/WuJie1010/Facial-Expression- Recognition.Pytorch中的公开源码。实验所用数据为Kaggle比赛中的Fer2013数据集。该数据集已划分好训练集、验证集和测试集,分别含有28 709、3 589、3 589个样本,数据集中每一个样本由48×48像素的人脸图像组成,共7类表情。

3.2 子网络训练与网络级联

训练前,对训练集中的图片采取随机裁剪和水平翻转操作实现数据扩增。训练过程中,对子网络的全连接层采取随机失活(Dropout)[12]策略。此外,还加入了标签平滑(Label Smoothing)[13]操作。测试阶段,输入图片采用了10 crop处理。

进行网络级联时,对于加权求和法,决策函数为f(y1,y2)=k×y1+(1-k)×y2(0

由图5可知,对于SGD和SWA两种训练方法,均为k取0.5时对应的模型识别准确率最高,故将加权求和法对应的决策函数中参数k最终定为0.5。

3.3 实验结果对比

3.3.1 改进模型与原方法对比

分别采用传统SGD方法和SWA方法训练A、B子网络,然后记录各单个子网络与级联网络在Fer2013测试集上的识别准确率。

由表1可得,从网络模型角度分析,通过引入决策函数构建级联网络能有效提高模型的识别准确率,且加权求和法级联方式要优于取较大值法。从训练方法的角度分析,相对于传统的SGD训练方法,采用随机权重平均SWA方法训练的单个子网络的检测精度得到明显提升,从而进一步提高了整体级联网络模型的性能。从整体上分析,本文提出的基于SWA方法训练采用加权求和法方式级联的网络模型达到了最佳识别准确率74.478%,其相比于原传统SGD方法训练的单个子网络模型提高了1.4%以上。

表1 改进模型与原方法对比Table 1. Comparison between improved model and original method

3.3.2 改进模型与现有典型方法对比

如表2所示,表中所述方法的识别准确率均为在同一数据集Fer2013的测试集上的测试结果。

表2 改进模型与典型方法对比Table 2. Comparison of improved models and typical methods

表2中翟懿奎等[14]采用迁移学习的方式将人脸识别模型用于表情识别,并采用Softmax-MSE损失函数进行监督训练,同时激活层采用双激活层结构进行改进,识别准确率为61.59%。徐琳琳等[15]等通过使用具有3通道的并行卷积池化单元对网络模型进行改进,其识别准确率可达65.6%。Guo等人[16]利用深度神经网络学习从原始图片到欧几里德空间的映射,然后用相对距离度量面部表情的相似性,该方法的识别准确率为71.33%。Kim等人[17]通过引入人脸对齐映射网络(Alignment-mapping Networks)来应对人脸对齐失效的情形,其将表情识别准确率进一步提升至73.730%。与上述方法相比,本文提出的基于SWA方法训练采用加权求和法方式级联的网络模型达到了更高的识别准确率74.478%。

4 结束语

本文以深度卷积网络为基础,通过引入决策函数对多个深度卷积网络的输出进行判别处理,形成了一个级联网络模型。在此基础上,引入了随机权重平均SWA训练方法用于级联网络中子网络的训练。最后的实验结果表明,基于SWA方法训练采用加权求和法方式级联的卷积网络在Fer2013数据集上达到了74.478%识别准确率,相对于原传统SGD方法训练的单网络模型提高了1.4%以上,且高于其他主流识别方法。下一步工作将继续研究更为高效的网络级联方式,从而充分地发挥单个模型的性能,进一步提高表情识别模型的整体检测精度。

猜你喜欢

级联准确率权重
铀浓缩厂级联系统核安全分析
权重望寡:如何化解低地位领导的补偿性辱虐管理行为?*
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
2015—2017 年宁夏各天气预报参考产品质量检验分析
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
权重常思“浮名轻”
为党督政勤履职 代民行权重担当
权重涨个股跌 持有白马蓝筹
整体级联式增压空气冷却器的进气模块