一种基于迹范数约束的神经网络的加速与压缩方法技术

技术编号:17813250 阅读:107 留言:0更新日期:2018-04-28 05:47
本发明专利技术公开了一种基于迹范数约束的神经网络的加速与压缩方法,其整体步骤如下:进行神经网络前向传播,并判断是否收敛;分离任务相关的损失函数和迹范数约束,并进行基于损失函数的神经网络反向传播;对反向传播更新后的每一层的参数矩阵做迹范数约束;将迹范数约束后的参数矩阵更新到网络中;当神经网络的训练过程收敛后,对最终的参数矩阵进行奇异值分解,并对神经网络进行压缩重构。本发明专利技术通过在模型训练阶段提高模型参数的低秩特性,取得了良好的加速和压缩效果,具有适用性广泛、精度不受影响的优点,可以满足实际应用中对降低存储空间和提高处理速度的需求。

【技术实现步骤摘要】
一种基于迹范数约束的神经网络的加速与压缩方法
本专利技术涉及一种加速与压缩方法,尤其涉及一种基于迹范数约束的神经网络的加速与压缩方法,属于神经网络

技术介绍
神经网络,是一种由人工神经元组成的前馈网络,神经网络由多种类型的层,包括卷积层、全连接层、池化层、激活层等组成。输入数据在通过各个层时和各层的参数进行运算从而获得神经网络的输出。神经网络在目标检测、图像分类、语义分割、特征点定位等众多计算机视觉任务上有着广泛的应用。当神经网络拥有数以万计的神经元连接时,会造成神经网络参数的物理存储要求很高,同时网络的运算量很大,难以满足在实际应用场景中的实时性要求,限制了神经网络在移动设备等存储、计算资源受限的设备上的应用。目前针对神经网络的加速和压缩方案主要致力于在模型训练完成后对原模型进行近似,以减小参数数量和计算量,从而达到加速和压缩的目的,例如,已有专利文献对神经网络模型各层的参数采用近似方法进行简化,从而减少各层计算量的方法。但是由于这类方法是在模型训练完成后对训练好的模型进行近似,能够到达的近似精度有限,因此这类方法会使得模型的性能下降。此外,也有人提出了通过对卷积核采用频域分解的方法进行近似简化,减少神经网络中模型卷积层计算量的方法。但这类方法只设计了针对卷积层的加速和压缩方法,对神经网络中的其它层的通用性有限,并且丢掉低频信息也会带来比较大的精度损失。上述方法虽然能够在一定程度上起到加速和压缩的作用,但是适用范围有限,并且都是对已训练好的模型进行被动压缩,没有从训练阶段考虑模型的被压缩能力,降低被压缩后的精度损失。为了充分提高模型的压缩率,减少压缩后模型准确率的下降,满足实际应用中对降低存储空间和提高处理速度的需求,需要针对神经网络设计合理的训练阶段的加速和压缩方案。
技术实现思路
为了解决上述技术所存在的不足之处,本专利技术提供了一种基于迹范数约束的神经网络的加速与压缩方法。为了解决以上技术问题,本专利技术采用的技术方案是:一种基于迹范数约束的神经网络的加速与压缩方法,其整体步骤如下:Ⅰ、首先在神经网络的训练过程中进行神经网络的前向传播,输入数据逐层经过网络的各层并和各层的参数进行运算直到获得最后一层的输出值,通过判断网络输出值与实际值之间的误差是否小于指定阈值,来判断神经网络的训练是否收敛;Ⅱ、通过邻近点梯度下降法分离端到端训练时的迹范数约束和任务相关的损失函数,先进行原任务相关的损失函数的神经网络反向传播,通过反向传播来计算各层参数矩阵的梯度,通过梯度下降法计算更新后的参数;Ⅲ、对反向传播更新后的每一层的参数矩阵做迹范数约束;Ⅳ、将迹范数约束后的参数矩阵更新到网络中;Ⅴ、对最终的每一层的参数矩阵进行奇异值分解,保留较大的部分奇异值和对应的特征向量,将原参数矩阵拆分成2个较小的参数矩阵相乘,利用每一层得到的2个较小的参数矩阵对神经网络进行压缩重构。以卷积层和全连接层为例,对于卷积层,将原参数矩阵压缩成2个较小的参数矩阵相乘之后,将这2个矩阵分别构建一个新的卷积层,其中第一个卷积层的卷积核的尺寸和通道数与原来的卷积层的卷积核相同,新的卷积核的数量和保留的奇异值个数相同;第二个卷积层的卷积核的长宽都为1,通道数和保留的奇异值个数相同,卷积核的数量和原卷积层卷积核的数量相同;对于全连接层,将原参数矩阵拆分成2个较小的参数矩阵相乘之后,将这2个矩阵分别各构建成一个新的全连接层,其中第一个全连接层的输入维度和原有全连接层相同,输出维度和保留的奇异值个数相同,第二个全连接层的输入维度和保留的奇异值个数相同,输出维度和原全连接层的输出维度相同。其中,步骤Ⅲ中的迹范数约束通过奇异值收缩来实现;奇异值收缩的具体过程为:对参数矩阵进行奇异值分解,收缩每个奇异值后再将奇异值矩阵和特征向量矩阵相乘得到新的参数矩阵。本专利技术通过在模型训练阶段提高模型参数的低秩特性,取得了良好的加速和压缩效果,可以满足实际应用中对降低存储空间和提高处理速度的需求。本专利技术与传统的加速和压缩方法相比,具有以下优势:1)适用性广泛:适合于神经网络中任何有参数的层,不局限于特点类型的层;2)高压缩率和加速比:在训练阶段主动提高参数矩阵的低秩特性,参数矩阵的低秩特性优于无低秩约束的已有方法,从而能到达更高的压缩率和加速比;3)精度不受影响:通过在训练阶段进行奇异值收缩,使得参数矩阵更多的奇异值接近零,通过去掉接近零的奇异值来进行参数压缩时,模型精度不受影响。附图说明图1为本专利技术的步骤流程图。具体实施方式下面结合附图和具体实施方式对本专利技术作进一步详细的说明。图1所示的一种基于迹范数约束的神经网络的加速与压缩方法,其具体步骤为:步骤一、进行神经网络前向传播:前向传播的具体过程是将输入数据逐层经过网络的各层,和各层的参数进行运算直到获得最后一层的输出值。通过判断网络输出值与实际值之间的误差是否小于指定阈值,来判断神经网络的训练是否收敛,若不收敛,则进行步骤二,否则跳转至步骤五;步骤二、分离任务相关的损失函数和迹范数约束,并进行损失函数反向传播:获取神经网络每一层的参数,并将每层的参数表示为矩阵。以神经网络的卷积层和全连接层为例,其中卷积层是由n个卷积核组成,每个卷积核有c个通道,卷积核的尺寸为w×h,w为卷积核宽度,h为卷积核高度。该卷积层的参数数量为c×w×h×n,将其表示为一个M×N的矩阵Wlt,其中N=n。对于全连接层,它的N个输出都和M个输入有连接,其参数矩阵表示为一个M×N的矩阵Wlt。反向传播的具体过程是通过损失函数计算网络输出值与实际值之间的误差,并将该误差从输出层向输入层逐层计算梯度,再通过梯度下降法计算更新后的参数。一个矩阵的迹范数是该矩阵所有奇异值之和,表示为||Wlt||*,约束Wlt的迹范数,使其变小,可以降低Wlt矩阵的秩,从而使得Wlt能够被更低秩的近似,从而实现更高的压缩比和加速比。迹范数约束是约束该参数矩阵的迹范数,使其变小,表示为:其中,λ为控制约束程度的系数,nl为层的数量。传统的任务相关的损失函数的对参数的更新是通过反向传播进行,不能直接加入迹范数约束。本算法通过邻近点梯度下降法(ProximalGradientDescent)分离迹范数约束和任务相关的损失函数,可以在反向传播后进行迹范数约束,即:其中,为通过任务相关的损失函数f在反向传播时更新参数矩阵,定义为即α表示学习率,用于控制参数更新速率。为迹范数最小化的邻近点算子。公式让参数矩阵的迹范数约束和反向传播在训练时兼容,一次前向传播和一次反向传播称为一次迭代,用t表示当迭代次数。步骤三、对每一层的参数矩阵做迹范数约束:在获得了每层反向传播更新后的参数矩阵之后,对的迹范数通过邻近点算子进行最小化。通过奇异值收缩来实现迹范数最小化的邻近点算子。具体方法为:对进行奇异值分解,得到其中为对角阵,即:为的奇异值。通过公式(3)对进行奇异值进行收缩得到更新后的参数矩阵步骤四、将更新后得到的更新到神经网络中,并跳转至步骤一再次进行前向传播;步骤五、对最终的参数矩阵进行奇异值分解,得到保留S中最大的k个奇异值,得到分别保留U和V中和保留的奇异值对应的k个特征向量,得到和计算定义即:用QlPlT替换原参数矩阵Wl,减少的参数数量为MN-(Mk+kN)。用这2个新的矩阵Ql本文档来自技高网
...
一种基于迹范数约束的神经网络的加速与压缩方法

【技术保护点】
一种基于迹范数约束的神经网络的加速与压缩方法,其特征在于:所述方法的整体步骤如下:Ⅰ、首先在神经网络的训练过程中进行神经网络的前向传播,输入数据逐层经过网络的各层并和各层的参数进行运算直到获得最后一层的输出值,通过判断网络输出值与实际值之间的误差是否小于指定阈值,来判断神经网络的训练是否收敛;Ⅱ、通过邻近点梯度下降法分离端到端训练时的迹范数约束和任务相关的损失函数,先进行原任务相关的损失函数的神经网络反向传播,通过反向传播来计算各层参数矩阵的梯度,通过梯度下降法计算更新后的参数;Ⅲ、对反向传播更新后的每一层的参数矩阵做迹范数约束;Ⅳ、将迹范数约束后的参数矩阵更新到网络中;Ⅴ、对最终的每一层的参数矩阵进行奇异值分解,保留较大的部分奇异值和对应的特征向量,将原参数矩阵拆分成2个较小的参数矩阵相乘,利用每一层得到的2个较小的参数矩阵对神经网络进行压缩重构。

【技术特征摘要】
1.一种基于迹范数约束的神经网络的加速与压缩方法,其特征在于:所述方法的整体步骤如下:Ⅰ、首先在神经网络的训练过程中进行神经网络的前向传播,输入数据逐层经过网络的各层并和各层的参数进行运算直到获得最后一层的输出值,通过判断网络输出值与实际值之间的误差是否小于指定阈值,来判断神经网络的训练是否收敛;Ⅱ、通过邻近点梯度下降法分离端到端训练时的迹范数约束和任务相关的损失函数,先进行原任务相关的损失函数的神经网络反向传播,通过反向传播来计算各层参数矩阵的梯度,通过梯度下降法计算更新后的参数;Ⅲ、对反向传播...

【专利技术属性】
技术研发人员:何明捷张杰山世光陈熙霖
申请(专利权)人:中科视拓北京科技有限公司
类型:发明
国别省市:北京,11

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

1