当前位置: 首页 > 专利查询>南京大学专利>正文

一种基于权重归一化的深度神经网络压缩方法技术

技术编号:22187023 阅读:42 留言:0更新日期:2019-09-25 03:52
本发明专利技术公开了一种基于权重归一化的深度神经网络压缩方法,权重的量化可以分解为三个步骤,首先对权重进行归一化,然后基于最小量化误差把权重量化至极低的比特,最后进行反归一化得到量化的权重,使用量化的权重进行神经网络的正向传播。为了训练量化权重的神经网络,本发明专利技术对阶跃形式的量化函数的导数进行近似,从而使得神经网络的梯度可以进行反向传播,梯度累加在浮点权重上。基于权重归一化的权重量化在一定程度上避免了权重的长尾分布,从而减小了量化误差,进而提高了模型的性能。本发明专利技术可以把现在的一些主流神经网络的权重压缩至2比特、3比特,同时保证模型的性能没有较大的损失。

A Compression Method of Depth Neural Network Based on Weight Normalization

【技术实现步骤摘要】
一种基于权重归一化的深度神经网络压缩方法
本专利技术提供一种基于权重归一化的深度神经网络压缩方法,涉及压缩(量化)神经网络的参数,可以将模型的权重量化至极低的比特数目(2比特、3比特)适用于压缩各种主流的神经网络的参数,如ResNet,MobileNet等,从而使得模型可以部署到移动端设备。
技术介绍
随着深度学习的发展,深度神经网络逐渐成为机器学习的主流模型。但是,深度学习模型有大量的参数同时需要极大的计算开销,不利于模型向移动设备和嵌入式设备部署。根据已有研究,深度神经网络中存在大量冗余,因此可以对模型的参数进行极大的压缩,同时保证模型的性能没有显著的下降。模型权重量化是模型压缩的一个主要方法,尽管现有的方法可以把模型的参数量化至8比特几乎没有性能损失,但是当权重量化至极低的比特数目时,往往会带来较大的性能损失。一种主流的权重量化方法是基于最小量化误差量化权重,但是这种方法受到权重的长尾分布的影响,导致较大的相对量化误差,进而造成量化模型性能的损失。
技术实现思路
专利技术目的:目前的基于最小量化误差的权重量化方法受到权重的长尾分布的影响,会带来较大的相对量化误差。针对上述问题,本专利技术提供了一种基于权重归一化的深度神经网络压缩方法。先对权重归一化,再基于最小量化误差对权重量化,最后对权重反归一化得到量化的权重。同时对阶跃形式的量化函数的导数进行近似,使得神经网络的反向传播可以正常进行。本专利技术通过使用最大绝对值元素进行权重归一化,从而得到最大绝对值元素的梯度形式不同于其他元素的梯度,使得最大绝对值元素在每次迭代都快速向0值靠近,从而在多次迭代之后可以削弱权重的长尾分布,得到较小的相对量化误差,进而使得量化模型的性能损失减小。技术方案:一种基于权重归一化的深度神经网络压缩方法,在神经网络正向传播过程中,首先对权重归一化,然后基于最小量化误差量化权重,再进行反归一化得到量化的权重,使用量化的权重进行神经网络的正向传播;在反向传播过程中,对阶跃形式的量化函数的导数进行近似,使得神经网络可以反向传播,从而进行端到端的训练,梯度累加在浮点权重上。所述的正向传播过程,首先对权重归一化,然后基于最小量化误差量化权重,再进行反归一化得到量化的权重,具体步骤为:步骤100,获取预训练的全精度模型的参数,对所有卷积层和全连接层的每个滤波器的参数向量化,得到w∈RM。步骤101,对参数w进行归一化,使用w的最大绝对值的元素把w中的每个元素归一化到[-1,1],即步骤102,基于对的最小量化误差求解最优的量化基α,得到相应的量化值集合V(α)。步骤103,对归一化之后的权重量化得到即投影函数(量化函数)Π(·)把中的每个元素投影到量化值的集合V(α)。步骤104,对量化的归一化权重进行反归一化得到量化的权重wq,目的是保持量化的权重和原始参数w有相同的量级,即detach(·)操作把其中的变量视为常量。步骤105,由得到的量化权重wq和神经网络这一层的输入x进行卷积操作(全连接操作)得到神经网络这一层的输出y。所述的反向传播过程,对阶跃形式的量化函数的导数进行近似,使得神经网络可以反向传播,具体步骤为:步骤200,由梯度的反向传播,得到神经网络损失函数L对量化权重wq的梯度步骤201,根据梯度的反向传播,得到对量化的归一化权重的梯度。步骤202,对阶跃式函数Π(·)的梯度进行近似,即得到对归一化权重的梯度。步骤203,根据梯度的反向传播,得到对原始浮点参数w的梯度,梯度的形式为:其中wi是w的第i个元素。步骤204,使用梯度更新浮点权重w。所述的基于对最小量化误差求解最优的量化基α的优化目标为:其中,M为权重向量的维度,K为量化的比特数目,B是的二值编码,α是量化基。α定义了所有量化值构成的集合V(α),V(α)={αTel|1≤l≤2K},其中el∈{-1,1}K枚举了所有K个比特的二值编码。使用交替优化的思想优化求解上述目标,先固定B,计算α的最优解,此时问题可以转化回归问题求解,得到新的α;再固定α,计算B的最优解,此时问题转化为投影问题,即把中每一个元素都投影到集合V(α),得到对应的二值编码,即为新的B;不断迭代上述过程,直到收敛为止。所述模型训练的整体流程为:对神经网络卷积层和全连接层中的每个滤波器参数w量化得到量化的参数wq,使用wq进行神经网络正向传播;由正向传播计算得到损失函数L,然后进行梯度的反向传播,其中对阶跃式函数Π(·)的导数进行近似,最终得到对浮点参数w的梯度,更新浮点参数w,训练需要迭代多次直至收敛。最终的模型只需保存量化的归一化权重对应的二值编码和量化基用于预测,无需保存浮点参数w。有益效果:与现有技术相比,本专利技术提供的基于权重归一化的神经网络权重量化方法,可以把神经网络的权重量化到极低的比特,同时保证模型的性能没有明显的损失。利用最大绝对值元素进行权重归一化,从而得到最大绝对值元素的梯度形式不同于其他元素的梯度,使得最大绝对值元素在每次迭代都快速向0值靠近,从而在多次迭代之后可以削弱权重的长尾分布,得到更小的量化误差,从而使得量化模型的性能损失减小。附图说明图1为本专利技术的量化过程的正向传播和反向传播示意图;图2为本专利技术的量化权重的神经网络整体训练流程图;图3为本专利技术的量化基α求解过程;图4为使用训练好的量化模型预测的过程;图5为本专利技术方法与“基于可学习的量化函数的高精度紧凑神经网络”的浮点权重分布对比图。具体实施方式下面结合具体实施例,进一步阐明本专利技术,应理解这些实施例仅用于说明本专利技术而不用于限制本专利技术的范围,在阅读了本专利技术之后,本领域技术人员对本专利技术的各种等价形式的修改均落于本申请所附权利要求所限定的范围。基于权重归一化的深度神经网络压缩方法,量化过程的正向传播和反向传播如图1所示。量化函数正向传播过程为:先对每个滤波器权重w进行归一化得到然后基于最小量化误差求解量化基α,由α得到量化值的集合V(α),根据V(α)量化归一化的权重即使用投影函数ΠV(α)(·)到把的每个元素投影到集合V(α)得到最后进行反归一化得到量化权重wq,反归一化保证量化权重的量级和浮点权重的量级一致,使用量化的权重wq进行网络的正向传播。量化过程的反向传播过程对阶跃式量化函数Π(·)的梯度进行近似,归一化和反归一化的操作的导数可以直接得到无需近似,最终可以得到对浮点权重w的梯度(如步骤204所示),梯度累加在浮点权重上,从而可以进行端到端的训练。基于权重归一化的深度神经网络压缩方法,整体训练流程如图2所示。首先需要取得一个预训练的全精度模型,然后根据图1的量化器的正向传播过程对网络中所有卷积层和全连接的每个滤波器的浮点权重w量化,使用量化的权重wq和输入的训练数据进行网络的正向传播,计算得到网络的损失函数L。然后经过神经网络的反向传播得到对量化权重wq的梯度,根据图1的量化器的反向传播过程,得到对浮点权重w的梯度,更新浮点权重w,多次更新直到收敛。保存浮点权重w和量化基α,在模型预测之前会进一步处理成压缩(低精度)的格式。量化基α求解过程如图3所示。采用交替优化的方式,首先初始化量化基α,计算所有量化值的集合V(α),然后把中的每个元素投影到V(α)得到相应的二值编码,即为新的B;根据当前的B和求出量化基α新的本文档来自技高网...

【技术保护点】
1.一种基于权重归一化的深度神经网络压缩方法,其特征在于:在神经网络正向传播过程中,首先对权重归一化,然后基于最小量化误差量化权重,再进行反归一化得到量化的权重,使用量化的权重进行神经网络的正向传播;在反向传播过程中,对阶跃形式的量化函数的导数进行近似,使得神经网络可以反向传播,从而进行端到端的训练,梯度累加在浮点权重上。

【技术特征摘要】
1.一种基于权重归一化的深度神经网络压缩方法,其特征在于:在神经网络正向传播过程中,首先对权重归一化,然后基于最小量化误差量化权重,再进行反归一化得到量化的权重,使用量化的权重进行神经网络的正向传播;在反向传播过程中,对阶跃形式的量化函数的导数进行近似,使得神经网络可以反向传播,从而进行端到端的训练,梯度累加在浮点权重上。2.如权利要求1所述的基于权重归一化的深度神经网络压缩方法,其特征在于,在正向传播过程中,首先对权重归一化,然后基于最小量化误差量化权重,再进行反归一化得到量化的权重,具体步骤为:步骤100,获取预训练的全精度模型的参数,对所有卷积层和全连接层的每个滤波器的参数向量化,得到w∈RM;步骤101,对参数w进行归一化,使用w的最大绝对值的元素把w中的每个元素归一化到[-1,1],即步骤102,基于对的最小量化误差求解最优的量化基α,得到相应的量化值集合V(α);步骤103,对归一化之后的权重量化得到即投影函数(量化函数)Π(·)把中的每个元素投影到量化值的集合V(α);步骤104,对量化的归一化权重进行反归一化得到量化的权重wq,目的是保持量化的权重和原始参数w有相同的量级,即detach(·)操作把其中的变量视为常量;步骤105,由得到的量化权重wq和神经网络这一层的输入x进行卷积操作(全连接操作)得到神经网络这一层的输出y。3.如权利要求1所述的基于权重归一化的深度神经网络压缩方法,其特征在于:在反向传播过程中,对阶跃形式的量化函数的导数进行近似,使得神经网络可以反向传播,具体步骤为:步骤20...

【专利技术属性】
技术研发人员:李武军蔡文朴
申请(专利权)人:南京大学
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1