一种深度神经网络训练方法与流程

文档序号:15888676发布日期:2018-11-09 19:53阅读:1338来源:国知局
一种深度神经网络训练方法与流程

本发明提出了一种深度神经网络的训练方法,属于机器学习领域。

背景技术

近年来,随着深度学习的发展,各种深度学习网络模型交替出现,为图像分类带来了新的解决方案。为了提升深度学习网络的分类性能,一方面可以通过改变网络结构,还可以通过训练方法的改进,本发明正是提出了一种新的训练方法对深度神经网络进行训练,从而实现图像的分类问题。

通常深度学习卷积网络一般使用softmax函数实现分类功能,但是这种网络很容易丢失输入样本图像的类内距和类间距信息。将度量学习融入深度卷积网络的学习过程中,可以有效地捕捉到输入样本的类内距和类间距信息,扩大不同类样本之间的距离,减小同类样本之间的距离,有效地提高网络最终的识别结果。



技术实现要素:

本发明的目的是提供一种深度神经网络训练方法,神经网络经过不断的前向传播和反向传播来调整网络中的权值矩阵,使网络的损失函数降到最低,并保持稳定范围之内,最终完成训练。

本发明解决其技术问题所采用的技术方案是:

卷积神经网络,主要包括输入层、卷积层、降采样层和全连接层组成。输入层是待处理的输入数据或图像,卷积层和降采样层交替出现实现自动提取特征信息,全连接层实现图像分类功能,全连接层的最后一层是输出层。卷积神经网络的学习过程是一种有监督学习,本质上是输入到输出的映射,它的训练样本集是包含的是一系列向量对(x,yp),其中x表示输入向量,yp表示是理想输出向量。卷积神经网络可以自主地学习到图像中的特征,找到输出到输出之间的映射关系,而不需要提前设计出输入到输出之间的计算公式。卷积神经网络训练之前,需要初始化网络中的权值。一般使用不同的小随机数初始化权值,不同的初始值可以保证网络中的每个权值的更新过程都是不同的,而小的随机数能避免网络由于初始权值过大引起网络训练失败。

网络的训练过程包括两个阶段:

1.前向传播阶段

前向传播的过程是从样本集中选择一个样本,将样本送入网络,然后得到网络的实际输出值。在这个过程中,网络首先通过数据层读取样本的输入数据,然后经过网络各个层级进行数据处理,网络会在输出层得到实际输出结果。包括如下步骤:

(1)计算每个输入图像的特征和对应类中心特征之间的余弦距离作为损失函数,即基于余弦距离的centerloss;

(2)计算softmaxloss损失函数。

2.反向传播阶段

反向传播的过程是为了调整权值矩阵,根据网络实际输出值和理想输出值之间的误差,利用极小值误差反向传播到输入层,调整网络每层的权值矩阵w。包括如下步骤:

(a)根据softmaxloss损失函数,分别计算出该损失函数对输出层的参数quote的偏导数,和对网络中参数quote的偏导数;

(b)根据基于余弦距的centerloss损失函数,分别计算出该损失函数对每个类的中心特征的quote的偏导数,和网络中参数quote的偏导数;

(c)根据softmaxloss损失函数和基于余弦距离的centerloss损失函数计算出的偏导数,更新网络中的参数quote

本发明和现有技术相比,具有以下优点和效果:神经网络经过不断的前向传播和反向传播来调整网络中的权值矩阵,使网络的损失函数降到最低,并保持稳定范围之内,最终完成训练。基于余弦距离的centerloss度量学习模块,通过计算每个样本和对应类中心之间的余弦距离作为损失函数,考虑到了输入特征图的方向信息,同类样本之间相互靠近,网络输出的特征具有明显的判别性,可以提高网络最终的识别结果。

附图说明

图1为本发明卷积神经网络结构。

图2为本发明网络训练流程。

具体实施方式

下面结合附图并通过实施例对本发明作进一步的详细说明,以下实施例是对本发明的解释而本发明并不局限于以下实施例。

1.损失函数计算:

训练时,将基于softmaxloss和基于余弦距离的centerloss相结合,对应的损失函数如下:

quote(1)

其中,quote表示输出层的softmaxloss,quote表示基于余弦距的centerloss,超参数quote用于调节softmaxloss和基于余弦距的centerloss的权重。

网络中quote的主要作用是对输入图像进行分类,quote的表达式为(2)式所示:

quote(2)

其中,quote表示网络中最后一层(输出层)的参数,quote是示性函数,t是输出层节点个数,n是输入一批样本中三元组的数量,每一组输入的样本数据表示为quote,quote是表示网络最后的隐层输出的第i个样本的特征,quote是与quote相对应的真实标签。

网络中quote的主要作用是计算每个输入样本和对应类中心之间的余弦距离,将这个余弦距离作为损失函数调整网络中的参数,使得同一类样本之间的距离比较小,计算公式如式(3)所示:

quote(3)

其中,quote是网络最后的隐层输出的第i个样本的特征,quote表示第i个样本对应的类中心特征,n表示输入一批样本的数量。

2.参数更新:

卷积神经网络的参数在更新时,使用随机梯度下降法。我们将网络中的参数分为三部分,分别是输出层的参数quote,每个类的类中心特征quote,网络中的其他参数quote。输出层的参数quote只依赖于softmaxloss,每个类的类中心特征quote只依赖于基于余弦距的centerloss,网络中的其他参数quote的更新取决于softmaxloss和基于余弦距的centerloss。

在卷积神经网络和基于余弦距的centerloss相结合的网络中,输出层的参数quote的更新公式如式(4)所示。

quote(4)

quote(5)

其中,quote表示softmaxloss,quote表示最后隐层输出的特征经过输出层计算得到的概率。公式中softmaxloss损失函数对quote求偏导的计算公式如下所示:

quote(6)

在(6)式中,quote表示第i个样本属于第t类的概率,quote表示从网络最后隐层得到的第i个样本的特征。

网络中每个类的中心特征的quote初始化为随机数值,在网络更新时quote的计算公式如下式所示:

quote(7)

quote(8)

其中,quote是第j类的中心特征,quote表示从网络最后隐层输出的第i个样本的特征,quote是输入样本i对应的真实的标签值,n是输入样本的数量。quote是示性函数,如果第i个样本计算出的类别和给出的真实标签值相同,示性函数quote,否则quote

网络中其他层参数quote的更新计算公式如下:

quote(9)

quote(10)

其中,quote表示softmaxloss,quote表示基于余弦距的centerloss,超参数quote用于调节两个损失函数的权重,quote表示网络最后的隐含层的输出。公式(10)中softmaxloss损失函数quote对quote的偏导数的计算公式如式(11)所示:

quote(11)

其中,quote表示网络最后的隐含层的输出,quote表示最后隐层输出的特征经过softmax层计算得到的概率。公式(10)中基于余弦距的centerloss损失函数对quote偏导数的计算公式如式(12)所示:

quote(12)

其中,quote表示网络最后的隐含层的输出,quote是第i个样本对应的类中心的特征。

训练流程如图2所示。

本说明书中所描述的以上内容仅仅是对本发明所作的举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,只要不偏离本发明说明书的内容或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1