A method and apparatus for quantifying the activation values of neural network layers is described, wherein the method includes: obtaining the activation values of the upper activation layer of the neural network; obtaining the activation limits of the current activation layer according to the activation values of the upper activation layer; and determining when the activation values of the current activation layer and the activation values of the upper activation layer are determined according to the activation limits of the current activation layer and the activation values Activation level before activation. Thus, the activation value information of the upper activation layer can be transmitted to the current activation layer, and the technical scheme provided by the present invention can dynamically adapt to the change of the activation value according to the activation value of the upper activation layer, so as to reduce the estimation error of quantization.
【技术实现步骤摘要】
神经网络层间激活值量化方法及装置
本专利技术涉及神经网络
,具体涉及一种神经网络层间激活值量化方法及装置。
技术介绍
随着人工智能的发展,尤其是卷积神经网络的发展,其在智能监控领域得到了广泛的运用,成为不可缺少的一个工具,比如人脸识别、车辆检测、物体识别等。但是随着现代卷积神经网络的层数加深,网络的复杂度也变得越来越大,比如说对于一个卷积神经网络,其卷积层数量可以超过10层,此外所有卷积层的计算量几乎占据了整个网络计算量的80%。这就导致类似的卷积神经网络不能够运行在监控摄像头等嵌入式设备上。因此,如何降低神经网络的计算复杂度,是神经网络算法所需要解决的问题。现有的量化技术会对神经网络的层间激活和每一层的权重进行一些量化操作,从而使得神经网络中所有的矩阵乘法变成指数移位操作。现有技术中,为了保证量化值不超过位宽(bitwidth)所表达的范围,都会为卷积神经网络的每一层预先设立一个最小值minV和最大值maxV。在为卷积神经网络的每一层确定最大值和最小值的时候需要通过如下几步来得到:首先训练一个浮点卷积神经网络,得到一个预训练模型;而后,取一小部分训练数据,并送入预训练模型,得到卷积神经网络的每一层的激活输出;根据这些激活和权重,通过统计算法得到层间激活的分布范围;根据分布范围以及位宽(bitwidth)估计得到最小值minV和最大值maxV;根据最大值和最小值对网络进行微调训练。一个良好的量化方法需要在对网络完成量化后还能保持精度不下降。这就要求在量化过程中对激活的分布范围有精确的估计。如果估计不准确,就会导致量化之后的卷积神经网络模型在优化空间中 ...
【技术保护点】
1.一种神经网络层间激活值量化方法,其特征在于,包括:获取神经网络上一级激活层的激活值;根据所述上一级激活层的激活值得到当前激活层的激活值极限;根据所述当前激活层的激活值极限和所述上一级激活层的激活值确定当前激活层各个激活值。
【技术特征摘要】
1.一种神经网络层间激活值量化方法,其特征在于,包括:获取神经网络上一级激活层的激活值;根据所述上一级激活层的激活值得到当前激活层的激活值极限;根据所述当前激活层的激活值极限和所述上一级激活层的激活值确定当前激活层各个激活值。2.如权利要求1所述的神经网络层间激活值量化方法,其特征在于,所述根据所述当前激活层的激活值极限和所述上一级激活层的激活值确定当前激活层各个激活值包括:在所述当前激活层的激活值极限范围内对所述上一级激活层的激活值进行取整得到所述当前激活层各个激活值。3.如权利要求2所述的神经网络层间激活值量化方法,其特征在于,所述在所述当前激活层的激活值极限范围内对所述上一级激活层的激活值进行取整得到所述当前激活层各个激活值包括:根据用于表征激活值的比特位数确定的步长对所述上一级激活层的激活值进行等分取整;在所述当前激活层的激活值极限范围内对所述等分取整后的所述上一级激活层的激活值进行计算得到所述当前激活层各个激活值。4.如权利要求1-3任意一项所述的神经网络层间激活值量化方法,其特征在于,所述上一级激活层的激活值包括:所述上一级激活层的最大激活值;所述根据所述上一级激活层的激活值得到当前激活层的激活值极限包括:对所述上一级激活层的最大激活值进行加权得到所述当前激活层的最大激活值;根据所述当前激活层的最大激活值得到所述当前激活层的最小激活值。5.如权利要求4所述的神经网络层间激活值量化方法,其特征在于,所述对所述上一级激活层的最大激活值进行加权得到所述当前激活层的最大激活值采用如下公式得到:cur_maxi=α×cur_maxi+(1-α)×cur_maxi-1其中,cur_maxi为当前激活层的最大激活值,α为滑动平均超参数,i为迭...
【专利技术属性】
技术研发人员:许震,王运节,张如高,
申请(专利权)人:新智认知数据服务有限公司,
类型:发明
国别省市:上海,31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。