[发明专利]一种神经网络训练方法及装置在审
申请号: | 201610930411.X | 申请日: | 2016-10-31 |
公开(公告)号: | CN108021981A | 公开(公告)日: | 2018-05-11 |
发明(设计)人: | 陈云霁;庄毅敏;郭崎;陈天石 | 申请(专利权)人: | 北京中科寒武纪科技有限公司 |
主分类号: | G06N3/08 | 分类号: | G06N3/08 |
代理公司: | 中科专利商标代理有限责任公司 11021 | 代理人: | 任岩 |
地址: | 100190 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 神经网络 训练 方法 装置 | ||
本发明提供了一种神经网络训练装置及方法,用于对神经网络中的参数进行训练,方法首先采用非线性函数对所述参数进行非线性变换,得到变换参数,然后对变换参数转换进行位宽转换,得到低位宽变换参数,接着,通过神经网络反向过程,获取低位宽变换参数的待更新梯度值,根据非线性函数和所述低位宽变换参数的待更新梯度值,得到非线性变换前参数的待更新梯度值,最后根据参数的待更新梯度值,对参数进行更新。本发明使得训练后的参数具有较低的位宽并且精度损失较小。
技术领域
本发明属于神经网络技术领域,具体涉及一种神经网络训练方法及装置。
背景技术
多层神经网络由于其具有较高的识别准确度和较好的可并行性,受到学术界和工业界越来越广泛的关注,在模式识别、图像处理和自然语言处理等多个领域也有着越来越多的应用。
神经网络由于其庞大的模型参数数据,使之难以应用于嵌入式系统,研究人员通过多种方式减少存储这些模型参数所需的存储空间,最常用的是采用低精度的数据表示方法存储数据,例如采用16位浮点型数据表示方法,16位定点型数据表示方法,更有甚者采用1bit的二值数据表示方法。相比于原精度的浮点数据表示方法,采用低精度的数据表示方法可以减少数据存储空间,然而由于神经网络模型参数数据数值范围非常广,采用低精度的数据表示方法会带来极大的精度损失,影响神经网络的性能。
发明内容
(一)要解决的技术问题
本发明的目的在于,提供一种神经网络训练方法及装置,用于对神经网络中的参数进行训练,以使得训练后的参数具有低位宽并且精度损失较小。
(二)技术方案
本发明提供一种神经网络训练方法,用于对神经网络中的参数进行训练,方法包括:
S1,采用非线性函数对参数进行非线性变换,得到变换参数;
S2,对变换参数转换进行低位宽转换,得到低位宽变换参数;
S3,通过神经网络反向过程,获取低位宽变换参数的待更新梯度值,根据非线性函数和所述低位宽变换参数的待更新梯度值,得到非线性变换前参数的待更新梯度值;
S4,根据参数的待更新梯度值,对参数进行更新。
进一步,步骤S3中,低位宽变换参数的待更新梯度值Δy为:
其中,η为神经网络的学习率,
非线性变换前所述参数的待更新梯度值为:
Δx=f′(x)Δy;
步骤S4中,对参数进行更新的表达式为:
x
进一步,非线性函数为双曲正切系列函数或者sigmoid系列函数。
进一步,参数包括神经网络的权值和偏置。
进一步,对更新后的参数重复执行步骤S1~S4,直到参数小于一预定阈值时,训练完成。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京中科寒武纪科技有限公司,未经北京中科寒武纪科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201610930411.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:火炬长明灯火焰监测装置
- 下一篇:一种礼仪庆典专用可减振且能自动收放的投光灯