一种用于深度神经网络的通道剪枝方法技术

技术编号:22056927 阅读:33 留言:0更新日期:2019-09-07 15:51
一种用于深度神经网络的通道剪枝方法,包括下列操作步骤:(1)基于深度神经网络中连续两个网络层的关联关系,根据输出输入通道离散正则化,定义输出输入通道离散正则化项;(2)定义深度神经网络的优化目标函数;(3)用训练数据集合,对所述的深度神经网络进行训练;在训练结束后,所述的深度神经网络的大量冗余通道中的特征被更彻底的挤压到了少量重要通道中,从而获得结构化稀疏的深度神经网络;(4)对步骤(3)所获得的结构化稀疏的深度神经网络,进行循环迭代通道剪枝,获得结构紧密的深度神经网络。

A Channel Pruning Method for Deep Neural Networks

【技术实现步骤摘要】
一种用于深度神经网络的通道剪枝方法
本专利技术涉及一种用于深度神经网络的通道剪枝方法,属于信息
,特别是属于人工智能

技术介绍
近几年中,深度神经网络被广泛应用于图像分类,物体检测,语音识别等领域之中,取得了比传统机器学习方法更高的准确率。不仅如此,这些深度神经网络在复杂的系统中也得到广泛的应用,例如自动驾驶,癌症诊断,复杂游戏的策略搜索等。深度神经网络在很多识别任务中已经大大超越了人类识别的准确率以及传统的技术方法,带来巨大的性能提升。这些性能的提升是由于深度神经网络拥有提取大数据高级特征的能力,从而获得对数据空间的有效表示。随着神经网络的加深,网络参数量和计算量也愈加庞大。1998年设计的LeNet使用少于1M的参数量来解决手写体数字的识别问题;152层的Resnet-152有超过60M的参数量且需要超过20G的浮点算力。庞大的参数量和计算量使得深度神经网络在训练和使用时需要消耗大量的计算资源和内存,导致其难以部署在计算资源和内存均受限的移动设备和嵌入式系统上。如何在不损失神经网络精度的情况下压缩模型体积,减少模型推理的计算量,已经成为当前深度神经网络
一个研究热点。基于网络通道剪枝的神经网络轻量化技术能极大地减少神经网络在部署时所需的存储空间,运行内存和计算量,在这几年中受到学术界和工业界的广泛关注,成为当前最流行的轻量化技术之一,其通过移除冗余通道的全部参数使得剪枝后的网络是结构化稀疏(StructuredSparsity)的。通道剪枝技术不仅能很大程度上压缩模型的体积,还能很好地减少网络推理时所需的运行内存和计算量,但是目前的网络通道剪枝技术往往伴有很大的精度损失。如何在保证精度损失忽略不计的前体下,研究一种高效的通道剪枝技术成为深度神经网络
的一个亟待解决的技术难题。
技术实现思路
有鉴于此,本专利技术的目的是专利技术一种深度神经网络的通道剪枝方法,既能实现大的网络压缩与加速收益,又能保证网络精度。为了达到上述目的,本专利技术提出了一种用于深度神经网络的通道剪枝方法,所述方法包括下列操作步骤:(1)基于深度神经网络中连续两个网络层的关联关系,根据输出输入通道离散正则化,定义输出输入通道离散正则化项Roic(Wl,Wl+1)如下:上式中,Wl和Wl+1分别是所述深度神经网络第l层和l+1层的权重集合,表示Wl中的第i个输出通道的权重矢量,表示Wl+1中第i个输入通道的权重矢量,符号表示把和连接concatenation起来,OCl表示所述深度神经网络第l层的输出通道数,||||oic表示L-oic范数,下标oic取值为1或2;(2)基于前述的输出输入通道离散正则化项,定义深度神经网络的优化目标函数J(W)如下:上式中,W表示所述深度神经网络的权重集合,D表示训练数据集合,Loss(W,D)表示所述深度神经网络在训练数据集合D上的损失函数,R(W)表示非结构正则化项(Non-StructuredRegularization),λ是非结构正则化项的超参数,λs是所述的输出输入通道离散正则化项的超参数;(3)利用步骤(2)所定义的深度神经网络的优化目标函数J(W),用训练数据集合D,对所述的深度神经网络进行训练;在训练结束后,所述的深度神经网络的大量冗余通道中的特征被更彻底的挤压到了少量重要通道中,从而获得结构化稀疏的深度神经网络;(4)对步骤(3)所获得的结构化稀疏的深度神经网络,进行循环迭代通道剪枝,获得结构紧密的深度神经网络;具体过程是:在每次通道剪枝迭代中,采用全局贪婪搜索,在所有网络层中全局地搜索冗余通道,并且根据通道重要性的大小,贪婪地去除重要性最低的通道;并且在每次通道剪枝迭代中,对每层网络的最大剪枝比例做了限制,不能有超过设定比例(50%)的通道被移除。基于前面所述的输出输入通道离散正则化,使用通道能量来计算步骤(4)中所述的通道重要性,具体计算方法如下式所示:上式中,表示所述的深度神经网络第l层和第l+1层之间的第i个通道的通道重要性,深度神经网络中第l层的第i个输出通道与第l+1层的第i个输入通道相连接,表示Wl中的第i个输出通道的权重矢量,表示Wl+1中第i个输入通道的权重矢量,Wl和Wl+1分别是所述深度神经网络第l层和l+1层的权重集合,符号表示把和连接concatenation起来,表示中的第j个分量,表示中的第j个分量。步骤(4)中所述的迭代通道剪枝的具体内容是包括如下操作子步骤:(401)设定迭代通道剪枝的最大迭代次数T,设定浮点运算剪枝比例集合P,P∈RT;W(0)表示步骤(3)所获得的结构化稀疏的深度神经网络的权重集合;设t是迭代通道剪枝迭代次数,W(t-1)是第t次迭代通道剪枝开始之前深度神经网络的权重集合,W(t)是第t次迭代通道剪枝完成之后深度神经网络的权重集合;(402)如果迭代通道剪枝迭代次数t不大于T,转步骤(403),否则转步骤(407);(403)遍历当前深度神经网络的每一个网络层,计算所述当前深度神经网络中所有通道的重要性,按照通道重要性从小到大的顺序,对通道进行排序,获得集合(404)把当前中通道重要性最低的通道即通道,从当前深度神经网络中剪除;把从集合中删除,更新从W(t-1)中删除被剪除的通道的权重,更新W(t-1);(405)如果flops(W(t-1))<(1-Pt)·flops(W(0)),则转步骤(404),否则转步骤(406),上式中,flops()表示浮点运算量;Pt∈P表示迭代通道剪枝迭代次数为t时的浮点运算剪枝比例;(406)把W(t-1)赋值给W(t),按照步骤(3)的操作,对当前深度神经网络进行训练,获得新的W(t),本次迭代通道剪枝完成,迭代次数t增加1,转步骤(402);(407)迭代通道剪枝结束,获得结构紧密的深度神经网络,对应的权重集合为W(T)。本专利技术的有益效果在于:本专利技术提出的深度神经网络通道剪枝方法,通过同时对当前层的输出通道和下一层对应的输入通道进行结构正则化约束,能获得更加结构化稀疏的网络,解决了分离式正则化项用于通道剪枝时存在的缺陷,能在更小的精度损失下获得更紧密的网络结构。附图说明图1是本专利技术提出的一种实现多个性能指标要求同时满足的服务组合方法的流程图。图2是本专利技术的实施例中的两个连续的网络层为全连接层时输出输入通道示意图。图3是本专利技术的实施例中的两个连续的网络层为卷积层时输出输入通道示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面结合附图对本专利技术作进一步的详细描述。参见图1,介绍本专利技术提出的一种用于深度神经网络的通道剪枝方法,所述方法包括下列操作步骤:(1)基于深度神经网络中连续两个网络层的关联关系,根据输出输入通道离散正则化,定义输出输入通道离散正则化项Roic(Wl,Wl+1)如下:上式中,Wl和Wl+1分别是所述深度神经网络第l层和l+1层的权重集合,分别可以用二维矩阵来表示。表示Wl中的第i个输出通道的权重矢量,表示Wl+1中第i个输入通道的权重矢量,符号表示把和连接concatenation起来,OCl表示所述深度神经网络第l层的输出通道数,||||oic表示L-oic范数,下标oic取值为1或2,即||||oic表示L1范数或L2范数;例如,当本文档来自技高网
...

【技术保护点】
1.一种用于深度神经网络的通道剪枝方法,其特征在于:所述方法包括下列操作步骤:(1)基于深度神经网络中连续两个网络层的关联关系,根据输出输入通道离散正则化,定义输出输入通道离散正则化项Roic(W

【技术特征摘要】
1.一种用于深度神经网络的通道剪枝方法,其特征在于:所述方法包括下列操作步骤:(1)基于深度神经网络中连续两个网络层的关联关系,根据输出输入通道离散正则化,定义输出输入通道离散正则化项Roic(Wl,Wl+1)如下:上式中,Wl和Wl+1分别是所述深度神经网络第l层和l+1层的权重集合,表示Wl中的第i个输出通道的权重矢量,表示Wl+1中第i个输入通道的权重矢量,符号表示把和连接concatenation起来,OCl表示所述深度神经网络第l层的输出通道数,||||oic表示L-oic范数,下标oic取值为1或2;(2)基于前述的输出输入通道离散正则化项,定义深度神经网络的优化目标函数J(W)如下:上式中,W表示所述深度神经网络的权重集合,D表示训练数据集合,Loss(W,D)表示所述深度神经网络在训练数据集合D上的损失函数,R(W)表示非结构正则化项Non-StructuredRegularization,λ是非结构正则化项的超参数,λs是所述的输出输入通道离散正则化项的超参数;(3)利用步骤(2)所定义的深度神经网络的优化目标函数J(W),用训练数据集合D,对所述的深度神经网络进行训练;在训练结束后,所述的深度神经网络的大量冗余通道中的特征被更彻底的挤压到了少量重要通道中,从而获得结构化稀疏的深度神经网络;(4)对步骤(3)所获得的结构化稀疏的深度神经网络,进行循环迭代通道剪枝,获得结构紧密的深度神经网络;具体过程是:在每次通道剪枝迭代中,采用全局贪婪搜索,在所有网络层中全局地搜索冗余通道,并且根据通道重要性的大小,贪婪地去除重要性最低的通道;并且在每次通道剪枝迭代中,对每层网络的最大剪枝比例做了限制,不能有超过设定比例的通道被移除。2.根据权利要求1所述的一种用于深度神经网络的通道剪枝方法,其特征在于:基于前面所述的输出输入通道离散正则化,使用通道能量来计算步骤(4)中所述的通道重要性,具体计算方法如下式所示:上式中,...

【专利技术属性】
技术研发人员:戚琦王晶王敬宇李家仕廖建新
申请(专利权)人:北京邮电大学
类型:发明
国别省市:北京,11

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

1