The embodiment of the present invention provides a method and device for quantifying the activation quantity of deep neural network, in which the activation quantity quantization method of deep neural network includes: obtaining the initial quantization maximum value of activation quantity for the activation quantity of network layer in deep neural network; starting from the initial quantization maximum value, decreasing in a preset manner, obtaining an initial set of values including multiple values. Calculate the reconstruction error between the quantization result and the activation amount quantized by the values in the initial set of values to be selected; determine the minimum reconstruction error among the reconstruction errors corresponding to each value; determine the first quantization maximum value based on the values corresponding to the minimum reconstruction error; and quantify the activation amount according to the first quantization maximum value and the number of preset bits. Through this scheme, the error caused by quantization can be reduced.
【技术实现步骤摘要】
一种深度神经网络的激活量量化方法及装置
本专利技术涉及机器学习
,特别是涉及一种深度神经网络的激活量量化方法及装置。
技术介绍
深度神经网络作为机器学习研究中的一个新兴领域,通过模仿人脑的机制来解析数据,是一种通过建立和模拟人脑进行分析学习的智能模型。目前,深度神经网络在图像分类、目标检测、目标跟踪、语音识别等方面已经成为了主流的应用方法。但是,由于深度神经网络中每个网络层都有大量的数据参与运算,并且,参与运算的每一个数据都是较大比特数的浮点数据,使得所需要的硬件计算资源非常巨大,导致硬件成本和带宽消耗都非常大。针对上述问题,相关的深度神经网络中,提出了对输入数据进行量化的思想,将大比特数的浮点数据,量化为较低比特数的定点数据,由于量化后的定点数据具有较低的比特数,使得参与运算的数据量得以降低,从而能够降低深度神经网络在运算过程中硬件计算资源和带宽资源的消耗。上述深度神经网络中,针对各网络层,对量化最大值的范围进行限定,并根据量化最大值的范围计算得到步长值,按照该步长值对输入数据进行量化。由于量化最大值的范围为通过实验得到的经验数据,得到的步长值也与经验数据 ...
【技术保护点】
1.一种深度神经网络的激活量量化方法,其特征在于,所述方法包括:针对深度神经网络中网络层的激活量,获取所述激活量的初始量化最大值;从所述初始量化最大值开始,按预设方式递减,得到包括多个数值的初始待选数值集合;计算利用所述初始待选数值集合中各数值对所述激活量进行量化得到的量化结果与所述激活量之间的重构误差;确定各数值对应的重构误差中的最小重构误差;基于与所述最小重构误差相对应的数值,确定第一量化最大值;根据所述第一量化最大值及预设比特数,对所述激活量进行量化。
【技术特征摘要】
1.一种深度神经网络的激活量量化方法,其特征在于,所述方法包括:针对深度神经网络中网络层的激活量,获取所述激活量的初始量化最大值;从所述初始量化最大值开始,按预设方式递减,得到包括多个数值的初始待选数值集合;计算利用所述初始待选数值集合中各数值对所述激活量进行量化得到的量化结果与所述激活量之间的重构误差;确定各数值对应的重构误差中的最小重构误差;基于与所述最小重构误差相对应的数值,确定第一量化最大值;根据所述第一量化最大值及预设比特数,对所述激活量进行量化。2.根据权利要求1所述的方法,其特征在于,所述从所述初始量化最大值开始,按预设方式递减,得到包括多个数值的初始待选数值集合,包括:从所述初始量化最大值开始,每次以除以2的方式递减,得到多个数值;将所述多个数值组合成为初始待选数值集合。3.根据权利要求1所述的方法,其特征在于,所述基于与所述最小重构误差相对应的数值,确定第一量化最大值,包括:将与所述最小重构误差相对应的数值确定为第一量化最大值。4.根据权利要求1所述的方法,其特征在于,所确定的各数值对应的重构误差中的最小重构误差,作为所述初始待选数值集合对应的最小重构误差;在所述根据所述第一量化最大值及预设比特数,对所述激活量进行量化之后,所述方法还包括:获取对量化后的激活量进行深度神经网络运算,得到的运算结果;对比所述运算结果与预设任务结果之间的差异;如果所述差异大于第一预设阈值,则通过将包含所述初始待选数值集合对应的最小重构误差的预设区间划分为新的待选数值集合,查找使得所述新的待选数值集合对应的最小重构误差与上一次得到的待选数值集合对应的最小重构误差之间的差值小于第二预设阈值的第二量化最大值,并根据所述第二量化最大值及预设比特数,对所述激活量进行量化。5.根据权利要求4所述的方法,其特征在于,所述通过将包含所述初始待选数值集合对应的最小重构误差的预设区间划分为新的待选数值集合,查找使得所述新的待选数值集合对应的最小重构误差与上一次得到的待选数值集合对应的最小重构误差之间的差值小于第二预设阈值的第二量化最大值,包括:步骤A、按照预设数量,将所述待选数值集合中,与最小重构误差相对应的数值相邻的两个数值构成的区间进行等分,得到包括多个更新数值的新的待选数值集合;步骤B、计算利用各更新数值对所述激活量进行量化得到的量化结果与所述激活量之间的重构误差;步骤C、确定各更新数值对应的重构误差中的最小重构误差,作为所述新的待选数值集合对应的最小重构误差;步骤D、判断所述新的待选数值集合对应的最小重构误差与上一次得到的待选数值集合对应的最小重构误差之间的差值的是否小于第二预设阈值:步骤E、如果小于,则将与所述新的待选数值集合对应的最小重构误差相对应的数值确定为第二量化最大值;步...
【专利技术属性】
技术研发人员:杨希超,张渊,谢迪,浦世亮,
申请(专利权)人:杭州海康威视数字技术股份有限公司,
类型:发明
国别省市:浙江,33
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。