前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ICML2020 | Prune or Not to Prune?与其剪枝丢掉无用通道,不如将其激活?

ICML2020 | Prune or Not to Prune?与其剪枝丢掉无用通道,不如将其激活?

作者头像
AI科技评论
发布2020-06-17 18:13:59
8970
发布2020-06-17 18:13:59
举报
文章被收录于专栏:AI科技评论AI科技评论

本文介绍的是ICML 2020 论文《Channel Equilibrium Networks for Learning Deep Representation》,论文作者来自香港大学罗平组。

作者 | 邵文琪、罗平

编辑 | 丛 末

论文地址:https://arxiv.org/pdf/2003.00214.pdf

1

前言

这篇文章主要介绍我们ICML 2020的一个工作——Channel Equilibrium Networks for Learning Deep Representation。卷积神经网络(CNN)中最重要的一个概念就是通道(Channel),与之相关联的基本结构包括卷积层、归一化层(如BN等)。比如卷积中的一个kernel通常对应着一个输出通道,而常用的BN就是在每一个通道内计算相应的统计量。

大量研究表明,网络中有效通道的数量与CNN的表达能力关系密切。比如,WideResNet通过增加通道数量也就是网络宽度来提升CNN的表达能力,而常用的模型剪枝方法(Prunning)也发现对一个训练好的网络,删去一些不重要的通道并不会对网络性能产生太大的影响。

在这篇文章中,我们把这些不重要的通道称之为“抑制通道”。抑制通道在特征表示中几乎没有作用,因此网络剪枝即去除抑制通道。与网络压缩不同,本文是为了提升网络的表达能力,因此反其道而行之,一个很自然的想法是,在网络训练过程中,我们可以设法激活抑制通道,使其参与特征的表示学习,从而增加网络的表达能力。更重要的是,当更多的通道都参与特征表示中,不同通道对网络输出的贡献将更加均衡(我们称之为“通道均衡”),这十分有利于提升网络的泛化性能。

图1. 在训练后的VGG网络中,不同“Norm+ReLU-like”基本模块中的抑制通道比例

2

抑制通道为何出现、从何而来?如何减少抑制通道数量?

要减少抑制通道的数量首先需要知道抑制通道通常出现在哪里?以及为什么会出现?

我们发现经过归一化层(如BN和IN等)和非线性激活层(如ReLU)后的输出特征图中会产生抑制通道。如图1所示,在经过标准训练之后的VGG网络中,不同的“归一化+激活”模块中都存在不同比例的抑制通道。这些“抑制通道”的特征数值通常很小(小于0.01),对特征表示几乎没有贡献,降低了网络性能。特别地,该模块可以公式化表达为),其中x是归一化方法中的标准化特征,可以认为其近似服从标准高斯分布,γ和β是归一化模块中的两个可学习向量,而y表示输出特征图。当y接近于0时,y就表示一个抑制通道。可以证明,y等于0,当且仅当γ充分接近0以及β小于0。也就是说只要设法使得γ不接近0或者β不小于0就能避免抑制通道的产生。

3

Channel Equilibrium (CE) 通道均衡模块

本文提出的CE模块的一个重要性质就是可以显示地增大γ的大小,因此能够有效消除抑制通道。更重要的是,我们发现CE模块可以使得不同通道在特征表示过程中的作用更加均衡,从而增加网络的泛化能力。

具体而言,CE采用去相关(Decorrelation)的方法白化归一化层的输出,使得导出的特征图的协方差矩阵成为单位矩阵,这样不同通道在量级上就变得各项同性了。与之前的去相关方法不同的是,CE在在批量估计的协方差矩阵的对角上引入自适应的条件方差,为每个输入单独计算协方差矩阵,从而实现样本特异的去相关操作。基于这样的设计,CE可以分为两个互补的分支,批量去相关(BD)和实例再加权(IR),用公式可以表述为:

4

CE的基本结构

如图2(b)所示,BD分支计算一个批量估计的协方差矩阵Σ,然后运用牛顿迭代法计算一个去相关算子,相比于使用传统的SVD分解计算去相关算子,牛顿迭代法节省了大量的计算成本。同时IR分支负责计算输入特异的去相关算子,这里我们采用在参数化方法和attention机制达到这个目的。

相比于图2(a)中的SE模块,CE结合使用了实例统计量和批量统计量,可以更好地刻画通道之间的关系。同时,CE模块作用于归一化层之后,激活函数之前,因此我们可以将CE模块很方便地应用于各种各样的卷积神经网络中,构建一系列的CENets。比如,图3(c)展示了CE模块如何整合进残差网络中的Bottleneck结构。

图2. SE,CE的结构图以及CE在残差网络中的实现

5

CE与纳什均衡

事实上,CE模块与博弈论中的纳什均衡存在联系。我们可以把每个通道视为策略游戏中的一个player,他们都希望自身能得到最大信息率的输出。同时我们约束每个通道总的输出是有限的,并且通道所有输出的值都非负(注意到这两个约束在卷积网络的背景下是十分合理的,ReLU激活函数保证了输出的非负性)。

进一步地,考虑通道之间的相互联系的时候,我们可以理解成这些players(通道)正在进行一个非合作策略游戏,在博弈论中通常叫做 Gaussian interference game。已经证明,这类策略游戏存在唯一的纳什均衡解。

有趣的是,在一种特殊情况下,纳什均衡解析解的形式与为方程(2)中CE的表达式十分相似,这表明提出的CE模块确实鼓励每一个通道都尽可能表达网络的特征信息。更多细节可以查看论文原文。

6

实验结果

(1)CE可以提升各种各样的网络的分类性能。

首先是在ImageNet上的图像分类实验。可以看到,提出的CE在不同深度的残差网络结构中均能获得显著的提升,CE-ResNet50的top-1分类准确率达到了78.3,甚至超过了ResNet101的baseline。同时,我们注意到在运算量FLOPs和GPU,CPU上的运行时间方面,CE几乎保持了与SE模块一样的测试结果。

在高效的轻量级网络上,CE依然具有明显的优势。对于MobileNetV2,CE相比于SE在ImageNet上的top-1分类准确率提升了1.1(74.6 vs 73.5)。

我们发现,CE可以很好的迁移到其他视觉任务中,比如物体检测,在Mask-RCNN框架下,使用预训练的ResNet50模型,多GPU同步的CE模块可以提升AP至42.0。

最后,我们验证提出的CE是否有助于通道均衡,是否能有效地消除抑制通道。

(2)CE鼓励通道均衡。

我们运用[6]中的Cumulative ablation curve(CAC)曲线观察卷积网络中的通道是否均衡。对于一个训练好的卷积网络,可以随机切除一些通道,测量只有剩余通道的网络的性能损失,通过这个相对的性能损失,我们可以衡量网络中的通道对网络输出的贡献是否均衡。比如,如果一个网络十分依赖一部分相对重要的通道,那么当网络中的通道不断的被随机切除后,网络的性能会下降的更快。

通过这个方法,我们验证使用了CE模块的MobileNetV2和ResNet50均能实现更好的通道均衡效果。

(3)CE能有效消除抑制通道。

根据[7]中的经验,提高weight decay的强度可以增大网络中抑制通道的数量。我们发现,随着weight decay的增大,只使用BN的网络中的抑制通道数量增加,而引入本文提出的CE模块以及CE的子模块BD的时候,抑制通道数量显著降低,即使在很大的weight decay强度下,CE仍然能保持相对高的分类准确性。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI科技评论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 抑制通道为何出现、从何而来?如何减少抑制通道数量?
  • Channel Equilibrium (CE) 通道均衡模块
  • CE的基本结构
  • CE与纳什均衡
  • 实验结果
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档