没有合适的资源?快使用搜索试试~ 我知道了~
基于滤波器组近似的Bo Peng,Wenming Tan,Zheyang Li,Shun Zhang,Di Xie,and Shiliang Pu中国杭州海康威视研究院{彭波7,谭文明,李哲阳,张顺7,谢迪,普什良}@ hikvision.com抽象。在本文中,我们提出了一种新的基于滤波器组近似的分解方法,它可以显着减少深度卷积神经网络(CNN)的冗余,同时保持大部分特征表示。与其他低秩分解算法的空间或信道维度的过滤器上操作,我们提出的方法主要集中在利用过滤器组结构的每一层。 对于几种常用的CNN模型,包括VGG和ResNet,我们的方法可以减少超过80%的浮点运算(FLOP),并且在各种图像分类数据集上的准确性下降比最先进的方法要少。此外,实验表明,我们的方法是有利于减轻退化的压缩网络,这损害了网络的收敛性和性能。关键词:卷积神经网络·网络压缩·低秩分解·滤波器组卷积·图像分类1介绍近年来,CNN在几个计算机视觉任务上取得了巨大成功,例如图像分类[19],对象检测[27],实例分割[25]等。然而,具有高性能的深度神经网络也遭受大量计算成本,限制了这些网络在资源受限设备上的应用。经典网络之一,VGG16 [30]具有1.3亿个参数,需要超过300亿次FLOP来分类单个224×224图像。大部分嵌入式系统在处理实时任务时,其计算量和内存开销是难以承受为了解决这个问题,在过去的几年中,已经提出了许多研究,包括网络压缩和加速[4,5,21,41],或者直接设计更多高效架构[10,14,37,40]。低秩分解是矩阵或张量分解压缩网络的常用方法。 一系列工作[4,16,38,41]通过将原始权表示为low-rank的形式,在提高网络效率方面取得了很大进展。然而,由于它们可能会退化,因此这些方法无法在保持良好性能的情况下实现高速2Bo Peng,Wenming Tan,Zheyang Li,Shun Zhang,Di Xie,Shiliang Pu图1.一、滤波器组结构是W1和W2的线性组合。 X是输入特征,通道数为C,空间大小为h × w。 W 1是一个滤波器组卷积层,每个滤波器的大小为n × k × k,W 2是一个1 × 1卷积层。Y1和Y2分别是W1和W2的输出问题[26,29],这对网络的收敛和性能是有害的。滤波器组卷积[19]是另一种压缩网络的方法,同时保持滤波器之间的独立性,这可以减轻限制退化的迹象。在这项工作中,我们将展示一种新的方法,一个规则的卷积滤波器组结构[14](图。1),同时实现良好的性能和大的压缩比。滤波器组卷积的概念首先在AlexNet [19]中使用,这是由于G PU算法的复杂性。因此,在CNN中,内部过滤器组学习到了责任分离,其性能接近于相应的无过滤器组网络,这意味着这种轻量级结构具有相同的特征表示能力。在这项工作之后,滤波器组和深度卷积被广泛用于设计高效的架构[2,10,14,28,37,40],并在轻量级模型中实现了最先进的性能然而,所有这些精心设计的架构都需要针对特定任务从头开始进行培训 Huang等人[12]介绍了CondenseNet,它在训练过程中自动学习滤波器组卷积,同时需要达到高达300个像素的平均计算量来在本文中,我们将展示一种有效的方法来将规则卷积层分解成滤波器组结构的形式,该滤波器组结构是滤波器组卷积和逐点卷积的线性组合(图13)。①的人。利用滤波器组卷积,可以极大地压缩原始网络的计算复杂度此外,我们的方法可以有效地应用于大多数常规的预训练模型,而无需任何额外的训练技巧。本文的主要贡献如下:基于滤波器组近似的极端网络压缩3– 提出了一种滤波器组近似方法,将规则卷积层分解为具有微小准确性损失的滤波器组结构,同时大部分保留特征表示多样性。– 实验和讨论为网络压缩中的退化问题提供了新的启发和有前途的2相关工作首先,我们简要地讨论了相关的工作,包括网络修剪,低秩分解和有效的架构设计。网络修剪:网络修剪是减少深度神经网络中冗余的有效方法[31]。修剪的直接方式是评估权重的重要性(例如,权重的大小[6,21],激活的稀疏性[11],泰勒展开[24]等。),因此可以在对性能影响较小的情况下修剪不太重要的权重 Yu等人[39]提出了一种神经元重要性分数传播算法,将重要性分数传播到每个权重。He等人。 [9]利用基于Lasso回归的通道选择和最小二乘重建来压缩网络。此外,有几个基于训练的研究,其中滤波器的结构在训练期间被迫稀疏[22,35]。最近,Huang等人[12]提出了一种精心设计的方案,在训练过程中修剪具有稀疏性和规律性的神经元连接。低秩分解:代替去除网络的神经元,已经提出了一系列的工作来表示原始层与低秩近似。先前的作品[4,20]应用矩阵或张量因式分解算法(例如,SVD、CP分解)对每一层的权重进行加权以降低计算复杂度。 Jaderberg等人[16]提出了一种联合重构方法,将k×k滤波器分解为k× 1和1 ×k滤波器的组合。这些方法只能在浅层网络上获得有限的压缩Zhang等人。 [41]使用非线性非对称重建方法改进了大型数据集上更深网络的低秩近似。类似地,Masana et al. [23]提出了一种域自适应低秩分解方法,该方法能有效地解决新域的自适应低秩分解问题。 阿尔瓦雷兹等。[1]在训练过程中将参数矩阵正则化为低秩,以便在后处理阶段可以轻松分解。高效的架构设计:在资源受限的设备上应用CNN的需求也鼓励了高效架构设计的研究。 AlexNet [19]利用滤波器组卷积来解决计算资源的约束。ResNeXt [37]取代了常规ResNet的残差块中的3×3卷积层与组卷积层一起实现更好的结果。Xception [2]中提出的深度可分离卷积提升了嵌入式设备上低成本CNN的性能。受益于深度可分离卷积,MobileNet v1[10],v2 [28]和4Bo Peng,Wenming Tan,Zheyang Li,Shun Zhang,Di Xie,Shiliang Pu图二.分解的图示。将具有权重矩阵W的原始层分解为分别具有权重矩阵D和P的两层ShuffleNet [40]在几个任务上实现了最先进的性能,显著降低了计算需求。3方法在本节中,我们介绍一种新颖的滤波器组近似方法,以将常规卷积层分解为滤波器组结构的形式。此外,我们还讨论了压缩网络的退化问题。3.1权的滤子群逼近卷积层的权重可以被认为是张量W∈RCin×k×k×Cout,其中Cout和Cin分别是输出通道和输入通道的数量,k是滤波器的空间大小通过将W应用于从层输入的k×k滑动窗口采样的X∈RN×Cin×k×k来计算响应Y∈RN×Cout因此,卷积运算可以公式化为:Y = X × W。(一)为了简单起见,省略了偏置项。X和W可以被看作分别具有形状N-乘-(Cin k2)和(Cin k2)-乘-Cout的矩阵。计算复杂度Eqn. 1是O(Cink2Cout)。矩阵W的每一行仅与m在riXXX处的对应列相乘。本文将C_i分解为W的n×k×k列和X的n×k×k列,记为Wi和Xi(i=1,2,…. . . ,C in/n)。等式1可以等同地描述为:Y=ΣX1 X2... XCin/nΣW1W2...W Cin/n好吧(二)基于滤波器组近似的极端网络压缩5i,n、、、表1. ResNet34全网压缩每一级的n设置。“Our s - R es 34 / A”、“Our s - R es 34 /B”、“Our s-R es 34 / C”和“Our s - R es 34 / D”不适用于您正在使用的工作。图层名称 输出大小 ResNet34 Ours-Res34/A Ours-Res34/B Ours-Res34/C Ours-Res34/Dconv1112× 112-conv2 x56× 56-n=8n=4n=1n=1conv3 x28× 28-n=32n=16n=4n=1conv4 x14× 14-n=128n=64n=16n=1conv5 x7× 7--n=256n=64n=1FC1× 1-FLOPs7 .第一次会议。32×1093 .第三章。98× 109二、58× 1091 .一、44×1091 .一、11×109每个秩为di的子矩阵Wi可以分解为两个矩阵Di和P1使用SVD。考虑到层中参数的冗余,Wi可以通过W~i=Di,n×PT,其中,rankn≤di,来近似于d。迪,那和皮,那不是与最大的n个奇异值相关的Di和Pi的前n列通过布置Di,n和Pi,n从W的每个子矩阵分别分解为两个矩阵D和P,我们可以得到矩阵W的一个近似,即W≈D×P(图2)。具有权重W的原始层可以被分别具有权重D和P的两个层替换。因此,原始响应可以近似为Y*,其中:Y≈Y*= X×D × P。(三)矩阵D是块对角矩阵,如图1所示。2,它可以使用空间大小为k × k的滤波器中的C的组卷积层来实现,并且每个滤波器依次与n个输入通道卷积。P是1× 1卷积层,用于创建D输出的线性组合。因此,Eqn. 3是O(Cin k2n+Cin Cout)。比较Eqn。1,复杂度降为(n/Cout+ 1k2).在n= 1的情况下,它缩小到原始卷积的约1k2,这被称为深度卷积。3.2压缩网络的重构与微调由于我们的近似是基于W的子矩阵,近似的子矩阵之间的累积因此,我们通过以下方式进一步最小化重建误差:A=argminY−Y×A2,(4)A*2其中Y表示原始网络的响应,Y*是近似后的响应。等式4是一个典型的无约束线性回归问题,可以用最小二乘优化方法求解。矩阵A可以实现为1× 1卷积层,实际上可以合并到P中,因此没有额外的层。6Bo Peng,Wenming Tan,Zheyang Li,Shun Zhang,Di Xie,Shiliang Pu′(a)(b)第(1)款图三.两个低秩分解策略。(a)基于SVD的方法第一个Cd奇异向量在SVD中被保留。(b)采用k×1和1×k卷积的重建方法。块对角权重矩阵W1使用kW的副本,W是k×1卷积的权重矩阵。W2为权矩阵1×k卷积经过每层重构后的压缩网络,在不进行精细化处理的情况下,仍能保持良好的性能。在我们的示例中,具有非常小的学习速率的几个部件的微调(通常小于20个时期)足以实现更好的3.3各层当压缩整个网络时,需要为每个层确定适当的压缩比。一种常见的策略是为每一层移除相同比例的参数。但是,这是不合理的,因为不同的层-ER不是同样冗余的。如[9,41]所述,较深的层具有较少的冗余,这表明在整个网络压缩中,随着深度的增加,压缩量减少。在我们的方法中,压缩比由n控制(见3.1节)。对于整个网络压缩,我们为更深层设置更大的n。整个网络的卷积层可以根据下式分成几个阶段:对应输出特征的空间大小。经验之谈[14]作为参考,我们为同一阶段中的那些层设置相同的n,并且相邻级之间的n的两个值之比为1:4(浅一个vs深一个)。表1示出了在整个网络组件中ResNet 34的每个阶段的η的设置,并且我们将在实验中进一步讨论网络深度的不同压缩程度。3.4关于简并问题如[29]所述,权重的雅可比矩阵表示输入和输出之间的相关性J可被计算为:J=Y/X,其中X和Y被输入并且基于滤波器组近似的极端网络压缩7(a) CIFAR100上的VGG16(S)(b)ImageNet上的VGG16(c)ImageNet上的ResNet34了图 4.第一章我的朋友们都是从我的博客上来的。 此“+”项不包括通过微调来 实现的 组件 的累积 损失;“+” 项不 包括通 过微 调来实 现的累 积损失;“+”项不包括从头开始实现的累积损失。y轴的负值指示改进的模型精度分别输出对于权值为W1和W2的两层线性情形,雅可比矩阵J =W1×W2.低秩分解方法通过在低秩子空间上用几层的线性组合表示原始层来实现压缩。图图3示出了将权重矩阵W分解为两个矩阵W1和W2的两种常见的低秩分解策略。 C in和C out分别是输入和输出字符串的数量,表示文件的大小。考虑 1)的情况,这在经典网络的常规卷积层中很常见,如VGG[30],ResNet[7]。图图3(a)示出了基于SVD的方法[41,23]的实例在SVD中保留第一个Cd奇异向量因此,雅可比矩阵的秩为R1=Cd,1,并且低秩表示的计算复杂度为O(Cink2Cd+CdCout)。而在我们的方法(图。2),无论模型被压缩到何种程度,秩R都可以达到C in,计算复杂度为O(C in k2n + C in C out)。在相同的压缩比下,我们可以得到:Cink2n+CinCoutCd=C在k2+C出来.(五)因为n是C,所以R1<是我们的。等式6表明,模型被压缩得越多,Cd越小,使得雅可比矩阵更加退化。Jaderberg等人[16]提出了一种联合重建方法来表示k×k滤波器与两个k×1和1×k滤波器,其等价于表示′图3(b)。W′是k×1卷积层的权重矩阵,其中′Cd输出通道。雅可比行列式的秩是R2= min(Cdk,C_out),并且′ ′计算复杂度为O(Cin Cdk+CdkCout)。同样,在同一1我们假设分解后的权重矩阵是满秩的,这在实践中总是成立的。8Bo Peng,Wenming Tan,Zheyang Li,Shun Zhang,Di Xie,Shiliang Pu表2.与CIFAR100上VGG16(S)的现有方法比较。FLOPs↓表示计算的压缩;Top-1↓表示top-1精度损失,越低越好。此处的负值表示模型精度方法FLOPS↓顶部-1↓Ours-VGG16(S)/A40.03% -0.39%不对称[41]第41话我的心)39.77%0.28%Liu等人[22日]37.00%-0.22%Ours-VGG16(S)/B73.40%百分之零点零二不对称 (精调,我们的impl。)73.21%1.03%Liu等人67.30%2.34%Ours-VGG16(S)/C84.82% 0.57%不对称 (精调,我们的impl。)84.69%2.94%Liu等人83.00% 百分之三点八五Ours-VGG16(S)/D88.58% 1.93%不对称 (精调,我们的impl。)87.33%4.47%2Liu等人--压缩比,′Cink2n+CinCoutCdk=C在+C输出.(六)当n Cin,k2,R2
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- BSC关键绩效财务与客户指标详解
- 绘制企业战略地图:从财务到客户价值的六步法
- BSC关键绩效指标详解:财务与运营效率评估
- 手持移动数据终端:常见问题与WIFI设置指南
- 平衡计分卡(BSC):绩效管理与战略实施工具
- ESP8266智能家居控制系统设计与实现
- ESP8266在智能家居中的应用——网络家电控制系统
- BSC:平衡计分卡在绩效管理与信息技术中的应用
- 手持移动数据终端:常见问题与解决办法
- BSC模板:四大领域关键绩效指标详解(财务、客户、运营与成长)
- BSC:从绩效考核到计算机网络的关键概念
- BSC模板:四大维度关键绩效指标详解与预算达成分析
- 平衡计分卡(BSC):绩效考核与战略实施工具
- K-means聚类算法详解及其优缺点
- 平衡计分卡(BSC):从绩效考核到战略实施
- BSC:平衡计分卡与计算机网络中的应用
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功