Page 113 - 《软件学报》2021年第8期
P. 113

龚成  等:一种超低损失的深度神经网络量化压缩方法                                                       2395


                 模型量化的损失;然后,结合对结果值的分析和择优,通过不同数据位宽下的最优量化结果来揭示数据位宽和量
                 化损失之间的关系.
                    此外,一些方法尽管能够量化模型并得到较好的模型精度,但是量化后的权值由于是浮点数类型,所以难以
                 加速计算过程.例如,文献[29]所提出的权值共享并结合知识蒸馏的手段,在其利用 k-means 算法进行实现时,需
                 要处理复杂的聚类迭代,而聚类中心是非均匀的浮点型数值,其计算过程仍然是典型的浮点数计算.需要说明的
                 是:知识蒸馏方法虽与量化方法并不冲突,但是知识蒸馏往往需要更庞大的教师网络进行指导,将极大增加训练
                 时间,因而许多量化工作并未主动使用知识蒸馏来提升模型量化的精度.为了与其他量化方法进行客观公正的
                 比较,本文暂不引入知识蒸馏来提升量化模型的精度.
                    综上所述,本文在模型量化时除了考虑数据分布对模型精度的影响外,还需兼顾量化后权值是否有利于模
                 型的计算加速.即在量化过程中,本文充分考虑 DNN 模型各层权值的数据分布规律,减少模型量化造成的精度
                 损失,并采用均匀量化的方式,通过简洁的舍入操作,将原始权值量化为间隔均匀的定点数,来加速量化模型的
                 乘法计算.

                 2    μL2Q 量化设计

                    本节阐述模型量化的精度损失评估方法.首先定义了量化损失,然后论述了μL2Q 量化思想的依据,并据此
                 提出基于权值数据分布分析的μL2Q 量化过程的形式化表达.
                 2.1   损失评估
                    经过模型量化后的权值数据由 w q 表示,则量化的一般过程可由式(7)表示.
                                         w =  q  Quantize (w f  )  s.t. w ∈  q  Q d ,Q =  { , ,..., }q q 2  q n  (7)
                                                                     1
                                                       d
                 其中,Quantize(⋅)是量化函数,它将输入数据 w f ∈\ 的空间映射到仅由有限的且间隔均匀的离散数据所构成的数
                                  k
                 据空间.在式(7)中,n=2 ,k 是量化位宽.基于前人的研究工作            [16,18,21,30] ,本文将量化损失定义为 w f 和 w q 的欧式距离
                 的平方,即 L2 距离:
                                                      J =  || w −  q  w f  || 2 2                     (8)
                 考虑到 DNN 模型自身的复杂性和不确定性,本文使用距离 J 作为量化损失评估依据而非模型的最终推理精度,
                 这样能够更为准确地反映量化方法所产生的直接结果.
                 2.2   数据空间转换
                                                      2
                    对于给定的满足正态分布的权值 w f =N(μ,σ ),将其转换成标准正态分布的过程可表示为
                                                       w −  μ
                                                    ϕ =  f  ∼  N (0,1)                                (9)
                                                        σ
                 μL2Q 的量化结合了数据标准正态分布的规律,则缩放参数α和偏移参数β可表示为
                                                        ⎧ α =  λσ
                                                        ⎨                                            (10)
                                                        ⎩ β =  μ
                 其中,λ是量化参数,通过λ将数据缩放到恰当范围.则式(9)可转换为
                                                   w −  β  ϕ  ⎛  1 ⎞
                                                    f   =  ∼  N  ⎜  0,  2 ⎟                          (11)
                                                    α     λ   ⎝  λ  ⎠
                 由此,μL2Q 的量化思路可归纳为:利用μ和σ将一组服从或近似服从一般正态分布的数据转换为服从标准正态
                 分布的数据,再利用λ将其缩放到恰当的给定范围,最后通过截断和舍入操作将其映射到整数值空间.

                 2.3   量化过程
                    μL2Q 量化思路的关键环节是将满足标准正态分布的权值分割为等宽的量化区域,即均匀的量化间隔.实
                 际上,第 2.2 节中的λ即可表示量化区域的分割宽度,即量化间隔.如图 2 所示,量化过程是:首先,假设量化目标的
   108   109   110   111   112   113   114   115   116   117   118