港科大&旷视提出WeightNet:高性能涨点并将SENet与CondConv进行统一

2020 年 7 月 26 日 CVer

点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达

本文转载自:AIWalker

标题&作者团队

【Happy导语】该文是Face++的研究员提出了一种更通用的、“即插即用”、高性能涨点网络WeightNet,它将SENet与CondConv统一到了同一个空间中。该文属于动态滤波器卷积(即自注意力机制)的范畴,对这个点感兴趣的同学可以深入研究一下。我肯定不会告诉你笔者之前已经尝试过类似大同小异的探索与思考。推荐指数五颗星。该论文已收录于ECCV 2020

关键词:网络架构、动态滤波器、注意力机制
Paper: https://arxiv.org/abs/2007.11823

Code: https://github.com/megvii-model/WeightNet

Abstract

作者提出一种简单、灵活而有效的框架用于权值生成。该方法是一种通用方法,它将两种独立且非常有效的方法SENet与CondConv纳入到相同框架中。所提方法称之为WeightNet,它通过简单的添加一个额外的组全连接层到注意力激活层得到上述两类方案。WeightNet由全连接层构成并直接输出卷积权值,它即机制简单且易于训练。由于其灵活性,所提方法在ImageNet与COCO均取得了更好的精度-FLOPs和精度-参数均衡。

image-20200725200121165

Method

本文所提WeightNet可以在权值空间角度生成当前两个非常有效的模块:SE与CondConv。下图给出了如何通过WeightNet生成SENet与CondConv的过程示意图。看到这个图后,大家应该可以轻松的将WeightNet与SENet相关联。

image-20200725200957946

其实SENet与CondConv两个都属于注意力机制的范畴,SENet特征层面的注意力机制,而CondConv则属于权值层面的注意力机制。可能之前鲜少有人去研究两者之间是否可以在相同的空间去刻画,而WeightNet就是对此的一个探索。

WeightNet包含GAP操作,故而计算高效。除了GAP外,WeightNet还包含组全连接层操作。下图给出了全连接层示意图以及组全连接层示意图。

image-20200725201738704

Grouped FC  一般而言,全连接层的输入与输出存在全连接且可以通过矩阵乘的方式计算,公式为 ,见上图a;同时,上图b给出了组全连接层的示意图,它具有稀疏形式的连接模式,而组全连接层也是构成WeightNet与CondConv桥接的关键操作。

Denotatoin  假设输入特征为 ,输出特征为 ,卷积权值为 。那么卷积就可以描述为 。而SENet与CondConv则可以描述为:

其中 表示CondConv与SENet中的注意力向量。下面我们就来介绍一下如何通过WeightNet来刻画描述CondConv与SENet。

Rethinking CondConv

从笔者角度来看,CondConv借鉴了“三个臭皮匠顶个诸葛亮”的思想,它在进行卷积之前进行了权值的自适应加权组合,而组合权值则为 ,它具有数据依赖性。

在CondConv中, 通过GAP+FC+Sigmoid等操作得到,该过程描述如下:

接下来,我们将给出如何根据上述组合权值生成最终的卷积权值:

很明显,通过上公式变换,我们可以看到CondConv与WeightNet存在天然的密切相关性。而这种相关性表示在训练阶段是非常有优势的,可以节省显存占用,而且在不少GitHub开源项目中也是进行了上述形式的实现。

Rethinking SENEt

SENet中的SE模块是一种“即插即用型”超轻量型模块,它是一种通道注意力机制。接下来,我们将介绍如果同上组全连接层来生成通道向量

首先,我们先来看一下 的生成过程,它类似于CondConv,包含GAP与两个全连接层以及最后的Sigmoid层。该过程描述如下:

该过程中的采用两个全连接层进行计算量降低。

上述通道注意力向量一般被置于卷积层后(即 ),或者卷积之前( )。从这里的公式可以看到,WeightNet与SENet也存在天然的联系,并可以进行合理的桥接。

我们可以对卷积权值进行重定义 ,注:此时只有一个全连接层。但作者提出采用组稀疏连接操作(降低参数量与FLOPs),见图3-b所示。

WeightNet Structure

前面我们介绍了WeightNet与CondConv、SENet之间的联系并从公式层面进行了桥接。

image-20200725205156652

上图给出了WeightNet、SENet与WeightNet的区别与联系示意图。可以看到:CondConv与SENet是WeightNet的特例。

在WeightNet中,作者引入了两个参数M和G进行更好的扩展性分析。下表也给出了CondConv、SENet与WeightNet的更进一步区别与联系。注:M用于控制输入数量,G用于控制组数。

image-20200725205552943

Implementation Detail  对于 生成阶段,由于它为 维向量,它可能会比较大且存在较多参数,故而类似SE,作者采用了两个全连接层进行生成,生成公式

在第二个极端,作者采用了组全连接进行卷积权值生成,此时包含 输入, 输出, 组。

Complexity Analysis  从前述分析可以看到:WeightNet将卷积计算解耦成了两个分支,见下图。两个分支的复杂度分别为: ;两个分支的参数量分别为0和 。参数量是标准卷积的 倍,这里采用 进行描述,见上表。

Training with Batch Dimension  需要注意WeightNet生成的权值还具有batch维,那么如何更有效的进行训练。假设输入X的维度为 ,首先对其进行reshape ,然后对生成的W进行reshape ,最后采用组卷积的形式进行计算。这点其实与CondConv的推理阶段非常类似,也与github的不少开源实现是相似的。

Experiments

为验证所提方法的有效性,作者在ImageNet与COCO数据上的进行了验证分析,baseline为ShuffleNetV2和ResNet50。直接上结果咯。

下图给出了不同配置上WeightNet模块添加前后的性能对比,可以看到所提方法取得了更好的精度-FLOPs的均衡。

image-20200725211727542

作者同时还给出了所提方法与其他注意力机制的性能对比,见下图。

下表给COCO检测任务上的性能对比。

image-20200725212026142

最后作者还给出了消融实验分析,见下面几个图。

image-20200725212111117

全文到底结束,更多实验结果建议去查看原文。

Conclusion

该文针对SENet与CondConv这两种简单而有效的方法进行了分析,并在权值空间进行了桥接,从而提出了一种更通用型的方案WeightNet。通过调整WeightNet与的两个超参数,可以得到更好的精度-FLOPs均衡。

题外话

最后吐槽一下,文中的图示Fig4。这个图不太容易理解,添加一下不同的颜色会更好,希望该文作者看到可以调整一下这个图。

从笔者的角度来看,虽然该文对SENet以及CondConv进行了统一并得到了WeightNet,但挖掘的深度还是稍显不足。还有更近一步挖掘的空间,还可以在WeightNet的基础上引入PostionNet,做成BilaterNet。从这个角度来看,BilateralNet可以将更多的方法纳入到一个更统一的空间,包含但不限于SENet、CondConv、SAN、CAFAFE、MetaSR等。思路已经提出来了,而且笔者也进行了初步的有效性验证,更深入的探索与分析就留给感兴趣的同学去研究咯,感兴趣者也可以后台留言一起讨论哈。

下载1

在CVer公众号后回复:WeightNet,即可下载论文


下载2


在CVer公众号后台回复OpenCV书籍,即可下载《Learning OpenCV 3》书籍和源代码。注:这本书是由OpenCV发起者所写,是官方认可的书籍。其中涵盖大量图像处理的基础知识介绍,虽然API还是基于OpenCV 3.x,但结合此书和最新API,可以很好的学习OpenCV。



下载3


在CVer公众号后台回复:CVPR2020,即可下载CVPR2020 2020代码开源的论文合集

在CVer公众号后台回复:ECCV2020,即可下载ECCV 2020代码开源的论文合集


重磅!CVer-论文写作与投稿交流群成立


扫码添加CVer助手,可申请加入CVer-论文写作与投稿 微信交流群,目前已满2000+人,旨在交流顶会(CVPR/ICCV/ECCV/ICML/ICLR/AAAI等)、顶刊(IJCV/TPAMI等)、SCI、EI等写作与投稿事宜。


同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。


一定要备注:研究方向+地点+学校/公司+昵称(如论文写作+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群


▲长按加微信群


▲长按关注CVer公众号

整理不易,请给CVer点赞和在看

登录查看更多
1

相关内容

专知会员服务
12+阅读 · 2020年9月19日
专知会员服务
22+阅读 · 2020年9月8日
【CVPR2020】时序分组注意力视频超分
专知会员服务
30+阅读 · 2020年7月1日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【ICLR2020-哥伦比亚大学】多关系图神经网络CompGCN
专知会员服务
49+阅读 · 2020年4月2日
【CVPR2020-旷视】DPGN:分布传播图网络的小样本学习
专知会员服务
26+阅读 · 2020年4月1日
GCNet:当Non-local遇见SENet
极市平台
11+阅读 · 2019年5月9日
后ResNet时代:SENet与SKNet
PaperWeekly
23+阅读 · 2019年3月25日
DeepLab v2及调试过程
计算机视觉战队
5+阅读 · 2018年3月24日
CVPR | ImageNet冠军模型SE-Net详解!
全球人工智能
3+阅读 · 2017年8月2日
Learning Dynamic Routing for Semantic Segmentation
Arxiv
8+阅读 · 2020年3月23日
Arxiv
5+阅读 · 2020年3月16日
Arxiv
92+阅读 · 2020年2月28日
Arxiv
7+阅读 · 2018年12月10日
Meta-Transfer Learning for Few-Shot Learning
Arxiv
7+阅读 · 2018年12月6日
Arxiv
4+阅读 · 2018年4月9日
VIP会员
相关VIP内容
专知会员服务
12+阅读 · 2020年9月19日
专知会员服务
22+阅读 · 2020年9月8日
【CVPR2020】时序分组注意力视频超分
专知会员服务
30+阅读 · 2020年7月1日
CVPR2020 | 商汤-港中文等提出PV-RCNN:3D目标检测新网络
专知会员服务
43+阅读 · 2020年4月17日
【ICLR2020-哥伦比亚大学】多关系图神经网络CompGCN
专知会员服务
49+阅读 · 2020年4月2日
【CVPR2020-旷视】DPGN:分布传播图网络的小样本学习
专知会员服务
26+阅读 · 2020年4月1日
相关资讯
GCNet:当Non-local遇见SENet
极市平台
11+阅读 · 2019年5月9日
后ResNet时代:SENet与SKNet
PaperWeekly
23+阅读 · 2019年3月25日
DeepLab v2及调试过程
计算机视觉战队
5+阅读 · 2018年3月24日
CVPR | ImageNet冠军模型SE-Net详解!
全球人工智能
3+阅读 · 2017年8月2日
Top
微信扫码咨询专知VIP会员