第39卷 第1期 高 师 理 科 学 刊 Vol. 39 No.1 2019年 1月 Journal of Science of Teachers′College and University Jan. 2019
文章编号:1007-9831(2019)01-0023-05
关于卷积神经网络损失函数的改进算法 徐振忠 (广东工业大学 应用数学学院,广东 广州 510520) 摘要:经典的卷积神经网络模型损失函数在设计时只考虑输出与标签之间的比较,没有涉及到图片之间的差异.为了提高卷积神经网络模型提取特征的差异,提出了基于Triplet network模型约束的卷积神经网络模型,这种方法提高了卷积神经网络提取有效特征的能力,减少数据集数量对于模型的影响. 在MNIST数据集和cifar-10数据集上进行实验,提出的新模型在这2个数据集上比经典的卷积神经网络模型识别效果更好. 关键词:卷积神经网络;Triplet network模型;反馈调节 中图分类号:TP391 文献标识码:A doi:10.3969/j.issn.1007-9831.2019.01.007
An improved algorithm for the loss function of convolution neural networks XU Zhen-zhong (School of Applied Mathematics,Guangdong University of Technology,Guangzhou 510520,China) Abstract:The loss function of classical convolution neural network model only considers the comparison between output and label,but does not involve the difference between pictures.In order to improve the difference of feature extraction from convolutional neural network model,proposes a convolution neural network model based on Triplet network model constraint.This method improves the ability of convolution neural network in extracting effective features and reduces the infection due to the dataset′ number.MINIST datasets and cifar-10 datasets will be tested for certifying the effectiveness of this methed,and the result shows that the new model is better than the classical convolutional neural network model in recognition of these two datasets. Key words:convolution neural network;Triplet network model;back propagation
1980年,Fukushima根据Huble和Wiesel[1]的研究提出了多层感知机[2].多层感知机为卷积神经网络的出现奠定了重要的基础.Lecun[3]等在Fukushima的研究基础上采用BP算法建立了卷积神经网络(CNN)模型并运用到手写字符的识别上,并取得了一定的效果,该模型被称为LeNet-5.LeNet-5是最基本的CNN模型,该模型包括输入层、卷积层、池化层、全连接层和输出层.后面的研究者大多在这个模型的基础上进行相应的改进.目前,对于经典CNN模型的改进大体从5个方面进行:(1)CNN结构的层数,如增加卷积层和池化层的数目,改变它们的顺序[4-5];(2)卷积核的大小和连接方式,如选择大小不同的卷积核进行组合[6-7];(3)池化的方式,如最大值池化和均值池化[8-9];(4)激活函数的选择,如sigmoid函数、tanh函数和ReLU函数[10-11];(5)损失函数的选择,如采用不同的损失函数或在损失函数上加上相应的正则约 束[12-13].本文在经典CNN模型损失函数的基础上加了Triplet Network[14]的正则约束,得到基于Triplet network模型约束的深度学习算法CNN模型(简称为TCNN).在经典CNN模型的损失函数中加入同类和异类的2
收稿日期:2018-10-05 作者简介:徐振忠(1992-),男,广东雷州人,在读硕士研究生,从事深度学习和图像识别及处理研究.E-mail:745007440@qq.com 24 高 师 理 科 学 刊 第39卷 张图片的比较,实验表明,TCNN模型对小数据集图片的识别具有一定的效果. 1 经典CNN模型 经典CNN模型的网络结构见图1,其基本结构主要分为输入层、卷积层、池化层、全连接层和输出层. 图1表示的是对该模型输入一张2828´的图片作为模型的第1层;卷积层1采用6个大小为55´的卷积核进行卷积,滑动步长为1,遍历整个输入图像,得到6张大小为2424´的特征图;下采样层1运用均值进行下采样,池化核的大小为22´,池化核之间无重叠,进而得到6张大小为1212´的特征图;卷积层2采用12个大小为55´的卷积核进行卷积,得到12张大小为88´的特征图;再次经过下采样层2得到12张大小为44´的特征图,最后进入全连接层.
经典CNN模型中一个单层卷积层和池化层的结构见图2. 图2 经典CNN模型中一个单层卷积层和池化层的结构 在经典CNN模型中,卷积层和池化层一般是交替出现,而在最后靠近输出层时将原来以矩阵形式表示的特征拉成一个向量的形式,做一个全连接网络.在模型的最后采用相应的损失函数和运用BP算法对模型的参数进行调节.
2 经典CNN模型的损失函数及BP算法
设由m个样本组成的样本集为()()(){}(1)(1)(2)(2)()(), , , , , , mmxyxyxyL,在这些样本里有n类,()iy
表示()ix的期望输出. 传统卷积神经网络的损失函数为 ()()2()(),11111(, ), ; , 2mmiiii
biiRbLbxypxymmwww==
æö==-ç÷
èø
åå (1)
其中:w为每个神经元的权值;b为偏置项;(),ibpxw为实际输出. 模型通过训练调节参数, bw,使损失函数(, )Rbw达到最小.
输入层 卷积层1 下采样层1 卷积层2 下采样层2 输出层 一张28×28图像 6张24×24特征图 6张12×12特征图 12张8×8特征图 12张4×4 特征图
图1 经典CNN模型的网络结构
样本 卷积 下采样 卷积 子图像
下采样 全连接 第1期 徐振忠:关于卷积神经网络损失函数的改进算法 25 经典CNN模型通过梯度下降法对损失函数进行参数调节,迭代公式为 ()()()(, )llijijl
ij
Rbwwaww¶=-¶ (2)
()()()(, )lliil
i
bbRbbaw¶=-¶ (3)
其中:a表示学习率. 式(2)和式(3)使用BP算法计算偏导数. 在使用反向传播算法时,首先计算前向传播,得到最后一层的输出(),ibpxw,再计算输出值与期望值之间的差距,这个差距表示为(, )Rbw. 然后通过最后一层的残差反向逐层计算出前一层的残差,从而得到新的权值和偏置项. 3 基于Triplet network模型约束的CNN模型 为了让算法有更好的分类能力,本文在损失函数中加入Triplet Network的正则项约束.Triplet Network模型是在输入层每次输入3张图片,在这3张图片中有2张属于同类图片,而剩下的1张属于异类的图片.Triplet Network模型在训练这3张图片时,其参数是共享的.Triplet Network模型通过训练得到图片的特征,进而运用同类的2张图片特征的差距函数1L和异类的2张图片特征的差距函数2L
的比较调整Triplet
Network模型的参数.
1L和2L分别定义为
122()()1,,12ll
bbLppww=- (4)
()2()()2,,1min(1, 2)2ill
bbLnpiww=-= (5)
其中:()()(),,iill
bbppxww=为同类图片的输出特征;()()(),,llbbnnxww=
为异类图片的输出特征.Triplet Network的网络结构见图3. 在1L函数的每次迭代过程中都会使同类的特征差距变小,
在2L函数的每次迭代过程中都会使异类的特征差距变大.
为了让经典CNN模型可以更好地提取得到对分类有用的特征,本文提出在原来的损失函数的基础上加上Triplet Network的正则化约束的新损失函数模型(TCNN).这种方法使得输出层的特征同类距离逐渐变小,异类距离逐渐变大. 经过改进后形成的TCNN模型目标函数为
12LRLLab=+- (6) 其中:R为神经网络的损失函数;, ab为大于零的权重系数;
1L为2张同类图片特征的距离;2L为2张异类图片特征的距离., ab可以通过实验的验证计算来确定.这样设计损失函数的目的是为了总代价函数在考虑分类损失的同时,也考虑到同类图片和异类图片的差距. 这有利于在权值调整的过程中让参数尽可能地集中提取差距比较大的特征.实验表明,该方法在数据集较少的情况下有一定的识别效果. 本文运用BP算法更新每一层的残差.对于同类图片的特征约束目标函数1L,其输出层每个参数的残
差计算公式为 ()()
()()()()()()()()()()()()()()()()
12
1212121122
2()()()2,,()()()()()(),,,,()()()()()(),,,,,,12 11llnl
ibbnlnl
ii
llllbbbb
llllllbbbbbb
LpxpxZZpxpxpxpxpxpxpxpxpxpxwwwwwwwwwwwwd¶¶
==´´-=
¶¶
æö¢¢
--=ç÷
èø
éù-´--´-
êúëû
对于异类图片的特征约束目标函数,其输出层每个参数的残差计算公式为
图3 Triplet Network的网络结构