Inception系列详解

1.Inception结构

咱们知道当做卷积的时候,是选择1*1的卷积、3*3、5*5、MaxPooling还是Multiple1*1,到底用哪个比较好,对于Inception块来说,这几个卷积都选择了 ,要兼容并蓄,设计了不同的通道,使用不同窗口大小的卷积层,将4个路径从不同层面抽取信息,然后在输出通道维度合并。

其主要的思想是设计了一个inception模块,并通过不断复制这些inception模块来提高网络的深度和宽度,不过GooLeNet主要还是在深度上扩展这些inception模块。


 

左图(a)为Inception模块的初始版本,之前学过的网络架构都是卷积层串行的结构,但是Inception结构是并行结构,也就是说将我们的输入同时输入到四个分支中进行处理,处理后再将我们所得到的特征矩阵按深度进行拼接,得到我们的输出特征矩阵。即每一个inception模块中有四个并行通道,并在通道结束时进行concat。


1x1 conv在文章中主要是用来进行维度的降低以避免计算瓶颈。
其还在前面的网络层一些分支上加入了额外的softmax loss以避免梯度消失问题

通过四个分支可以得到不同尺度的特征矩阵。而且,我们每个分支所得到的特征矩阵的高和宽必须相同,否则就无法按深度进行拼接。

然后我们再看图(b),相对比加了三个1*1的卷积,意思是加了一个降维的功能。

四个并行通道:

    1x1的conv:首先输入先经过1*1的卷积层;通道数是64;主要是用来融合多通道特征。借鉴了【Network in Network】,可以进行输入feature map的降维升维而不会太过损失输入的空间信息;
   1x1conv followed by 3x3 conv:然后第二条路,首先通过1*1的卷积层对通道数做变换,降低通道数来控制模型的复杂度,然后再通过3*3的卷积层,pad=1,使得输入和输出的高宽一样;3x3 conv增大feature map的感受野。
    1x1 conv followed by 5x5 conv

相关推荐

  1. 【SpringBoot系列】AOP详解

    2023-12-15 05:26:02       26 阅读
  2. 【Node系列】Buffer详解

    2023-12-15 05:26:02       28 阅读
  3. 「PHP系列」数组详解

    2023-12-15 05:26:02       17 阅读

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 05:26:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 05:26:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 05:26:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 05:26:02       18 阅读

热门阅读

  1. 第一次使用ThreadPoolExecutor处理业务

    2023-12-15 05:26:02       31 阅读
  2. MATLAB 2018一本通 学习笔记一

    2023-12-15 05:26:02       38 阅读
  3. 数据处理架构

    2023-12-15 05:26:02       37 阅读
  4. 【MySQL】基础(一)

    2023-12-15 05:26:02       36 阅读
  5. 不安全的裸指针

    2023-12-15 05:26:02       34 阅读
  6. kafka rebalance(再均衡)导致的消息积压分析

    2023-12-15 05:26:02       33 阅读
  7. 学习RPC框架-Thrift日志

    2023-12-15 05:26:02       42 阅读
  8. Retrofit上传文件到oss文件存储

    2023-12-15 05:26:02       33 阅读