1.一种面向嵌入式移动设备的深度神经网络压缩方法,其特征在于:所述方法包括以下步骤:
ⅰ、权值截断;通过整流器构建一个神经网络,在神经网络中先随机生成模型的参数值,并且在[-1,1]区间内对实值权重w进行截断,对于神经网络中每一个权重值w,使w满足公式①:
其中,clip()表示权重截断操作,保证w在[-1,1]区间内;if表示取值条件,otherwise表示[-1,1]区间之内的取值;
ⅱ、权值舍入;将实值权重w四舍五入到以
并且,根据公式③获得w的概率分布;
其中,φ(w)表示概率分布;
ⅲ、保留存储指数权重的指数部分;将步骤ⅱ中得到指数转换为短整数,即保留指数权重的指数部分,并存储起来,其中每个短整数指示输入值需要进行右移位操作;
ⅳ、压缩模型的前向传播和后向传播;压缩模型在每次参数更新过程中的操作步骤:在进行深度神经网络的前向后向传播过程中,保留实值权重以在训练阶段累积随机梯度下降参数的更新,因为量化权重可能导致梯度消失问题,因此,仅在前向和后向传播期间量化权重操作,而在参数更新期间使用原来的实数权重;
ⅴ、缩放输入信号;使用放大系数α来缩放每个批量标准化层的输出;
ⅵ、哈夫曼编码压缩;使用哈夫曼编码来进行一步压缩由步骤ⅲ产生的短整数,即完成了对深度神经网络的压缩。
2.根据权利要求1所述的面向嵌入式移动设备的深度神经网络压缩方法,其特征在于:所述步骤ⅳ中量化权重的方法如公式④所示:
其中,δw表示实值变量的更新累积,
wq=quantize(wr-ηδwr),公式⑤
其中,wr是初始权重的浮点值,δwr是在训练阶段由公式⑤计算的累积梯度,η是学习率,quantize表示离散函数。
3.根据权利要求1所述的面向嵌入式移动设备的深度神经网络压缩方法,其特征在于:所述步骤ⅱ中四舍五入方法包括如公式⑥所示的确定性四舍五入和如公式⑦所示的随机性四舍五入;随机性四舍五入是通过平均隐藏层的所有权重之间的离散化来补偿信息损失的合理替代方案,即所有实值权重随机舍入到指数上限或下限指数的概率;
其中,withprobabilityφ(w)表示w四舍五入结果的概率值;round表示四舍五入操作。
4.根据权利要求1所述的面向嵌入式移动设备的深度神经网络压缩方法,其特征在于:所述步骤ⅲ中右移位操作如公式⑧所示:
y=sign(w)(|w|>>x)+b,公式⑧
其中sign表示取符号操作,>>表示右移操作,sign(w)(|w|>>x)+b表示对原运算y=wx+b的右移近似计算;将原运算右移,可消除大部分的乘法,提升模型运行效率。