没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
卷积神经网络中的即插即用模块
GiantPandaCV 公众号出品
GiantPandaCV-pprp
2020-05-27
卷积神经网络中的即插即用模块 2020-05-27
Contents
卷积神经网络中的即插即用模块 2
0. 序言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1. 即插即用模块简介 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. 注意力模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.1 SENet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2.2 SKNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 scSE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.4 Non-Local Net . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.5 GCNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 CCNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.7 CBAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.8 BAM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.9 SplitAttention . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3. 其他模块 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.1 ACNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2 ASPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.3 SPP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.4 BlazeBlock . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3. 5 深度可分离卷积 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.6 FuseConvBn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.7 MixConv2d . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.8 PPM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.9 RFB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.10 SEB . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
3.11 SSHContextModule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.12 Strip Pooling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
卷积神经网络中的即插即用模块
0. 序言
版权声明:此份电子书整理自公众号「GiantPandaCV 」, 版权所有 GiantPandaCV , 禁止任何形式的
转载, 禁止传播、商用, 违者必究!GiantPandaCV 公众号由专注于技术的一群 90 后创建, 专注于机器
学习、深度学习、计算机视觉、图像处理等领域。半年以来已更新 242 篇原创技术文章。我们编写了
《从零开始学习 YOLOv3》 、《从零开始学习 SSD》 、《Faster R-CNN 原理和代码讲解》 、《多目标
GiantPandaCV-pprp 2
卷积神经网络中的即插即用模块 2020-05-27
跟踪快速入门》等系列原创电子书,关注后回复对应关键字即可免费领取。每天更新一到两篇相关
推文, 希望在传播知识、分享知识的同时能够启发你。欢迎扫描下方二维码关注我们的公众号。
1. 即插即用模块简介
即插即用模块一般是作为一个独立的模块,可以用于取代普通的卷积结构,或者直接插入网络结构
中。
最常见的即插即用模块莫过于注意力模块了,近些年好多略显水的工作都用到了注意力模块,仅仅
需要简单添加这些注意力模块即可作为论文的创新点,比如 SENet+Darknet53 组合。
虽然笔者觉得这些模块有些真的是用来水文章的,但是不可否认很多模块确实增强了模型的特征表
达能力。具体使用和评判还需要各位在自己的实验中以批判的眼光看待。
《卷积神经网络中的即插即用模块》电子书中,笔者将对自己接触过的即插即用模块进行简单讲解,
不涉及核心,如果对具体设计思路和原理感兴趣,可以去公众号找对应的文章或者直接看对应的论
文。
这里的即插即用模块主要分为注意力模块和其他模块。由于笔者本身涉猎有限,不可能将所有的即
插即用模块都总结进来,所以如果有补充的可以联系笔者(微信名片在下),笔者在空闲时间将不断
维护这个即插即用模块的项目。
项 目 地 址: https://github.com/pprp/SimpleCVReproduction/tree/master/Plug-and-play%
20module
GiantPandaCV-pprp 3
卷积神经网络中的即插即用模块 2020-05-27
Figure 1: 笔者微信
一般来说,我们都很喜欢使用即插即用模块,因为其便于实现,可以快速验证,YOLOv4 中就提到了
大量的即插即用模块。不过这些即插即用模块不一定对所有的任务都有效,笔者和一些群友交流过
注意力模块方面的实验,在 YOLOv3 上通常可以带来 1 个百分点左右的提升,但是更多情况下是没有
任何提升。添加这类即插即用模块还需要注意几个问题:
• 插入的位置:有的模块适合插入在浅层,有的模块适合在深层。具体插在哪里最好看原作者论
文中的插入位置作为参考。一般情况可以插入的常见位置有:
1. 瓶颈层:比如 ResNet,DenseNet 的瓶颈层。
2. 上采样层:比如 FPN 分支,Attention UNet。
3. 骨干网络最后一层:比如 SPP, ASPP 等
4. 所有的 3x3 卷积:比如深度可分离卷积等
• 插入后进行实验为何不生效?指标没有提高甚至降低?
很多模块虽然说是即插即用,但是并不是无脑插入以后结果就一定会提高。比如说,一个模型
感受野已经很大,这时候如果在网络的浅层添加一些用于扩大感受野的模块,那样对结果不但
不会有好的用处而且还会带来副作用。正确做法是,分析你网络的需要,根据需求选择对应功
能的模块在合适的位置进行插入, 如果没有明确合适的位置,那就需要通过实验进行分析,确
定哪个位置效果更佳(IBN-Net 中就是对不同位置使用 IBN 的结果进行了分析,最终确定了几
种合适的方案)。
另外,通过和几位知友的讨论,得知这些注意力模块通常情况下都需要调参才能维持原本的准
确率,在调参效果比较好的情况下才能超过原本的模型。
GiantPandaCV-pprp 4
卷积神经网络中的即插即用模块 2020-05-27
• 即插即用模块的作用(以下内容的一个到多个):
1. 扩大模型感受野。
2. 加快计算速度。
3. 增加长距离依赖关系。
4. 增加模型容量 (参数量增加了一部分)
5. 提升了模型特征表达的多样性。
2. 注意力模块
2.1 SENet
说明:最经典的通道注意力模块,曾夺最后一节 ImageNet 冠军。
论文:https://arxiv.org/pdf/1709.01507
代码:
import torch.nn as nn
class SELayer(nn.Module):
def __init__(self, channel, reduction=16):
super(SELayer, self).__init__()
self.avgpool = nn.AdaptiveAvgPool2d(1)
self.fc = nn.Sequential(
nn.Linear(channel, channel//reduction,bias=False),
nn.ReLU(inplace=True),
nn.Linear(channel//reduction,channel, bias=False),
nn.Sigmoid()
)
def forward(self, x):
b,c,h,w = x.size()
y = self.avgpool(x).view(b,c)
GiantPandaCV-pprp 5
剩余53页未读,继续阅读
资源评论
Ctrl_C@V
- 粉丝: 22
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 学校课程软件工程常见10道题目以及答案demo
- javaweb新手开发中常见的目录结构讲解
- 新手小白的git使用的手册入门学习demo
- 基于Java观察者模式的info-express多对多广播通信框架设计源码
- 利用python爬取豆瓣电影评分简单案例demo
- 机器人开发中常见的几道问题以及答案demo
- 基于SpringBoot和layuimini的简洁美观后台权限管理系统设计源码
- 实验报告五六代码.zip
- hdw-dubbo-ui基于vue、element-ui构建开发,实现后台管理前端功能.zip
- (Grafana + Zabbix + ASP.NET Core 2.1 + ECharts + Dapper + Swagger + layuiAdmin)基于角色授权的权限体系.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功