【学习记录】Inception结构的简单介绍及Filter Concatenation的理解

【学习记录】Inception结构的简单介绍及Filter Concatenation的理解

我们在研读目标检测类论文时,常常会看到Inception Structure以及一张输入为Previous layers到输出Filter Concatenation的一张流程图。这其实是目标检测类论文的一个常见结构和流程,本文简单的介绍其概念。

Inception

Inception模型有V1到V4四个版本,这里只介绍V1,其他版本的介绍后续会更新。
Inception V1主要是介绍如何在有限的计算资源内,提升网络性能。而提升网络性能的方法有很多,最直接的方法是增加网络的深度和宽度(深度:网络层数;宽度:每层网络的通道数)。但是直接的方法往往会带来一些麻烦:
(1)随着网络深度和宽度的增加,参数不断增加,容易发生过拟合
(2)网络规模不断扩大,参数增加,计算量增大

因此为了解决这个问题我们应该引入稀疏特性和将全连接层换成稀疏连接(将拥挤的网络不失性能的简化,很像dropout)。但由于目前的计算框架对稀疏数据(不均匀)的计算非常低效。因此大量文献指出,将稀疏矩阵聚类成相对密集的子矩阵,可以提高性能,于是提出了Inception结构。
在这里插入图片描述
上图是Inception V1结构的两张图,得出几点结论

  • 使用不同大小的卷积核,表明获得的感受野不同,因此最后融合的特征尺寸也不同
  • pooling层经众多文献表明优化结构,因此结构中也嵌入了
  • 随着网络不断的加深,特征会逐渐抽象,这时需要更大的感受野,因此随层数增加,3 * 3和5 * 5的卷积比例要增加
    在Inception结构中引入1*1的卷积核,可以减少参数量,从而减少一定的计算量。
输入操作输出参数量
128 * 128 * 128256个5*5的卷积核卷积128 *128 * 2565 * 5 * 128 * 256
128 * 128 * 12832个1*1的卷积核卷积后再经过256个5 * 5的卷积核卷积128 *128 * 2561 * 1 * 128 * 32 + 5 * 5 * 32 * 256

可见加入1*1的卷积核后,在不失性能的条件下,减少了参数量。

Filter Concatenation

在这里插入图片描述
上图是我最近阅读的一篇论文的一个模块的流程图,这里也用到了Inception structure。在目标检测中我们在提取目标特征信息的时候,常常要扩大感受野(特别是小目标),因此这个结构在这里起到了扩大感受野并且增加语义信息的作用。

Filter Concatenation指的是将输入按照深度连接起来,比如2 * 2 * 3的输入和2个2 * 2 * 4的输入,经过Filter Concatenation后得到的是2 * 2 * 11的输出,11=3+2*4。

那么可能大家会有一个疑问,在Inception structure中不是存在不同的卷积核吗,那么最后的输出会是一样的W和H吗,那么我们不就连接的是不一样尺寸的输入了吗?

其实不同的卷积核通过卷积得到的输出不仅仅取决于卷积核的大小,还有卷积核的步长,卷积核的是否填充,以及如上图所示不同大小卷积核之间的组合,因此我们最后输出的是一样W和H的输出。因此我们只需要考虑将其深度连接即可。

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值