用于更新人工神经网络的方法技术

技术编号:33627629 阅读:15 留言:0更新日期:2022-06-02 01:16
根据一方面,本公开提出了一种用于更新人工神经网络的方法,该人工神经网络包括至少以整数格式存储在存储器中的初始权重,该方法包括:处理单元确定在神经网络的层的输出处的误差梯度;处理单元从存储器中取回初始权重;处理单元更新初始权重,包括:对于每个初始权重,以该初始权重的整数格式,进行经校正的权重的第一计算;处理单元利用经校正的权重的值代替存储在存储器中的初始权重的值。存储在存储器中的初始权重的值。存储在存储器中的初始权重的值。

【技术实现步骤摘要】
用于更新人工神经网络的方法
[0001]相关申请的交叉引用
[0002]本申请要求于2020年11月24日提交的法国专利申请No.2012081的优先权,该申请在此通过整体引用并入本文中。


[0003]本公开总体上涉及人工神经网络,并且在特定的实施例,涉及更新人工神经网络的层中的权重。

技术介绍

[0004]人工神经网络在其运行时用于执行给定的功能。例如,神经网络的一个功能可以是分类。另一个功能可以主要在于根据接收的输入信号生成信号。
[0005]人工神经网络通常包括神经元层的连续。每个层在其输入处接收被施加权重的数据,并且在由层的神经元激活功能处理后输出数据。输出数据继而被传递到神经网络中的下一层。
[0006]权重是能够被配置为获得正确输出数据的参数。
[0007]神经网络可以例如由硬件平台(诸如被集成到互联对象的微控制器)实现。
[0008]神经网络通常在在被集成到最终硬件平台之前的学习阶段期间被训练。学习阶段可以被监督。学习阶段允许神经网络的权重被调整以从神经网络获得正确的输出数据,其中神经网络可以通过输入来自参考数据库的已经分类的数据运行。权重适于根据来自相对于预期数据的神经网络的输出数据而变化。
[0009]此外,在被集成到硬件平台之前,神经网络可以被量化以加速其运行以及减少存储器需求。特别地,神经网络的量化可以包括神经网络数据格式(诸如权重)的改变,可以是浮点格式的权重被改变为整数格式。
[0010]量化神经网络获得较轻的神经网络,诸如可以由大量硬件平台执行的(例如,由微控制器运行)神经网络。
[0011]此外,在一些实施例中,在神经网络已经被嵌入最后的硬件平台中之后,更新层的权重可以是有利的。
[0012]更具体地,例如神经网络可以使用如下数据进行训练,该数据不是代表其中神经网络在已经被嵌入在硬件平台之后被实现的环境。
[0013]因此,在学习阶段执行的权重的适配对于实现神经网络的环境可以是非优选的。更新神经网络的权重因此允许神经网络被适配于其使用的环境。
[0014]权重可以由梯度反向传播方法更新,该方法对本领域技术人员是众所周知的。该方法使用浮点权重格式。特别地,神经网络的以整数表示的权重被转换以获得浮点权重格式。使用浮点权重执行梯度反向传播可能要求大量的存储器资源。
[0015]当最终硬件平台不具有充足的资源以执行该更新时,神经网络的权重因此可以使用远程服务器更新。经更新的神经网络继而被量化以获得整数权重格式。经更新的经量化
的神经网络继而经由互联网使用无线传输被传送到最终硬件平台。
[0016]因此,所需的存储器资源不总是允许最终硬件平台来更新自身。此外,将经更新的经量化的神经网络传送到硬件平台被消耗的功率相比硬件平台是高的。然而,硬件平台通常具有受限功率量。
[0017]此外,将权重转换到浮点格式以执行梯度反向传播是存储器密集的。因此,具有用于允许神经网络由最终硬件平台直接更新的方法是有利的。

技术实现思路

[0018]根据一方面,本公开提出一种用于更新人工神经网络的方法,该人工神经网络包括至少以整形格式存储在存储器中的初始权重,该方法包括:处理单元确定在神经网络的层的输出处的误差梯度;处理单元从存储器取回初始权重;处理单元更新初始权重,包括:对于每个初始权重,以该初始权重的整数格式,根据下述公式对经校正的权重进行第一计算:其中是经校正的权重的值,是初始权重的值,λ是学习速率,Scale(n)是权重的量化步长,是相对于权重的误差梯度的和,以及round()函数是到最接近的整数的向上舍入或向下舍入;处理单元利用经校正的权重的值代替存储在存储器中的初始权重的值。
[0019]因此,每个权重通过如下操作而被更新:向该权重增加由学习速率λ与用于表示初始权重的量化步长之间的比率乘以相对于权重的误差梯度的和的舍入结果。计算被执行以更新权重直接给出以整数格式的权重。这样的更新方法因此避免涉及浮点权重格式的需要。结果,被需求以执行更新的存储器资源被最小化。
[0020]用于更新权重的方法因此可以通过使用神经网络的最终硬件平台被直接实现。例如,这种用于更新权重的方法可以由微控制器直接实现。因此,在远程服务器更新权重可以被避免。用于更新权重的方法因此使限制功耗成为可能,特别是当由最终硬件平台实现时。此外,由于计算在整数格式的权重上直接实现,这种更新方法的实现是快速的。
[0021]最终硬件平台因此可以常规地根据最终硬件平台所位于的环境中获取的新数据来适配神经网络。优选地,根据被本领域技术人员熟知的所谓“批(batch)”方法计算相对于权重相关的误差梯度的和。
[0022]在一个有利的实现中,初始权重对于从神经网络的最后一层到第一层的每个神经网络层被更新。
[0023]在一个有利的实现中,用于确定经校正的权重的值的舍入方法是随机舍入。
[0024]此外,经校正的权重的值在若干权重更新后可以改变,以及因此可以开始不同于在第一更新之前的神经网络的权重的值。经校正的权重有利地被重新量化以避免权重的饱和或低值权重的准确性的损失。因此,在一个有利的实现中,更新权重还包括经校正的权重的量化。
[0025]经校正的权重的量化允许关于神经网络的运行保持良好的性能水平。
[0026]在一个有利的实现中,神经网络层的经校正的权重的量化包括:确定来自层的经校正的权重的集合中的最小权重以及最大权重,该集合包括将被量化的经校正的权重。
[0027]当层被均匀量化时,该集合可以是层的权重的集合;或当层在被逐通道量化时,该集合可以是层的相同通道的权重的集合。
[0028]在一个有利的实现中,经校正的权重的量化还包括:处理单元取回与存储在存储器中的初始权重相关联的零点值,处理单元使用下面的公式更新与经校正的权重相关联的零点值:
[0029]其中Zp(n+1)是经更新的零点值,minq和maxq分别是权重根据权重格式能够采取的最小值以及最大值,min(n)=Scale(n).min
q
(n)

Zp(n),并且max(n)=Scale(n).max
a
(n)

Zp(n),Zp(n)是存储在存储器中的零值点,minq(n)是权重的集合的经校正的权重的最小值,以及maxq(n)为权重的集合的经校正的权重的最大值;处理单元利用经更新的零值点代替存储在存储器中的零点值。
[0030]clip()函数被配置为将表达式的值保持在范围[minq;maxq]内。
[0031]int()函数返回等于表达式的结果的整数。
[0032]例如,当权重是非对称的8位无符号格式时,最小值minq等于0,并且最大值maxq等于255。当权重是对称的8位有符号格式时,最小值minq等于

127,并且最大值maxq等于127。
[0033]在一个有利的实现中,本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种方法,包括:由处理器确定人工神经网络的层的输出处的误差梯度;由所述处理器从存储器取回所述人工神经网络的初始权重,所述初始权重至少为整数格式;由所述处理器将所述初始权重更新为经校正的权重,每个初始权重基于该初始权重的值、学习速率、该初始权重的量化步长、以及相对于该初始权重的所述误差梯度的和被更新为经校正的权重;以及由所述处理器在所述存储器中利用所述经校正的权重代替所述初始权重的值。2.根据权利要求1所述的方法,其中每个初始权重基于如下公式被更新为所述经校正的权重:其中是所述经校正的权重的值,是该初始权重的值,λ是所述学习速率,Scale(n)是该初始权重的所述量化步长的值,是相对于该初始权重的所述误差梯度的所述和,以及round()是用于向上舍入或向下舍入到最接近的整数的函数。3.根据权利要求2所述的方法,其中所述round()函数是随机舍入。4.根据权利要求1所述的方法,其中将所述初始权重更新为经校正的权重包括:对于从所述人工神经网络的最后一层到第一层的所述人工神经网络的每个层进行更新。5.根据权利要求1所述的方法,其中所述初始权重的更新还包括所述人工神经网络的每个层的所述经校正的权重的量化,所述经校正的权重的量化包括从包括将被量化的所述经校正的权重的所述每个层的所述经校正的权重的集合中确定最小权重以及最大权重。6.根据权利要求1所述的方法,其中所述初始权重的更新还包括所述人工神经网络的每个层的所述经校正的权重的量化,每个经校正的权重的所述量化包括:由所述处理器取回与对应的来自存储器的所述初始权重相关联的零点值;由所述处理器基于如下公式更新与所述每个经校正的权重相关联的所述零点值:其中Zp(n+1)是经更新的所述零点值,minq和maxq分别是所述经校正的权重能够采用的最小值以及最大值,Zp(n)是存储在存储器中的所述零点值,minq(n)是经校正的权重的集合中的所述经校正的权重的最小值,并且maxq(n)是经校正的权重的集合中的所述经校正的权重的最大值,并且其中min(n)=Scale(n).max
q
(n)

Zp(n),并且max(n)=Scale(n).max
q
(n)

Zp(n);以及由所述处理器在存储器中使用经更新的所述零点值代替所述零点值。7.根据权利要求6所述的方法,其中每个经校正的权重的量化还包括:由所述处理器从存储器中取回所述初始权重的量化步长的值;由所述处理器基于如下公式更新所述量化步长的值:其中Scale(n+1)是经更新的所述量化步长的值,minq(n)是权重的集合中的所述经校正的权重的最小值,maxq(n)是所述权重的集合中的所述经校正的权重的最大值;以及
由所述处理器在存储器中使用经更新的所述量化步长代替所述量化步长的值。8.根据权利要求7所述的方法,其中所述经校正的权重包括基于如下公式计算所述经校正的权重的量化值:其中是所述经校正的权重的所述量化值。9.权利要求1所述的方法,还包括:对于所述人工神经网络的每个层,计算决策制定标准;对于每个层,将所述决策制定标准与阈值进行比较;以及对于每个层,根据所述比较的结果,对所述层的每个经校正的权重均匀地量化所述经校正的权重,或对所述层的逐通道独立地量化所述经校正的权重。10.根据权利要求9所述的方法,其中所述决策制定标准基于如下公式计算:其中Scale
l
(n+1)是能够针对整个层定义的量化步长,并且min(Scale
c
(n+1))是从能够针对所述层的每个通道定义的所述量化步长中的最小量化...

【专利技术属性】
技术研发人员:P
申请(专利权)人:意法半导体鲁塞公司
类型:发明
国别省市:

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

1