一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

存储介质、量化方法和量化装置与流程

2022-06-05 19:41:56 来源:中国专利 TAG:


1.本文讨论的实施方式涉及存储介质、量化方法和量化装置。


背景技术:

2.已知量化作为用于减少变得越来越复杂的神经网络(neural network,nn)的执行时间的方法。
3.在量化中,通过将神经网络中使用的权重的数据类型(例如,fp32)转换为包括较小数据大小的数据类型(int8),减少了计算时间和通信时间。
4.已知用于针对每个层自动设置不导致识别率劣化的数据类型的最优化算法,作为相关技术的量化技术。
5.在相关技术的这样的最优化算法中,将量化目标矢量的量化误差与由基于信赖域方法的算法确定的阈值进行比较,并且根据该比较结果临时计算位宽。在信赖域方法中,为了避免由近似误差导致的位宽的错误确定,将阈值缩放为小于或等于信赖域半径。
6.利用设置临时计算的位宽来多次迭代地执行训练。此后,计算评价函数。
7.根据是否满足通过使用临时计算的位宽计算的损失函数小于或等于在理想条件下计算的损失函数(理想损失函数)的约束条件来更新位宽和信赖域半径。
8.例如,如果计算的损失函数小于或等于理想损失函数,则通过使用临时计算的位宽的值来更新位宽,并且通过将当前信赖域半径乘以常数“a”来增大信赖域半径。在这种情况下,常数“a”是大于1的值(“a”>1)。另一方面,如果计算的损失函数大于理想损失函数,则维持位宽的值,丢弃临时计算的位宽的值,并且通过将当前信赖域半径乘以常数“a”来减小信赖域半径。在这种情况下,常数“a”是小于1的值(“a”<1)。
9.在量化算法中,对于所有量化目标层,以预指定的迭代次数重复执行这些处理步骤。
10.作为相关技术,公开了国际公开小册子第2020/049681号和日本特许专利公开第2020-9048号。


技术实现要素:

11.[技术问题]
[0012]
在相关技术的这样的量化技术中,可以通过增加迭代次数来使位宽确定地收敛。然而,增加迭代次数增加了执行时间。另一方面,当优化所用的时间段有限时,在该时间段内,位宽可能不能充分地量化。由于量化不足,神经网络的训练时间也增加。
[0013]
在一个方面,目的是使得能够在短时间内优化所有层。
[0014]
[问题解决方案]
[0015]
根据实施方式的一个方面,一种存储量化程序的非暂态计算机可读存储介质,所述量化程序使至少一个计算机执行处理,所述处理包括:针对神经网络的所有层计算分别在信赖域半径阈值与第一位宽的量化误差之间的差,所述第一位宽比第二位宽窄一级;基
于所述差来计算所有层的每个缩放系数;通过使用缩放系数中的最小值来更新信赖域半径;以及通过基于信赖域设置的第三位宽来量化神经网络的参数。
[0016]
[发明的有益效果]
[0017]
根据实施方式,可以在短时间内优化所有层。
附图说明
[0018]
图1是示出用作实施方式的示例的信息处理装置的硬件配置的示例的图;
[0019]
图2是示出用作实施方式的示例的信息处理装置的功能配置的示例的图;
[0020]
图3是示出神经网络的概观的图;
[0021]
图4是示出用作实施方式的示例的信息处理装置中的量化目标矢量的示例的图;
[0022]
图5是用于描述由用作实施方式的示例的信息处理装置的差计算单元计算的差的图;
[0023]
图6是用于描述由用作实施方式的示例的信息处理装置的差计算单元计算的差的图;
[0024]
图7是示出用作实施方式的示例的信息处理装置中的量化误差与阈值之间的关系的图;
[0025]
图8是示出用作实施方式的示例的信息处理装置中的量化误差与阈值之间的关系的图;
[0026]
图9是用于描述在用作实施方式的示例的信息处理装置中执行的量化处理的流程图;
[0027]
图10是用于描述在用作实施方式的示例的信息处理装置中执行的量化处理的流程图;
[0028]
图11是示出由用作实施方式的示例的信息处理装置执行的量化的结果的示例的图;以及
[0029]
图12是示出由用作实施方式的示例的信息处理装置执行的量化的结果的示例的图。
具体实施方式
[0030]
下面将参照附图描述量化程序、量化方法和量化装置的实施方式。以下所呈现的实施方式仅是示例,并且不旨在排除未在实施方式中明确描述的各种修改示例和技术的应用。例如,在不脱离本实施方式的主旨的情况下,可以对本实施方式进行各种修改。各个附图不表示仅包括其中示出的组成部件。因此,可以包括其他功能等。
[0031]
(a)配置
[0032]
图1是示出用作实施方式的示例的信息处理装置1的硬件配置的示例的图。
[0033]
信息处理装置1是实现量化神经网络的计算机。如图1所示,信息处理装置1包括中央处理单元(central processing unit,cpu)10、存储器11和加速器12。cpu 10、存储器11和加速器12通过通信总线13彼此耦接,以便能够彼此通信。通信总线13使得能够在信息处理装置1中进行数据通信。
[0034]
存储器11是包括只读存储器(read-only memory,rom)和随机存取存储器
(random-access memory,ram)的存储存储器。在存储器11的rom中,写入与量化处理相关的软件程序和用于该程序的数据。存储器11上的软件程序由cpu 10适当地读取和执行。存储器11的ram用作主存储存储器或工作存储器。存储器11的ram还存储诸如在量化中使用的权重、各种阈值等的参数。
[0035]
加速器12执行待被执行以用于神经网络中的计算的计算处理,例如矩阵计算。
[0036]
cpu 10是执行各种控制和计算的处理设备(处理器)。cpu 10基于安装的程序控制整个信息处理装置1。cpu 10执行存储在存储器11等中的深度学习处理程序(未示出),并且因此实现深度学习处理单元100(图2)的功能,这将在稍后描述。
[0037]
深度学习处理程序可以包括量化程序。cpu 10执行存储在存储器11等中的量化程序(未示出),并且因此实现量化处理单元101(图2)的功能,这将在稍后描述。
[0038]
信息处理装置1的cpu 10执行深度学习处理程序(量化程序),并且因此用作深度学习处理单元100(量化处理单元101)。
[0039]
用于实现深度学习处理单元100(量化处理单元101)的功能的程序(量化程序)以记录在计算机可读记录介质上的形式提供,所述计算机可读记录介质例如是软盘、诸如cd-rom、可记录cd(cd-r)或可重写cd(cd-rw)的压缩盘(compact disc,cd)、诸如dvd-rom、dvd-ram、dvd-r、dvd r、dvd-rw、dvd rw或高清晰度(high-definition,hd)dvd的数字通用盘(digital versatile disc,dvd)、蓝光盘、磁盘、光盘或磁光盘。计算机(信息处理装置1)从记录介质读取程序,将程序传送到内部存储设备或外部存储设备并将程序存储在内部存储设备或外部存储设备中,并且使用该程序。例如,程序可以被记录在诸如磁盘、光盘或磁光盘的存储设备(记录介质)中,并且可以经由通信信道从存储设备提供给计算机。
[0040]
当实现深度学习处理单元100(量化处理单元101)的功能时,由计算机的微处理器(本实施方式中的cpu 10)执行存储在内部存储设备(本实施方式中的存储器11的ram或rom)中的程序。此时,计算机可以读取并执行记录在记录介质上的程序。
[0041]
图2是示出用作实施方式的示例的信息处理装置1的功能配置的示例的图。
[0042]
如图2所示,信息处理装置1具有深度学习处理单元100的功能。深度学习处理单元100在神经网络中执行深度学习。
[0043]
神经网络可以是硬件电路或基于软件的虚拟网络,其中由cpu 10等虚拟地构建在计算机程序中的层彼此耦合。
[0044]
图3示出了神经网络的概观。图3中示出的神经网络是包括输入层与输出层之间的多个隐藏层的深度神经网络。隐藏层例如是卷积层、池化层、完全连接层等。在各个层中示出的圆圈表示执行相应的特定计算的节点。
[0045]
例如,神经网络接收输入到输入层的诸如图像或声音的输入数据,并且在由卷积层、池化层等构成的隐藏层中顺序地执行特定计算。以这种方式,神经网络执行前向处理(前向传播处理),其中,通过计算获得的信息从输入侧顺序地传播到输出侧。在执行前向处理之后,执行用于确定待在前向处理中使用的参数的后向处理(后向传播处理),以便减小根据从输出层输出的输出数据获得的误差函数的值,并且校正答案数据。基于后向传播处理的结果,执行用于更新诸如权重的变量的更新处理。例如,使用梯度下降作为用于确定待在后向传播处理中的计算中使用的权重的更新宽度的算法。
[0046]
深度学习处理单元100包括量化处理单元101。
[0047]
量化处理单元101对待在神经网络中使用的变量进行量化。在信息处理装置1中,量化处理单元101通过减小每层中的权重矢量的位宽来实现量化。信息处理装置1使用信赖域方法。
[0048]
如图2所示,量化处理单元101具有量化误差计算单元106、阈值生成单元107、位宽设置单元102、差计算单元103、缩放系数计算单元104和信赖域半径更新单元105的功能。
[0049]
量化误差计算单元106计算待在神经网络中的计算中使用的矢量的量化误差。由于可以用各种已知方法来实现量化误差的计算,因此将省略对其的描述。
[0050]
图4是示出用作实施方式的示例的信息处理装置1中的量化目标矢量的示例的图。
[0051]
将给出图4中示出的层1的权重矢量w1和层2的权重矢量w2由信息处理装置1进行量化的示例。
[0052]
阈值生成单元107基于所设置的信赖域半径和位宽,生成信赖域半径阈值。在下文中,在一些情况下,信赖域半径阈值可以被简称为阈值。例如,阈值生成单元107通过使用所设置的位宽来计算损失和梯度,并且根据以下用于推导的表达式(1)来计算信赖域半径阈值。
[0053][0054]
在以上表达式(1)中,δw表示量化误差。l(w δw)表示经量化的基本模型(例如,int16)的损失函数。l(w)表示基本模型(例如,int32)的损失函数。l
ideal
表示例如在不进行量化的情况下用fp32计算的损失函数(理想损失函数)。l
margin
表示经量化模型的损失函数l(w δw)相对于理想损失函数l
ideal
的损失函数余量的量,并且该余量的量由设计者设置。
[0055]
在量化的情况下的损失函数l(w δw)经过泰勒展开。设置约束,使得即使执行量化,损失函数也小于通过将余量l
margin
与理想值l
ideal
(利用fp32的损失函数)相加而获得的量。
[0056]
通过针对量化误差重新整理以上表达式(1)来导出满足约束条件的量化误差的上限,该上限等于阈值。
[0057]
阈值生成单元107设置(缩放)阈值,使得阈值的l2范数(||q
th
||2)小于或等于信赖域半径。在下文中,在一些情况下,阈值可以由参考符号q
th
表示。
[0058]
位宽设置单元102设置每层中的权重矢量的位宽。
[0059]
位宽设置单元102计算理想条件下的损失函数(理想损失函数)l
ideal

[0060]
位宽设置单元102临时计算位宽。位宽设置单元102临时计算多个位宽候选中的、量化误差小于或等于计算的阈值的最小位宽。假设信息处理装置1使用三种类型(三级)的位宽[8、16、32]作为位宽候选。
[0061]
位宽设置单元102检查临时计算的位宽是否满足约束条件。位宽设置单元102确定基于临时计算的位宽的损失函数(l
tmp
)是否小于或等于理想损失函数(l
ideal
)作为约束条
件。
[0062]
如果损失函数(l
tmp
)小于或等于理想损失函数(l
ideal
),例如,如果满足约束条件,则位宽设置单元102将临时计算的位宽设置为位宽。如果满足约束条件,则位宽设置单元102通过将当前的信赖域半径乘以常数(大于1的值)来增大信赖域半径。
[0063]
另一方面,如果损失函数(l
tmp
)大于理想损失函数(l
ideal
),例如,如果不满足约束条件,则位宽设置单元102保持位宽的值,丢弃临时计算的位宽的值,并且通过将当前信赖域半径乘以常数(小于1的值)来减小信赖域半径。
[0064]
差计算单元103针对所有量化目标矢量(所有层),测量分别在信赖域半径阈值(q
th
)与下述位宽的量化误差之间的差(q
diff
),所述位宽比由位宽设置单元102临时计算的位宽窄一级。
[0065]
图5和图6中的每个是用于描述由用作本实施方式的示例的信息处理装置1的差计算单元103计算的差(q
diff
)的图。图5是示出层1的权重矢量w1的量化误差的图。图6是示出层2的权重矢量w2的量化误差的图。
[0066]
在图5所示的示例中,假设临时计算的位宽是16位。层1的阈值1由参考符号q
th,1
表示,并且层1的差由参考符号q
diff,1
表示。可以概括每层的阈值和差,使得层k的阈值由参考符号q
th,k
表示,并且层k的差由参考符号q
diff,k
表示。
[0067]
差计算单元103对阈值1(q
th,1
)与比临时计算的为16的位宽(16位)窄一级的为8的位宽(8位)的量化误差(参见参考符号p1)之间的差q
diff,1
(参见参考符号p2)进行测量(计算)。
[0068]
在图6所示的示例中,假设临时计算的位宽是32位。层2的阈值2由参考符号q
th,2
表示,并且层2的差由参考符号q
diff,2
表示。
[0069]
差计算单元103对阈值2(q
th,2
)与比临时计算的为32的位宽(32位)窄一级的为16的位宽(16位)的量化误差(参见参考符号p3)之间的差q
diff,2
(参见参考符号p4)进行测量(计算)。
[0070]
缩放系数计算单元104计算所有量化目标矢量(所有层)的缩放系数(q
scale
)。
[0071]
缩放系数(q
scale
)是为了将由差计算单元103在由稍后描述的信赖域半径更新单元105执行的乘法中计算的差(q
diff
)用作系数而获得的值。
[0072]
缩放系数计算单元104通过使用各个阈值(q
th
)和分别在阈值与比临时计算的位宽窄一级的位宽的量化误差之间的各个差(q
diff
),对全部量化目标矢量计算各个缩放系数q
scale

[0073]
缩放系数计算单元104通过使用以下表达式(2)来计算缩放系数(q
scale
)。
[0074]qscale,k
=1 q
diff,k
/q
th,k
ꢀꢀꢀ
(2)
[0075]
在以上表达式(2)中,以概括方式表示缩放系数,并且k表示层号。表达式(2)表示下述缩放系数,利用该缩放系数,下一信赖域半径的上限(例如阈值)与比此时临时计算的位宽窄一级的位宽的量化误差相匹配。
[0076]
根据以上表达式(2),层1的缩放系数由以下表达式(3)表示。
[0077]qscale,1
=1 q
diff,1
/q
th,1
ꢀꢀꢀꢀ
(3)
[0078]
根据以上表达式(2),层2的缩放系数由以下表达式(4)表示。
[0079]qscale,2
=1 q
diff,2
/q
th,2
ꢀꢀꢀꢀ
(4)
[0080]
在阈值与比临时计算的位宽窄一级的位宽的量化误差之间没有差(q
diff
)的情况下,未获得缩放系数。
[0081]
缩放系数计算单元104选择针对每层获得的所有缩放系数中的最小值作为最小缩放系数q
scale,min
)。
[0082]
如果下一阈值由于缩放系数而变得过大,有可能要计算出难以满足诸如“所有层的位宽=8位”的约束条件的位宽组合。因此,在信息处理装置1中,选择最小缩放系数以便逐渐地改变位宽。
[0083]
最小缩放系数q
scale,min
)由以下表达式(5)表示。
[0084]qscale,min
=min(q
scale,1
,q
scale,2
)
ꢀꢀꢀꢀ
(5)
[0085]
信赖域半径更新单元105更新信赖域半径。
[0086]
信赖域半径更新单元105通过使用以下表达式(6)更新信赖域半径。下一信赖域半径=当前信赖域半径
×
max(常数“a”,q
scale,min
)
ꢀꢀꢀ
(6)
[0087]
常数“a”是在相关技术的方法中用于增大或减小信赖域半径的特定常数(信赖域半径更新常数)。信赖域半径更新单元105通过使用信赖域半径更新常数“a”(以下在一些情况下可以简称为常数“a”)和缩放系数(q
scale,min
)中的较大值来更新信赖域半径。
[0088]
缩放系数q
scale,min
包括上述差(q
diff
)。因此,如果选择缩放系数q
scale

min
,则下次计算不同的位宽。因此,在“常数“a”>q
scale,min”的情况下,即使选择了常数a,下次也计算不同的位宽。
[0089]
图7和图8中的每个是示出用作实施方式的示例的信息处理装置1中的量化误差与阈值之间的关系的图。图7是示出层1的权重矢量w1的量化误差的图。图8是示出层2的权重矢量w2的量化误差的图。
[0090]
在图7和图8的每个中,上侧示出了信赖域半径被更新之前的状态,并且下侧示出了信赖域半径被更新之后的状态。图7和图8中示出的示例呈现了q
scale,2
被选择为q
scale,min
的情况。例如,示出了通过使用q
scale,2
来更新信赖域半径的示例。
[0091]
图7示出了以下示例,其中在层1中临时计算的位宽是16位,但是即使在通过使用q
scale,2
更新信赖域半径之后,下次要选择的位宽也是16位并且不改变。如果以这种方式,窄一级的位宽的量化误差大于阈值q
th,k
,则不更新位宽。
[0092]
另一方面,在图8所示的层2中,临时计算的位宽是32位,但是在通过使用q
scale,2
更新信赖域半径之后,下一信赖域半径的上限(=阈值)与矢量的量化误差匹配。因此,下次要选择的位宽是16位,这指示选择了与前一次选择的位宽不同的位宽。
[0093]
(b)操作
[0094]
将根据图9和图10的流程图(步骤s1至s17)描述在用作如上所述配置的实施方式的示例的信息处理装置1中执行的量化处理。图9示出了步骤s1至s6,并且图10示出了步骤s7至s17。
[0095]
在图9的步骤s1中,量化处理单元101执行初始化处理。例如,量化处理单元101设置位宽的初始值,并且计算理想损失函数(目标值)。
[0096]
在图9的步骤s2中,阈值生成单元107计算阈值q
th
。阈值生成单元107通过使用设置的位宽计算阈值q
th
。此时,阈值生成单元107将阈值设置成使得阈值q
th
的l2范数小于或等于信赖域半径。
[0097]
在图9的步骤s3中,阈值生成单元107检查阈值q
th
的l2范数是否小于或等于信赖域半径。如果阈值q
th
的l2范数小于或等于信赖域半径(参见步骤s3中的“是”路径),则处理进行到图9中的步骤s5。
[0098]
另一方面,如果阈值q
th
的l2范数大于信赖域半径(参见步骤s3中的“否”路径),则处理进行到步骤s4。在图9的步骤s4中,阈值生成单元107缩放阈值,使得阈值q
th
的l2范数等于信赖域半径。然后,处理进行到步骤s5。
[0099]
在步骤s5中,位宽设置单元102临时计算位宽。位宽设置单元102临时计算多个位宽候选中的、量化误差小于或等于计算的阈值的最小位宽。
[0100]
在图9的步骤s6中,位宽设置单元102检查临时计算的位宽是否满足约束条件。作为图10的步骤s7中的约束条件,位宽设置单元102确定基于临时计算的位宽的损失函数(l
tmp
)是否小于或等于理想损失函数(l
ideal
)。
[0101]
如果损失函数(l
tmp
)小于或等于理想损失函数(l
ideal
),例如,如果满足约束条件(参见步骤s7中的“是”路径),则位宽设置单元102在图10的步骤s8中将临时计算的位宽设置为位宽。设置位宽可以被称为确定位宽。
[0102]
在图10的步骤s9中,差计算单元103针对所有量化目标矢量(所有层),测量分别在阈值(q
th
)与比由位宽设置单元102临时计算的位宽窄一级的位宽的量化误差之间的差(q
diff
)。
[0103]
在图10的步骤s10中,缩放系数计算单元104通过使用上述表达式(2),对所有量化目标矢量(所有层)计算缩放系数(q
scale
)。
[0104]
在图10的步骤s11中,缩放系数计算单元104选择并输出所有计算的缩放系数中的最小缩放系数(q
scale,min
)。
[0105]
在图10的步骤s12中,信赖域半径更新单元105通过使用上述表达式(6)来更新(增大)信赖域半径。然后,处理进行到步骤s15。
[0106]
另一方面,作为步骤s7中的检查的结果,如果损失函数(l
tmp
)大于理想损失函数(l
ideal
),例如,如果不满足约束条件(参见步骤s7中的“否”路径),则处理进行到图10中的步骤s13。
[0107]
在步骤s13中,位宽设置单元102保持位宽的值,并且丢弃临时计算的位宽的值。
[0108]
在图10的步骤s14中,位宽设置单元102通过将当前信赖域半径乘以常数“a”(“a”是小于1的值)来减小信赖域半径。
[0109]
量化处理单元101重复执行步骤s2至s14的处理(位宽确定处理),直到在图10的步骤s15中满足收敛条件。例如,量化处理单元101对执行步骤s2至s14的处理的次数(确定次数)进行计数,并且在图10的步骤s16中检查确定次数是否达到预指定次数。
[0110]
作为检查的结果,如果确定次数没有达到指定的次数(参见步骤s16中的“否”路径),则处理返回到图9中的步骤s2。另一方面,如果确定次数已经达到指定的次数(参见步骤s16中的“是”路径),则量化处理单元101在图10中的步骤s17中输出确定的位宽。量化处理单元101可以针对每层将确定的位宽存储在存储器11的某个存储区域中、存储设备(未示出)等中。量化处理单元101通过使用针对每层确定的位宽来执行量化。然后,该处理结束。
[0111]
(c)效果
[0112]
如上所述,根据用作实施方式的示例的信息处理装置1,差计算单元103针对所有
量化目标矢量(所有层)测量分别在阈值(q
th
)与比由位宽设置单元102临时计算的位宽窄一级的位宽的量化误差之间的差(q
diff
)。
[0113]
缩放系数计算单元104针对所有量化目标矢量(所有层)计算缩放系数(q
scale
),并且选择针对各个层获得的所有缩放系数中的最小值作为最小缩放系数(q
scale,min
)。
[0114]
信赖域半径更新单元105通过使用常数“a”和缩放系数(q
scale,min
)中的较大值来更新信赖域半径。因此,在位宽确定处理中,作为信赖域半径被更新之后的各层的位宽的组合,选择与先前位宽不同的、并且更新后的信赖域半径的上限(=阈值)与矢量的量化误差相匹配的位宽。
[0115]
因此,每次对于不同的位宽组合确定临时计算的位宽是否满足约束条件。例如,对于相同的位宽组合,不以重复的方式执行关于是否满足约束条件的确定。
[0116]
因此,不对重复位宽组合执行确定,并且可以有效地执行位宽确定。例如,所有层可以在短时间内被优化。
[0117]
可以在有限的优化周期内充分量化位宽。可以减少直到优化位宽应用算法的次数,并且可以减少计算时间和计算成本。与相关技术的技术相比,量化的程度增加。结果,可以减少神经网络的训练时间。
[0118]
在相关技术的量化技术中为位宽收敛而执行大量迭代的原因在于,存在再次确定约束条件是否满足已经执行了一次确定的位宽组合的情况。作为再次利用已经执行了一次确定的位宽组合来确定约束条件的结果,执行重复工作。这增加了量化处理的时间。
[0119]
相反,在信息处理装置1中,不执行重复位宽组合的确定,并且可以有效地执行位宽确定。
[0120]
图11和图12中的每个是示出由用作实施方式的示例的信息处理装置1执行的量化的结果的示例的图。
[0121]
在图11中,水平轴表示时期的数目,并且竖直轴表示验证准确率。如图11所示,表示即使当通过由信息处理装置1执行的量化对于所有层将位宽设置为8位时(在通过使用qint8训练所有层的情况下),也执行能够在不降低识别率(验证准确率)的情况下进行训练的位宽调整(量化)。
[0122]
在图12中,水平轴表示确定次数,并且竖直轴表示确定的位宽。如图12所示,通过由信息处理装置1执行的量化,在优化时段(应用次数=10次)内,对于所有层将位宽设置为(确定为)8位。
[0123]
(d)其他
[0124]
所公开的技术不限于上述实施方式,并且可以在不脱离本实施方式的要旨的情况下以各种修改来执行。可以适当地选择性采用或省略或者可以适当地组合在本实施方式中描述的各个配置和各个处理。
[0125]
例如,在上述实施方式中,已经描述了通过减小每层中的权重矢量的位宽来实现量化的示例。然而,该配置不限于此。例如,本公开内容可以应用于激活、加权梯度、激活梯度等的量化,并且可以利用各种修改来执行。
[0126]
上述公开内容使得本领域技术人员能够实现或制造该实施方式。
[0127]
(e)附记
[0128]
关于以上实施方式,将进一步公开所附附记。
[0129]
1.一种存储量化程序的非暂态计算机可读存储介质,所述量化程序使至少一个计算机执行处理,所述处理包括:
[0130]
针对神经网络的所有层,计算分别在信赖域半径阈值与第一位宽的量化误差之间的差,所述第一位宽比第二位宽窄一级;
[0131]
基于所述差来计算所有层的每个缩放系数;
[0132]
通过使用所述缩放系数中的最小值来更新信赖域半径;以及
[0133]
通过基于信赖域设置的第三位宽来量化所述神经网络的参数。
[0134]
2.根据附记1所述的非暂态计算机可读存储介质,其中,所述处理还包括:
[0135]
通过将所述信赖域半径乘以所述缩放系数中的最小值来更新所述信赖域半径。
[0136]
3.根据附记2所述的非暂态计算机可读存储介质,其中,所述处理还包括:
[0137]
通过将所述信赖域半径乘以下述值中的较大值来更新所述信赖域半径:所述缩放系数中的最小值和用于更新所述信赖域半径的常数。
[0138]
4.一种用于使计算机执行处理的量化方法,所述处理包括:
[0139]
针对神经网络的所有层,计算分别在信赖域半径阈值与第一位宽的量化误差之间的差,所述第一位宽比第二位宽窄一级;
[0140]
基于所述差来计算所有层的每个缩放系数;
[0141]
通过使用所述缩放系数中的最小值来更新信赖域半径;以及
[0142]
通过基于信赖域设置的第三位宽来量化所述神经网络的参数。
[0143]
5.根据附记4所述的量化方法,其中,所述处理还包括:
[0144]
通过将所述信赖域半径乘以所述缩放系数中的最小值来更新所述信赖域半径。
[0145]
6.根据附记5所述的量化方法,其中,所述处理还包括:
[0146]
通过将所述信赖域半径乘以下述值中的较大值来更新所述信赖域半径:所述缩放系数中的最小值和用于更新所述信赖域半径的常数。
[0147]
7.一种量化装置,包括:
[0148]
一个或更多个存储器;以及
[0149]
耦接至所述一个或更多个存储器的一个或更多个处理器,并且所述一个或更多个处理器被配置成:
[0150]
针对神经网络的所有层,计算分别在信赖域半径阈值与第一位宽的量化误差之间的差,所述第一位宽比第二位宽窄一级;
[0151]
基于所述差来计算所有层的每个缩放系数;
[0152]
通过使用所述缩放系数中的最小值来更新信赖域半径;以及
[0153]
通过基于信赖域设置的第三位宽来量化所述神经网络的参数。
[0154]
8.根据附记7所述的量化装置,其中,所述一个或更多个处理器还被配置成:
[0155]
通过将所述信赖域半径乘以所述缩放系数中的最小值来更新所述信赖域半径。
[0156]
9.根据附记8所述的量化装置,其中,所述一个或更多个处理器还被配置成:
[0157]
通过将所述信赖域半径乘以下述值中的较大值来更新所述信赖域半径:所述缩放系数中的最小值和用于更新所述信赖域半径的常数。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献