首页> 中国专利> 基于临界阻尼动量的深度神经网络的训练方法及系统

基于临界阻尼动量的深度神经网络的训练方法及系统

摘要

本发明公开了一种基于临界阻尼动量的深度神经网络的训练方法及系统,该方法包括:S1:开始新一轮的迭代;S2:输入一批新图像,计算神经网络的损失函数的海塞矩阵的迹,其中所述海塞矩阵是损失函数对神经网络各参数的二阶导数所构成的矩阵;S3:根据海塞矩阵的迹代入二阶微分方程的临界阻尼解,计算得到神经网络权重参数的动量系数;S4:配合学习率衰减策略,更新神经网络的参数;S5:判断是否所有图像批次都已计算,如果是,则执行步骤S6;如果否,则返回步骤S2;S6:判断迭代轮次是否达到最大,如果是,则结束训练,如果否,则返回步骤S1。本发明对包含动量的随机梯度下降方法进行了改进,达到了较为理想的训练效果。

著录项

  • 公开/公告号CN112488309A

    专利类型发明专利

  • 公开/公告日2021-03-12

    原文格式PDF

  • 申请/专利权人 清华大学深圳国际研究生院;

    申请/专利号CN202011521458.3

  • 发明设计人 王好谦;蔡宇麟;王兴政;

    申请日2020-12-21

  • 分类号G06N3/063(20060101);G06N3/08(20060101);G06K9/62(20060101);G06F17/16(20060101);G06F17/13(20060101);

  • 代理机构44223 深圳新创友知识产权代理有限公司;

  • 代理人方艳平

  • 地址 518055 广东省深圳市南山区西丽街道深圳大学城清华校区A栋二楼

  • 入库时间 2023-06-19 10:11:51

说明书

技术领域

本发明涉及机器学习、数值方法技术领域,尤其涉及一种基于临界阻尼动量的深度神经网络的训练方法及系统。

背景技术

深度神经网络已经在计算机视觉、自然语言处理、计算机图形学等领域展现出优异的性能。随着深度神经网络在网络层数、拓扑结构等方面的日益复杂化,深度神经网络的参数量也与日俱增,目前业界最新的神经网络的参数数目已经达到10

神经网络训练的优化经常需要借助于数值方法。近年来,在众多优化算法中,随机梯度下降(SGD)、自适应动量估计(Adam)等数值算法在图像分类、语义分割等任务中表现较为出色,能够使目标网络的损失函数在一定的迭代次数后达到或接近其极小值,成为深度学习研究人员普遍采用的训练策略。然而,SGD算法的迭代速度比较慢,而且其学习率是一个仅能凭经验设定的超参数。当学习率设置得太小或太大时,神经网络参数的迭代很容易出现步幅过缓或者剧烈振荡的问题。Adam算法虽然在一定条件下能够获得比SGD更快的速度,但它适用的网络类型比SGD少,而且在某些特殊情况下还可能不收敛。

以上背景技术内容的公开仅用于辅助理解本发明的构思及技术方案,其并不必然属于本专利申请的现有技术,在没有明确的证据表明上述内容在本专利申请的申请日已经公开的情况下,上述背景技术不应当用于评价本申请的新颖性和创造性。

发明内容

为解决上述技术问题,本发明提出一种基于临界阻尼动量的深度神经网络的训练方法及系统,对包含动量的随机梯度下降方法进行了改进,达到了较为理想的训练效果。

为达到上述目的,本发明采用以下技术方案:

本发明公开了一种基于临界阻尼动量的深度神经网络的训练方法,包括以下步骤:

S1:开始新一轮的迭代;

S2:输入一批新图像,计算神经网络的损失函数的海塞矩阵的迹,其中所述海塞矩阵是损失函数对神经网络各参数的二阶导数所构成的矩阵;

S3:根据海塞矩阵的迹代入二阶微分方程的临界阻尼解,计算得到神经网络权重参数的动量系数;

S4:配合学习率衰减策略,更新神经网络的参数;

S5:判断是否所有图像批次都已计算,如果是,则执行步骤S6;如果否,则返回步骤S2;

S6:判断迭代轮次是否达到最大,如果是,则结束训练,如果否,则返回步骤S1。

优选地,步骤S2具体包括:

S21:输入一批新图像;

S22:前向传播,计算神经网络的损失函数L;

S23:反向传播,计算神经网络的损失函数的梯度向量g;

S24:生成拉特马赫随机向量v,以计算梯度向量积g

S25:根据梯度向量积g

S26:根据海塞矩阵H与拉特马赫随机向量v的乘积计算海塞矩阵的迹Tr(H);

S27:判断海塞矩阵的迹Tr(H)的精度是否符合条件,如果是,则输出海塞矩阵的迹Tr(H),如果否,则返回步骤S24。

优选地,步骤S26具体包括:使用哈特钦森向量积迭代算法以根据海塞矩阵H与拉特马赫随机向量v的乘积计算神经网络的损失函数的海塞矩阵的迹:

其中,E表示求均值,v为拉特马赫随机向量,H为海塞矩阵,下标m表示第m次迭代所得的值,M为所有计算出的拉特马赫随机向量v的总个数。

优选地,步骤S25具体包括:采用下列反向传播方式计算海塞矩阵H与拉特马赫随机向量v的乘积:

其中,

优选地,步骤S27中判断海塞矩阵的迹Tr(H)的精度是否符合条件具体包括:

根据下式的控制条件来确定M的取值:

其中,ε为误差控制阈值,如果上式的控制条件被满足时,则海塞矩阵的迹Tr(H)的精度符合条件,停止计算,输出海塞矩阵的迹Tr(H);否则海塞矩阵的迹Tr(H)的精度不符合条件,继续增大M值进行计算;进一步地,ε≤10

优选地,步骤S3具体包括:采用下式计算动量系数:

其中,ρ

优选地,步骤S4具体包括:将步骤S3计算得到的动量系数ρ

优选地,步骤S4中配合学习率衰减策略,更新神经网络的参数具体包括:采用下式对学习率进行衰减:

其中,α

进一步地,衰减系数c设置为0.1,N=50。

本发明还公开了一种基于临界阻尼动量的深度神经网络的训练系统,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现上述的深度神经网络的训练方法的步骤。

本发明另外还公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现上述的深度神经网络的训练方法的步骤。

与现有技术相比,本发明的有益效果在于:本发明提出了一种基于临界阻尼动量的深度神经网络训练方法及系统,对于输入的每一批图像数据使用哈特钦森向量积迭代算法计算其海塞矩阵的迹,利用二阶微分方程解的临界阻尼特性计算得到动量系数,并在训练过程中对优化器的参数设置进行平滑切换;本方法将神经网络的训练过程转化为二阶微分方程解的最速收敛问题,对随机梯度下降算法中的动量信息进行了动态更新。相比于其他常用的训练算法,本方法利用了神经网络参数隐含的二阶信息(即网络损失函数对网络参数的海塞矩阵),结合二阶微分方程解的临界阻尼特性计算出更优化的动量系数,从而在训练中后期达到更快的收敛速度;经过同样的训练循环次数,采用本方法的神经网络模型在统计意义上具有更高的准确度和更小的损失,有利于加速神经网络训练和部署的进程。

附图说明

图1是本发明优选实施例的基于临界阻尼动量的深度神经网络训练方法的流程图;

图2是图1中的步骤S2的具体流程图;

图3是本发明进一步的实施例的基于临界阻尼动量的深度神经网络训练方法的流程图。

具体实施方式

为了使本发明实施例所要解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,本发明优选实施例公开了一种基于临界阻尼动量的深度神经网络训练方法,包括以下步骤:

S1:开始新一轮的迭代;

S2:输入一批新图像,计算神经网络的损失函数的海塞矩阵的迹;

具体地,对于输入的每一批图像数据使用哈特钦森(Hutchinson)向量积迭代算法计算其损失函数海塞(Hessian)矩阵的迹(即海塞矩阵对角线元素之和)。

如图2所示,步骤S2具体包括:

S21:输入一批新图像;

S22:前向传播,计算神经网络的损失函数L;

S23:反向传播,计算神经网络的损失函数的梯度向量g;

S24:生成拉特马赫随机向量v,以计算梯度向量积g

S25:根据梯度向量积g

其中,采用下列反向传播方式计算海塞矩阵H与拉特马赫随机向量v的乘积:

式中,

S26:根据海塞矩阵H与拉特马赫随机向量v的乘积计算海塞矩阵的迹Tr(H);

其中,采用如下的哈特钦森向量积迭代算法计算其损失函数海塞矩阵的迹:

式中,E表示求均值,v为与神经网络权重参数向量w尺寸相同的拉特马赫(Rademacher)随机向量,H为损失函数对神经网络各参数的二阶导数所构成的海塞矩阵,下标m表示第m次迭代所得的值,M为所有计算出的向量v的总个数。为节约计算和存储成本,每次迭代从网络中随机抽取相同尺寸的向量w。

S27:判断海塞矩阵的迹Tr(H)的精度是否符合条件,如果是,则输出海塞矩阵的迹Tr(H),如果否,则返回步骤S24。

其中,采用如下的控制条件确定M的取值以保证海塞矩阵的迹的精度:

式中,ε为误差控制阈值。在本实施例中,ε=10

S3:将海塞矩阵的迹代入二阶微分方程的临界阻尼解,计算得到神经网络权重参数的动量系数;

具体地,采用下述公式计算神经网络权重参数的动量系数:

式中,ρ

S4:配合学习率衰减策略,随网络训练迭代次数的增加对优化器的参数设置进行平滑切换。

具体地,如图3所示,将步骤S3计算得到的动量系数ρ

随着迭代次数的增加采用学习率衰减(StepLR)策略,在控制更新步长的同时对动量系数ρ

其中,α

S5:判断是否所有图像批次都已计算,如果是,则执行步骤S6;如果否,则返回步骤S2;

S6:判断迭代轮次是否达到最大,如果是,则结束训练,如果否,则返回步骤S1。

本发明公开的基于临界阻尼动量的深度神经网络训练方法,该方法包括:对于输入的每一批图像数据使用哈特钦森(Hutchinson)向量积迭代算法计算其海森(Hessian)矩阵的迹,利用二阶微分方程解的临界阻尼特性计算得到动量系数,并在训练过程中对优化器的参数设置进行平滑切换。本方法将神经网络的训练过程转化为二阶微分方程解的最速收敛问题,对随机梯度下降算法中的动量信息进行了动态更新。相比于其他常用的训练算法,本方法利用了神经网络参数隐含的二阶信息(即网络损失函数对网络参数的海塞矩阵),结合二阶微分方程解的临界阻尼特性计算出更优化的动量系数,从而在训练中后期达到更快的收敛速度。经过同样的训练循环次数,采用本方法的神经网络模型在统计意义上具有更高的准确度和更小的损失,有利于加速神经网络训练和部署的进程。

下述以具体实例对本发明的基于临界阻尼动量的深度神经网络训练方法的效果进行测试。

实验使用ResNet-20、ResNet-32、ResNet-56等经典深度神经网络在Cifar-10数据集上进行分类任务的训练。Cifar-10数据集下载地址:http://www.cs.toronto.edu/~kriz/cifar-10-python.tar.gz。

Cifar-10数据集共有60000张彩色图片,共分为10类,其中50000张为训练集,10000张为测试集。训练时,设置初始学习率为0.1,初始动量系数为0.9,批大小(BatchSize)为128。网络的损失函数采用交叉熵函数和均方差函数的线性组合。

实验使用分类准确率(Acc)作为网络训练效果的评价指标,Acc的计算公式为:

式中,TP代表正确分类图片张数,FP代表错误分类图片张数。

下表为经过相同的迭代循环次数,本发明优选实施例的方法训练的准确率与实验所用的神经网络的作者所训练数据(下称原始数据)的对比,结果如表1所示。原始数据来源于:https://arxiv.org/pdf/1512.03385.pdf。

表1本方法与原始数据的准确率的比较

通过表1中的数据对比可以看出,本发明优选实施例提出的方法训练得到的深度神经网络的效果更佳,具有更高的准确度和更小的损失,从而有利于加速神经网络训练和部署的进程。

本发明另一优选实施例还公开了一种基于临界阻尼动量的深度神经网络的训练系统,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求上述的深度神经网络的训练方法的步骤,在此不再赘述。

本发明还有一优选实施例公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,所述计算机可执行指令促使处理器实现上述的深度神经网络的训练方法的步骤,在此不再赘述。

以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的技术人员来说,在不脱离本发明构思的前提下,还可以做出若干等同替代或明显变型,而且性能或用途相同,都应当视为属于本发明的保护范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号