数据处理方法、神经网络的训练方法及相关装置、设备制造方法及图纸

技术编号:29874378 阅读:18 留言:0更新日期:2021-08-31 23:49
本申请提供了一种数据处理方法、神经网络的训练方法及相关装置、设备,方法应用于训练设备,方法包括:将神经网络的模型参数设置为浮点数进行训练,直到训练设备训练第一神经网络达到收敛状态;确定训练后的第一神经网络中第l个卷积层包含的各个卷积核之间的相关度;其中,卷积核对应的相关度越大,训练设备在进行计算时产生的冗余计算越多;将M个卷积核进行量化训练,直至训练设备训练第一神经网络达到收敛状态,得到量化后的第二神经网络;其中,其中,M为大于0的正整数;M个卷积核为相关度较高的前M个卷积核。实施本申请,可以在提高神经网络的运算效率的同时,尽可能地保持神经网络的运算精度。

【技术实现步骤摘要】
数据处理方法、神经网络的训练方法及相关装置、设备
本申请涉及人工智能
,尤其涉及一种数据处理方法、神经网络的训练方法及相关装置、设备。
技术介绍
人工智能(ArtificialIntelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式作出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与搜索,AI基础理论等。神经网络(NeuralNetwork,NN)作为人工智能的重要分支,是一种模仿动物神经网络行为特征进行信息处理的网络结构。神经网络的结构由大量的节点(或称神经元)相互联接构成,基于特定运算模型通过对输入信息进行学习和训练达到处理信息的目的。一个神经网络包括输入层、隐藏层及输出层,输入层负责接收输入信号,输出层负责输出神经网络的计算结果,隐藏层负责学习、训练等计算过程,是网络的记忆单元,隐藏层的记忆功能由权重矩阵来表征,通常每个神经元对应一个权重系数。现有技术中,神经网络(neuralnetwork,NN)、深度神经网络(deepneuralnetworks,DNN)等机器学习模型已经被应用于各种领域中,例如,图片分类、物体检测、语音识别等,并取得了良好的效果。随着神经网络模型的不断加深和加宽,神经网络模型的性能不断提升,但是神经网络模型过拟合的问题也日益突出。具体来说,神经网络模型过拟合的问题可以体现在:神经网络模型通过训练数据集可以获取比较好的模型精度,而在一个新的数据集下(例如,新的数据集为测试数据集),获取得到的神经网络的模型精度往往比较差,这意味着神经网络模型的泛化能力弱。目前,可以通过对神经网络的模型参数(例如,权值)进行量化训练来有效解决神经网络模型过拟合的问题。具体来说,对神经网络的模型参数进行量化训练是指,将神经网络的模型参数由浮点数设置为整型数的训练过程。以卷积神经网络为例,由于卷积核可以看作一个权值矩阵,在对该卷积网络进行量化训练时,一般将卷积神经网络包含的所有卷积核中的权值均设置为整型数,这一实现方式可以提高卷积神经网络的运算效率,然而,该卷积神经网络的模型精度低。因此,如何在提高神经网络的运算效率的同时,尽可能地保持神经网络的运算精度是急需解决的技术问题。
技术实现思路
本申请提供了一种数据处理方法、神经网络的训练方法及相关装置、设备,由于量化后的神经网络保留了卷积核的绝大多数信息,可以在提高神经网络的运算效率的同时,尽可能地保持神经网络的运算精度。第一方面,提供了一种神经网络的训练方法,所述方法应用于训练设备,所述方法包括:将第一神经网络的模型参数设置为浮点数进行训练,直到所述训练设备训练所述第一神经网络达到收敛状态;确定训练后的所述第一神经网络中第l个卷积层包含的各个卷积核之间的相关度;其中,所述相关度用于表征所述第l个卷积层包含的各个卷积核之间的关联程度;所述第一神经网络包括L个卷积层,所述L为大于0的正整数;所述l的取值依次为1到L;其中,卷积核对应的相关度越大,所述训练设备在进行计算时产生的冗余计算越多;将M个卷积核进行量化训练,直至所述训练设备训练所述第一神经网络达到所述收敛状态,得到量化后的第二神经网络;其中,M为大于0的正整数;所述M个卷积核为相关度较高的前M个卷积核。实施本申请实施例,将第一神经网络的模型参数设置为浮点数进行训练,当训练设备训练第一神经网络达到收敛状态时,确定训练后的第一神经网络中每一个卷积层包含的各个卷积核之间的相关度,之后,将相关度较高的前M个卷积核进行量化训练,而其他的卷积核仍然保持浮点数,由于这一实现方式保留了卷积核的绝大多数信息,即:采用低比特量化的方式,而非采用去除整个卷积核或将卷积核中的多数权值设置为0,可以提高神经网络模型的泛化能力。在一种可能的实现方式中,所述量化后的第二神经网络包括量化后的模型参数;所述方法还包括:通过验证数据集,对设置为浮点数的所述量化后的模型参数进行训练,在所述第二神经网络的模型精度的变化值大于第一阈值的情况下,更新所述量化后的模型参数,重复执行对设置为浮点数的所述量化后的模型参数进行训练的步骤,直至最终量化后的所述第二神经网络满足所述第二神经网络的模型精度的变化值小于或等于第一阈值。实施本申请实施例,考虑到量化后的第二神经网络的性能小于设定好的条件(例如,第二神经网络的模型精度过低),此时,通过迭代训练的方式对第一神经网络进行训练,直至得到最终量化后的第二神经网络。由于神经网络在训练阶段经历了多次将部分模型参数设置为整型数而后又将模型参数设置为浮点数进行训练的过程,使得训练好的第二神经网络的模型精度不发生变化,当通过测试数据集进行测试时,可以避免测试精度低的情形,从而可以提高神经网络模型的泛化能力。在一种可能的实现方式中,所述第l卷积层包括第l权值张量和所述第l卷积层对应的输出通道数;所述确定训练后的所述第一神经网络中第l个卷积层包含的各个卷积核之间的相关度,包括:根据所述第l权值张量、所述第l权值张量的转置以及所述第l卷积层的输出通道数确定第l协方差矩阵;根据所述第l协方差矩阵获取所述第l卷积层包含的各个卷积核各自对应的目标向量;其中,所述目标向量用于表征所述各个卷积核各自对应的相关度。在一种可能的实现方式中,所述将M个卷积核进行量化训练,包括:将所述M个卷积核按照设置的目标运算属性的值进行量化训练。在一种可能的实现方式中,所述将所述M个卷积核按照设置的目标运算属性的值进行量化训练之前,还包括:设置所述M个卷积核的运算属性的值,通过训练数据集对所述M个卷积核,按照设置的运算属性的值进行训练,得到所述第一神经网络在不同的运算属性的值下的模型参数;根据所述第一神经网络在不同的运算属性的值下的模型参数确定测试精度大于第二阈值的至少一种运算属性的值作为所述目标运算属性的值。实施本申请实施例,由于第一神经网络在目标运算属性的值下的模型参数可以保证测试精度大于设定好的阈值,可以提高神经网络的泛化能力。在一种可能的实现方式中,所述M为小于等于10的正整数。实施本申请实施例,由于第一神经网络中的大部分卷积核仍然保持浮点数,小部分卷积核为整形数据,这一实现方式可以在提高神经网络的运算效率的同时,尽可能地保持神经网络的运算精度。第二方面,本申请实施例提供了一种数据处理方法,该方法包括:接收输入数据;将所述输入数据输入到训练好的第二神经网络,通过所述第二神经网络对所述输入数据进行处理,得到处理结果;其中,所述训练好的第二神经网络为通过上述第一方面任一项所述的神经网络的训练方法得到的;输出所述处理结果。实施本申请实施例,由于训练好的第二神经网络的泛化能力强,当通过训练好的第二神经网络对输入数据进行处理时,可以提高输本文档来自技高网
...

【技术保护点】
1.一种神经网络的训练方法,其特征在于,所述方法应用于训练设备,所述方法包括:/n将第一神经网络的模型参数设置为浮点数进行训练,直到所述训练设备训练所述第一神经网络达到收敛状态;/n确定训练后的所述第一神经网络中第l个卷积层包含的各个卷积核之间的相关度;其中,所述相关度用于表征所述第l个卷积层包含的各个卷积核之间的关联程度;所述第一神经网络包括L个卷积层,所述L为大于0的正整数;所述l的取值依次为1到L;其中,卷积核对应的相关度越大,所述训练设备在进行计算时产生的冗余计算越多;/n将M个卷积核进行量化训练,直至所述训练设备训练所述第一神经网络达到所述收敛状态,得到量化后的第二神经网络其中,M为大于0的正整数;所述M个卷积核为相关度较高的前M个卷积核。/n

【技术特征摘要】
1.一种神经网络的训练方法,其特征在于,所述方法应用于训练设备,所述方法包括:
将第一神经网络的模型参数设置为浮点数进行训练,直到所述训练设备训练所述第一神经网络达到收敛状态;
确定训练后的所述第一神经网络中第l个卷积层包含的各个卷积核之间的相关度;其中,所述相关度用于表征所述第l个卷积层包含的各个卷积核之间的关联程度;所述第一神经网络包括L个卷积层,所述L为大于0的正整数;所述l的取值依次为1到L;其中,卷积核对应的相关度越大,所述训练设备在进行计算时产生的冗余计算越多;
将M个卷积核进行量化训练,直至所述训练设备训练所述第一神经网络达到所述收敛状态,得到量化后的第二神经网络其中,M为大于0的正整数;所述M个卷积核为相关度较高的前M个卷积核。


2.根据权利要求1所述的方法,其特征在于,所述量化后的第二神经网络包括量化后的模型参数;所述方法还包括:
通过验证数据集,对设置为浮点数的所述量化后的模型参数进行训练,在所述第二神经网络的模型精度的变化值大于第一阈值的情况下,更新所述量化后的模型参数,重复执行对设置为浮点数的所述量化后的模型参数进行训练的步骤,直至最终量化后的所述第二神经网络满足所述第二神经网络的模型精度的变化值小于或等于第一阈值。


3.根据权利要求1所述的方法,其特征在于,所述第l卷积层包括第l权值张量和所述第l卷积层对应的输出通道数;所述确定训练后的所述第一神经网络中第l个卷积层包含的各个卷积核之间的相关度,包括:
根据所述第l权值张量、所述第l权值张量的转置以及所述第l卷积层的输出通道数确定第l协方差矩阵;
根据所述第l协方差矩阵获取所述第l卷积层包含的各个卷积核各自对应的目标向量;其中,所述目标向量用于表征所述各个卷积核各自对应的相关度。


4.根据权利要求1所述的方法,其特征在于,所述将M个卷积核进行量化训练,包括:
将所述M个卷积核按照设置的目标运算属性的值进行量化训练。


5.根据权利要求4所述的方法,其特征在于,所述将所述M个卷积核按照设置的目标运算属性的值进行量化训练之前,还包括:
设置所述M个卷积核的运算属性的值,通过训练数据集对所述M个卷积核,按照设置的运算属性的值进行训练,得到所述第一神经网络在不同的运算属性的值下的模型参数;
根据所述第一神经网络在不同的运算属性的值下的模型参数确定测试精度大于第二阈值的至少一种运算属性的值作为所述目标运算属性的值。


6.根据权利要求1-5任一项所述的方法,其特征在于,所述M为小于等于10的正整数。


7.一种数据处理方法,其特征在于,包括:
接收输入数据;
将所述输入数据输入到训练好的第二神经网络,通过所述第二神经网络对所述输入数据进行处理,得到处理结果;其中,所述训练好的第二神经网络为通过如权利要求1-6任一项所述的神经网络的训练方法得到的;
输出所述处理结果。


8.一种神经网络的训练装置,其特征在于,包括:
第一训练单元,用于将第一神经网络的模型参数设置为浮点数进行训练,直到所述训练设备训练所述第一神经网络达到收敛状态;
第一确定单元,用于确定训练后的所述第一神经网络中第l个卷积层包含的各个卷积核之间的相关度;其中,所述相关度用于表征所述第l个卷积层包含的各个卷积核之间的关联程度;所述第一神经网络包括L个卷积层,所述L为大于0的正整数;所述l的取值依次为1到L;其中,卷积核对应的相关度越大,所述训练设备在进行计算时产生的冗余计算越多;

【专利技术属性】
技术研发人员:程健隋志成周力白立勋蒋洪睿
申请(专利权)人:华为技术有限公司中国科学院自动化研究所
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1