学习系统与学习方法与流程

文档序号:14861161发布日期:2018-07-04 07:30阅读:272来源:国知局
学习系统与学习方法与流程

本发明涉及一种对神经网络用参数进行更新的学习系统与学习方法。



背景技术:

在图像识别领域存在称作一般物体识别的问题。该问题是对图像中存在的鸟、车等物体的种类(class)进行推定的问题。近年来,一般物体识别问题的识别性能的改善很显著,这很大程度是层数多的卷积神经网络(convolutionneuralnetwork,以下称作cnn。例如参考非专利文献1)带来的。

在图像识别领域过去提出过各种各样的识别算法,但随着学习数据(输入数据与正确答案之组合)变得庞大,出现了cnn超出了其他算法识别性能的倾向。cnn的模型表现能力较高,但另一方面,一直有人指出cnn存在学习数据的特征过度特化这种称作“过学习”的问题。但是,近年来学习数据的量已经逐渐增大到了能够避免过学习问题的水平。

现有技术文献

非专利文献

非专利文献1:renwu,shengenyan,yishan,qingqingdang,andgangsun,"deepimage:scalingupimagerecognition",arxiv:1501.02876v2.

非专利文献2:c.m.bishop,"neuralnetworksforpatternrecognition",p267-268,clarendonpress(1996).

非专利文献3:y.nesterov,"amethodforunconstrainedconvexminimizationproblemwiththerateofconvergenceo(1/k2)".dokladyansssr(translatedassoviet.math.docl.),vol.269,pp.543-547(1983).

非专利文献4:i.sutskever,"trainingrecurrentneuralnetworks",phdthesis,(2013).

非专利文献5:j.dean,etal.,"largescaledistributeddeepnetworks",nips2012.



技术实现要素:

发明要解决的技术问题

cnn虽然在识别性能方面优势很大,但同时存在学习时间长的弱点。社交网络相关数据、自动驾驶相关数据等作为今后仍然不断增加的数据之一例,学习时间变得过于庞大,需要充分考虑在实质的时间内学习不能完成的可能性。有时候学习的时间需要以年单位计算。这种情况下,产品化不现实,有时不得不使用识别性能较差的cnn以外的算法。也就是说,神经网络学习彻底实现高速化对于产业应用来说是极为重要的课题。

本发明立足于现有技术中存在的这种问题,所要解决的技术问题是提供一种能够高速更新神经网络用参数的学习系统与学习方法。

解决技术问题的方法

本发明的一个方案是提供一种学习系统,具有多个微分值计算部与参数更新部,对神经网络用参数进行更新,其中,所述多个微分值计算部互不进行同步地执行下列动作:从所述参数更新部接收某个时间点的参数;根据所接收到的参数计算出用于更新所述参数的微分值;将所述微分值发送给所述参数更新部,所述参数更新部执行下列动作:从所述微分值计算部接收所述微分值;与所述多个微分值计算部的微分值计算不进行同步地根据所接收到的所述微分值更新所述参数;将更新后的所述参数发送给所述多个微分值计算部,所述微分值计算部在计算所述微分值时,考虑与更新次数对应的过时而计算所述微分值,所述更新次数为从所述参数的接收时间点开始到所计算的微分值被所述参数更新部用来更新所述参数为止的期间内,所述参数被更新的次数。

由于在非同步型分散方式中考虑了过时,所以能够高速地更新参数。

优选所述微分值计算部考虑所述过时,计算出在所计算的微分值被所述参数更新部用来更新所述参数时的参数的预测值,对该预测值进行微分而计算出所述微分值。

这种情况下,优选所述微分值计算部根据所述某个时间点的参数、所述某个时间点之前的时间点的参数、及所述过时,计算出所述预测值。

具体而言,设所述某个时间点τ的参数为w(τ),所述某个时间点之前的时间点(τ-1)的参数为w(τ-1),所述过时为sn,且γ∈(0,1)时,所述预测值p(τ)

由于并非对所接收到的参数本身,而是对与用来更新时的参数接近的预测值进行微分,所以能够高速地更新参数。

所述微分值计算部可以随着学习的推进相应地增大所述γ。

或者,所述参数更新部可以使用所述微分值与学习系数相乘得到的值更新所述参数,随着学习的推进相应地增大所述学习系数。

再者,可以在从学习开始至进行规定次数的参数更新的期间内,由所述参数更新部对更新量进行调节以使得所述参数的更新量的绝对值或标准不超过规定值。

通过这样,能够防止学习的早期目的函数变得不稳定。

本发明的另一种方案是提供一种更新神经网络用参数的学习方法,包括:多个微分值计算部互不进行同步地执行从所述参数更新部接收某个时间点的参数的步骤;根据所接收到的参数计算出用于更新所述参数的微分值的步骤;以及将所述微分值发送给所述参数更新部的步骤,所述参数更新部执行从所述微分值计算部接收所述微分值的步骤;与所述多个微分值计算部的微分值计算不进行同步地根据所接收到的所述微分值更新所述参数的步骤;以及将更新后的所述参数发送给所述多个微分值计算部的步骤,在所述微分值计算部计算所述微分值的步骤中,考虑与更新次数对应的过时而计算所述微分值,所述更新次数为从所述参数的接收时间点开始到所计算的微分值被所述参数更新部用来更新所述参数为止的期间内,所述参数被更新的次数。

发明的效果

由于考虑了过时,所以能够高速地更新参数。

附图说明

图1是示意性表示cnn结构之一例的图。

图2是基于nag法的参数更新的说明图。

图3是示意性说明同步型的微分值计算与参数更新的定时的图。

图4是示意性说明非同步型的微分值计算与参数更新的定时的图。

图5是示出一实施方式的分散方式学习系统的一个结构示例的概略框图。

图6是本实施方式的参数更新的说明图。

图7是对本发明的误差d1与现有技术的误差d2进行比较的图表。

图8是示出重复进行了学习时的错误率变迁的图表。

具体实施方式

以下,参照附图具体说明本发明的实施方式。

图1是示意性表示cnn结构之一例的图。cnn包括一个或多个卷积层121与池化层122的组,以及多层神经网络结构123。第一个卷积层121被输入识别对象(以下称作图像数据)。多层神经网络结构123输出识别结果。

卷积层121对所输入的图像数据(对于第一个卷积层121是识别对象的图像数据、对于第二个及以后的卷积层121是后述的特征图)应用过滤器21a进行卷积,接着进行非线性映射。过滤器21a为具有多个像素的要素的权重,各个权重中可包括偏移量。

池化层122对来自卷积层121的图像数据进行降低分辨率的池化操作,生成特征图。

多层神经网络结构123包括输入层231、一个或多个隐藏层232以及输出层233。输入层231被最后一个池化层122输入特征图。隐藏层232采用权重进行乘积加总运算。输出层233输出cnn处理的最终结果。

卷积层121中的过滤器21a的权重、隐藏层232中的权重是神经网络用参数,需要事先进行学习。这里的学习是指为了让cnn在被输入识别对象的图像数据时返回理想的输出而更新参数使其最佳化。具体而言,反复进行参数的更新,以使得规定的目的函数收敛到最小值。目的函数是指,将对cnn具体从理想输出值偏离多少进行量化的函数(例如平方误差或交叉熵),对所有学习数据进行加总得到的函数。目的函数是参数的函数,目的函数越小则cnn越好。

本实施方式中,使目的函数最小化的方法的基础是下面要说明的一种叫做小批量随机梯度法的一种梯度法。学习中大量使用学习数据,学习数据为作为识别对象的图像数据和对图像数据的理想输出值的组。小批量随机梯度法中对于一次参数更新并不使用全部的学习数据,而只使用一部分学习数据。小批量指一次参数更新时所使用的学习数据的集合,小批量大小指构成小批量的学习数据的数量。

小批量随机梯度法首先从全部学习数据中随机提取学习数据生成小批量。接下来使用该小批量计算出对目的函数的参数的微分值。然后使用微分值更新参数。下面进行详细说明。

目的函数为j(x;w)。其中x为输入数据、w为参数的集合。设第t次的重复中的参数为w(t),则小批量随机梯度法中采用下述公式(1)作为得到第t+1次的参数的更新公式。

其中,xr(i,t)指数据组中的第r(i,t)个数据,r(i,t)指时刻(表示重复次数序号的编号也可以表现为时刻)t的参数使用时,第i个随机抽样的数据索引。η为称作学习系数的正数。m为小批量大小。右边第2项为微分值,其括弧([])的右下方示出了参数空间的点,意味着在该点计算微分。更新公式(1)中示出了对时刻t的参数w(t)进行括弧([])内所示的微分。

更新公式(1)被认为是采用小批量的最陡下降法。也就是说,右边第2项矢量的方向是通过小批量所规定的目的函数j最陡下降的方向。

通过采用这种小批量随机梯度法学习大规模的数据组,多层神经网络能够获得较高的泛化性能(对未知数据的推定精度)。

关于小批量随机梯度法,提高学习的收敛速度的方法已经存在研究,这里对已知的两种现有技术进行说明。

【动量法】(参照非专利文献2)

参数更新公式如下述公式(2)所示。

v称作动量项,为已计算出的目的函数的微分的加权平均值。权重大小通过动量系数γ∈(0,1)来调整,通常设定为0.9等值。该更新公式中,如果微分值存在时序列相关,则更新公式中可将动量项v看作主要项,微分值看作修正项。

通过采用动量法,在微分值在时刻t的附近具有高相关性的情况下,每一次参数更新的幅度可取得较大,能够缩短收敛所需时间。

【nesterov的加速梯度下降法(nesterovacceleratedgradient,以下称作nag法】(参照非专利文献3、4)

参数更新公式为下述公式(3)

nag法与动量法的区别在于参数空间中计算微分值的点不同。动量法采用时刻t的参数w(t)计算微分值,而nag法采用w(t)+γv(t)计算微分值(参照微分值外的括弧([])右下角)。也即,nag法首先将过去的动量项v作为主要项目进行加总,对加总结果计算出作为修正项的微分值并加总。

对照图2对nag法进行详细说明。如图所示,示出了对时刻(t-1)的参数w(t-1)(符号11)进行更新得到时刻t的参数w(t)(符号12)后,进一步得到时刻(t+1)的参数w(t+1)的情况。根据上述公式(3),参数w(t+1)可通过下面的公式来表示。需说明的是,省略了目的函数j的引数。

这里设p(t)=w(t)+γv(t)。图2中,参数w(t-1)指向参数w(t)的矢量(符号13)为动量项v(t)。参数w(t)与作为主要项的加权动量项γv(t)(符号14)相加的点为p(t)(符号15)。

接下来对主要项被变更的p(t)计算出作为修正项的微分值再给p(t)加上加权的微分值(符号16)由此得到时刻(t+1)的参数w(t+1)(符号17)。

在很多情况下,动量法与nag法均能够加速随机梯度法。通过如上的动量法或nag法,能够在一定程度上实现学习的高速化。但是,尤其是在数据的数量较多的情况下,很难说能够实现足够的高速化。

因此,本发明通过利用由cpu或gpu构成的多个计算机(也称作节点)经高速通信线路相连构成的计算机集群,采用对学习所必须的计算进行分散处理的方式(以下称作分散方式),能够进一步缩短学习时间。

(第1实施方式)

分散方式可按照:(1)对“什么内容”进行通信、(2)“和谁”进行通信、(3)“何时”进行通信的角度进行分类。

首先,对于“对‘什么内容’进行通信”的角度,包括“模型并列”和“数据并列”方式。模型并列方式中,模型自身分散在计算机间,进行神经网络的中间变量的通信。数据并列方式中,模型的计算封闭在单体的计算机中,进行各个计算机所计算的微分值等的通信。

数据并列方式中,各个计算机处理不同的数据,因此能够一并处理大量的数据。在以小批量随机梯度法为前提的情况下,小批量内的数据并列是符合逻辑的,因此本说明书中主要设想为数据并列。

模型并列方式在处理存储器难以容纳的巨大神经网络时非常有用。模型并列方式的用途比较特殊,故本说明书不进行说明,但本发明在后述的使用“旧参数”时很有效,模型并列方式与数据并列方式均可适用。

对于“‘和谁’进行通信”的角度,可采用管理参数的“参数服务器”和进行微分运算的“工作节点”之间使用一对一通信的方式(例如参照非专利文献5),和不设置参数服务器,所有的工作节点之间进行全体通信(全对全通信)的方式。前者的情况下,工作节点只和参数服务器进行通信,工作节点间原则上不进行通信。本发明在两种方式下均可适用。

对于“‘何时’进行通信”的角度,存在同步型和非同步型的方式。

图3为示意性说明同步型的微分值计算与参数更新的定时的图。同步型中,节点之间同步进行微分运算。具体而言,基本流程是这样的,等待计算最慢的节点计算出微分值,然后使用全节点的微分值对参数进行更新,再使用更新后的新参数,全节点一起开始下一次的微分运算。可见,同步型中节点之间会发生等待,降低效率,更新频度低。

另一方面,同步型能够保证微分值计算与参数更新的顺序性,因此通常的小批量随机法通常采用如下公式(4)所示的更新公式。

k为计算节点一次性处理的数据的数量。r(i,n,t)指节点n使用时刻t的参数时第i个随机抽样的数据索引。#nodes为进行微分值运算的节点的数目。与使用单个节点时的更新公式(1)的区别仅在于将微分按节点数目相加这一点。此时,小批量的大小通过#nodes×k给出。

同步型中,严密执行采用小批量的最陡下降法的更新公式(1),目的函数j(x;w)单调减少。应用动量法或nag法的情况下,严密执行上述更新公式(2)或(3)。因此,不管什么情况下同步型均有收敛保障,1次的更新中的目的函数j(x;w)的下降速度较大。

图4为为示意性说明非同步型的微分值计算与参数更新的定时的图。非同步型中,节点之间不同步进行微分运算与参数更新。非同步型并不等待所有节点计算出微分值便进行参数更新,各个节点互不同步,不间断地重复执行微分值的计算。因此,节点之间不会发生等待,能够高效进行工作,更新频度高。

另一方面,非同步型允许某个节点仍在计算微分值时进行参数更新,所以各个节点所保持的参数慢慢变旧。即,计算微分值时使用旧参数,这一点和同步型存在很大区别。考虑到这一点,小批量随机法中的更新公式例如以下的公式(5)所示。

与同步型的更新公式(4)的区别在于,计算微分值的参数的时刻τ比当前时刻t旧。τ可以在每个节点不同。另外,本说明书中将微分值计算中使用时刻有延迟的参数的方式分类为非同步型,即使其大多数计算机采用同步型的更新规则。

由于参数的新旧程度,无法保证更新公式(5)中的第2项的矢量保持最陡下降方向。因此,非同步型的更新公式(5)并非严密的最陡下降法,每一次更新时的目的函数j(x;w)的下降速度比同步型小。但是,虽然理论上没有收敛保证,但有报告说实质上没有什么问题。(非专利文献5)。

如上所述,在通常的同步型的情况下,具有每次更新的目的函数j(x;w)的下降速度较大的优点,但另一方面存在更新频度较低的缺点。与此相对,通常的非同步型的情况下,具有更新频度较高的优点,但另一方面存在每次更新的目的函数j(x;w)的下降速度较小的缺点。

因此,非同步型如果能够增大每次更新的目的函数j(x;w)的下降速度,则能够实现非同步型学习的高速化。本发明中以非同步型的分散方式为前提,如后述将现有的nag法扩展到有数据过时的学习。

图5是示出一实施方式的分散方式学习系统的一个结构示例的概略框图。学习系统由互相之间可通信的多个节点1构成,节点1分别具有微分值计算部2和参数更新部3。微分值计算部2例如为gpu(graphicsprocessingunit),计算出某个时刻的参数的微分值。参数更新部3例如是cpu(centralprocessingunit),使用所计算出的微分值通过梯度法进行参数的更新。

非同步型的分散方式中,学习系统具有多个微分值计算部2,这些多个微分值计算部2互相之间不同步,从参数更新部3接收参数,计算出微分值并发送给参数更新部3。参数更新部3接收微分值,与微分值计算部2的微分值计算并不进行同步,换言之,并不等待从所有的微分值计算部2接收到微分值,而使用所接收到的微分值进行参数更新,然后发送给各个微分值计算部2。

非同步型的分散学习方法在微分值计算时不得不使用旧的参数。使用通过旧参数计算出的微分值来对新参数进行更新,由于微分值与原本应当使用的微分值(用新参数计算出的微分)并非严密一致,因此每次更新的目的函数j的下降速度减小。计算微分时的参数越旧,微分的近似精度就越差,每次更新的目的函数j的下降速度减小。

即,计算微分值时使用的参数w(τ),与使用该微分值实施更新时的参数w(t)的距离(例如||w(τ)-w(t)||2)是影响微分的近似精度的1个指标。本发明通过减小该距离来提高微分的近似精度

考虑可以让微分值计算部2接收到参数时,预测将来传送微分值的时间点的参数,在所预测的点进行微分值计算。但是,预测本身的计算也需要很多时间,并不能实现学习高速化,需要通过尽可能少的运算量进行预测。

下面对非同步型的随机梯度法中从时刻t到t+1的参数更新进行考察。需说明的是,提供微分值的微分值计算部2所保持的参数的时刻序号τ当然在时刻t之后。以下对完全不同步(完全不进行微分值计算与参数更新的同步的方式)的情况进行考察。参数新旧程度称作“过时”(staleness)s。过时s为从微分值计算部2接收到参数的时间点开始,到微分值计算部2所计算出的微分值被参数更新部3用于更新参数为止的时间内,参数被更新的次数。例如,微分值计算周期与参数更新周期一致的非同步系统中,总是有2期的延迟,因此s=2。

本发明采用以下的更新公式(6)。

sn为第n个微分值计算部2中的过时。可以对每个微分值计算部2观测参数的新旧程度后决定过时sn。或者,在全部微分值计算部2中的过时基本上相同的情况下,也可以将平均过时舍位、进位或者四舍五入从而让sn取值为固定値。

该更新公式(6)为在非同步型的分散系统中应用nag法。但并非简单地套用公式,而是考虑了sn,这一点是本发明的一大特征。更新公式(6)还采用加权更新的主要项对与过时sn相应的未来的参数进行预测。具体而言,将当前时刻的动量从当前开始依次加上γ∈(0,1)的乘方的权重,再进行加总而得到的与时刻τ的参数w(τ)相加则为p(τ)。计算出p(τ),对应于在时刻τ预测从时刻t进一步受到更新的主要项即动量项的变更后的参数,在该含义下本说明书中将p(τ)也称作预测值。即本发明中的预测值p(τ)依赖于sn,通过下述公式(7)表示。

采用图6进行更详细的说明。图6中示出了,微分值计算周期与参数更新周期相等,因此过时sn=2(也即t-τ=2)的例子。

图6(a)示出了参数更新部3的处理。例如参数更新部3在时刻(τ-2)~(τ-1)之间进行参数更新,在时刻(τ-1)得到了参数w(τ-1)。以下同样地,在时刻τ,(τ+1),(τ+2),(τ+3)分别得到参数wτ,w(τ+1),w(τ+2),w(τ+3)

图6(b)示出了某一个(编号n的)微分值计算部2接收参数w(τ),计算出微分值并发送给参数更新部3。

图6(c)示出了从时刻t到时刻(t+1)的参数更新。更具体地,示出了微分值计算部2使用参数w(τ)计算出微分值,参数更新部3使用该微分值更新参数w(t)得到参数w(t+1)的情况。由于s=2,所以w(t)=w(τ+2),w(t+1)=w(τ+3)

更详细的是这样的,微分值计算部2接收到参数w(τ)(符号22)后,使用动量项v(τ)(符号21)根据上述公式(7)计算出预测值p(τ)(符号23)。该预测值p(τ)位于参数w(τ-1)到参数w(τ)的直线上。也即,微分值计算部2根据某个时间点τ的参数w(τ)和其前面的时间点(τ-1)的参数w(τ-1),线性地计算出预测值p(τ)

需注意的是,过时sn越大则预测值p(τ)与参数w(τ)的距离越大。这是因为,过时sn越大,也就是说时刻τ与时刻t之差越大,则时刻t中的参数w(τ)越被较大程度地更新。

接下来微分值计算部2计算出预测值p(τ)的微分值(省略了符号24的箭头、学习系数η)。该预测值p(τ)是预测后述的符号23’所示的点的值。

这样,在微分值计算部2完成微分值的计算的时间点,参数更新部3结束参数w(τ+1)的计算,正在对可得到w(τ+2)的w(τ+1)进行更新。之后,在时刻(τ+2)(=τ+sn)得到参数w(τ+2)(参照图6(a),(b))。

之后参数更新部3从微分值计算部2接收上述微分值。然后参数更新部3给参数w(τ+2)与动量项γv(τ+2)相加而得到的点(符号23’)进一步加上微分值(符号24’的箭头),更新参数w(τ+2),得到参数w(τ+3)(符号25)。

如此,微分值计算部2并不是对接收时的时刻τ中的参数w(τ)直接进行微分,而是计算出预测值p(τ)并计算其微分值。本发明预测点23’,其预测值为p(τ)(符号23)。也就是说,原来应采用点23’处的微分,但是实际采用预测值p(τ)处的微分,两者间的距离d1是误差。而不进行这样的预测的现有技术,原来应采用参数w(t)处的微分,但是实际采用参数w(τ)处的微分,两者间的距离d2为误差。

图7为在过时s为45的非同步型分散学习系统中比较本发明的误差d1与现有技术的误差d2的图表。其中示出的现有技术为非同步的动量法,微分值计算使用参数w(τ)。如图所示,与现有技术的误差d2相比,本发明能够将误差d1降低到1/34的程度。也即能够减小计算微分值时使用的参数w(τ),和使用该微分值实施更新的参数w(t)之间的距离(误差),提高微分近似精度。

需说明的是,更新公式(7)中示出了根据两个连续的参数w(τ-1),w(τ)线性地计算出预测值p(τ)的例子。但是微分值计算部2也可以使用时刻τ以前的连续或不连续的任意数目的参数,线性或非线性地计算预测值p(τ)

例如,微分值计算部2可以根据3个连续的参数w(τ-2),w(τ-1),w(τ)采用2次函数计算出预测值p(τ)。此时,预测值p(τ)位于从3个点w(τ-2),w(τ-1),w(τ)通过的2次函数上,参数w(τ)和预测值p(τ)之间的距离根据过时s来确定。总之,微分值计算部2除了用至少两个参数(某个时间点的参数以及其之前的时间点的参数),还可以再使用过时s来计算预测值p(τ)

作为另一个例子,为线性预测,可以根据下面的公式计算预测值p(τ)

p(τ)=w(τ)+cv(τ)

这里c为动量系数,例如这样来设定最佳值。在正式学习之前先进行预备学习,取得参数的时序变化并保存。然后可以通过线性最小乘方法来推定使得图6(c)所示的误差d1最小的动量系数c。通过在与正式的学习相同的学习系统中进行预备学习,得到反应出过时的最佳动量系数c。或者也可以在正式的学习时推定动量系数c。通过这样所设定的动量系数c用于正式的学习,能够实现高速化。

第1实施方式中,在非同步型的分散处理中考虑过时s计算微分值。因此,即使是非同步的情况,也即即使是进行微分的时间点的参数与参数更新时的参数不一致的情况,也能够提高微分的近似精度。结果目的函数的下降速度增大,能够高速地更新参数。

(第2实施方式)

下面对第1实施方式的改良进行说明。在学习的早期有时微分值的绝对值较大。这样一来,在学习的早期参数更新容易变得不稳定。具体而言,目的函数的变动如果过大,则有可能发生下降速度变得较小,目的函数的值无限度地发散等现象。

在经验上,这种不安定性是学习早期特有的,在学习的中间阶段或后半阶段则没有问题。为改善学习早期的不安定性,优选采用下面的方法。

第一个例子是,在参数更新部3采用微分值与学习系数η相乘得到的值进行参数更新时,可以让学习系数η在学习的早期取较小的值,随着学习的推进将其逐渐增大直到变为目的值。这意味着在学习的早期降低参数更新的步骤幅度,能够将要预测的参数的范围限定在较小的范围内。收到了能够有效改善不稳定性的结果。

第二个例子是,微分值计算部2可以让动量系数γ在学习的早期取较小的值,随着学习的推进将其逐渐增大直到变为目的值。这种情况下,在学习的早期动量项v的效果较小,能够更加近似地实现非同步的基本的更新公式,稳定性可期。

第一个例子与第二个例子中,均优选在微分值有可能「跑飞」的学习早期过去之后,调到目的值。

第三个例子是,在学习的早期采用能够稳定工作的学习法(例如同步型学习法)作为事先学习,学习早期过去之后再进行上述第1实施方式的参数更新。

第四个例子是,在学习的早期便采用第1实施方式的参数更新,但应用阈值操作使得所得到的参数的更新量的绝对值不超过某个值。

第五个例子是,在学习的早期便采用第1实施方式的参数更新,但对更新量进行重新调节以使得所得到的参数的更新量标准不超过某个值。

需注意的是,可以任意组合使用第一~第五个例子中的至少两个例子。

通过这样,第2实施例能够防止在学习的早期目的函数变得不稳定。

【实施例】

图8是示出重复进行了学习时的错误率变迁的图表。横轴为时刻或更新次数。纵轴为错误率即识别的不正确率。曲线f1为在第1实施方式中应用第2实施方式的第一个例子的结果。曲线f2~f4为参考,依次是非同步型动量法、同步型动量法以及同步型nag法的结果。小批量大小均大约相同(约为256),cnn结构为10层的卷积层、1层的全结合层与5层的池化层。

如图所示,如果错误率以20%为目标,则本发明的曲线f1比其他曲线f2~f4更短时间(曲线f3的大约一半)达到目标。这一点表现出了本发明的有用性。

上述的实施方式是以具备本发明所属技术领域的通常知识的人能够实施本发明为目的而记载的。对于本领域技术人员而言,上述实施方式的各种变形是不言而喻的,本发明的技术思想也可以适用于其他实施方式。因此本发明并不通过所描述的实施方式来限定,而应以依据权利要求书所定义的技术思想的最宽的范围为准。

附图标记说明

1节点

2微分值计算部

3参数更新部

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