机器学习笔记:inceptionV1 inceptionV2

Posted UQI-LIUWJ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了机器学习笔记:inceptionV1 inceptionV2相关的知识,希望对你有一定的参考价值。

1 inception V1

2015 CVPR 

Going deeper with convolutions

1.1 naive version

用多个尺度的卷积核组合来获得不同大小的感受野,最后拼接成不同尺度的融合,来近似局部最优的结构;

  •  卷积核大小为1,3,5。设定卷积步长为1之后,只要设定填充为0,1,2,那么三个卷积得到的输出就是相同的维度,那么就可以直接来求和

1.2 使用1*1卷积降维后的版本

  •  使用1*1卷积来减少参数量
  • 举个例子,原先输入维度为100*100*128,我们如果直接使用256个5*5的卷积(步长1,填充2),那么此时需要的参数量为128*5*5*256=819200
    • 如果我们先接32个1*1的卷积层,在经过256个5*5的卷积层,那么得到的输出维度还是100*100*256,但此时的参数量为128x1x1x32+32x5x5x256=208896,比819200小很多

1.2.1 网络分析

  •  第一个卷积层输入数据为 224x224x3,卷积核为 7x7,步长为 2,填充为 3       
    • 输出维度:112x112×64
  • 经过 3x3 Max pooling, 步长为 2,填充为 1,
    • 输出维度56x56×64 
  • 第二、第三个卷积先通过1*1卷积降维,再通过3*3卷积,步长为1,填充为1
    • 1*1卷积后输出 56×56×64
    • 输出维度56×56×192
  • 经过3x3Max pooling, 步长为 2,填充为 1
    • 输出维度为28×28×192
  • 第一个inception模块
    • 第一条支线(1*1卷积层)
      • 输出维度28×28×64
    • 第二条直线(3*3卷积层)
      • 不用1*1 卷积降维
        • 步长1,填充1
        • 输出维度28×28×128
      • 使用1*1卷积降维
        • 1*1卷积后:28×28×96
        • 3*3卷积后:输出维度28×28×128
    • 第三条支线(5*5卷积层)
      • 不用1*1卷积降维
        • 步长1填充2
        • 输出维度28*28*32
      • 使用1*1卷积
        • 1*1卷积后 28*28*16
        • 5*5卷积后:输出维度28*28*32
      • 使用3*3池化
        • 输出维度28*28*32

         

    • 总的inception模块输出为 28*28*256(四条支线拼接)
  • 之后的类似

2 Inception V1+

Batch Normalization: Accelerating Deep Network Training b y Reducing Internal Covariate Shift

2015ICML

inception V1+batch normalization

机器学习笔记:神经网络层的各种normalization_UQI-LIUWJ的博客-CSDN博客




 

3 inception V2

2016cvpr

 Rethinking the Inception Architecture for Computer Vision

3.1 用两个3*3卷积代替5*5卷积

  • 两次3*3:
    •  
  • 一次5*5

原来的inception V1

替换之后的inception V2:

 3.2 将n*n卷积替换成n*1卷积和1*n卷积

进一步将3.1的改进替换 

论文中说,一开始使用这个效果并不好,但当grid的大小m在12~20之间时,使用这种形式是比较好的

 3.3 第三种模块

用在grid更小的时候(差不多是8的时候),其中无论是

 

3.4 整体inception V2

  •  没写padded的conv不需要padding,写了padded的conv的padding=1
  • 根据是否需要改变shape的大小,决定inception里面各个模块的padding大小

 

 

以上是关于机器学习笔记:inceptionV1 inceptionV2的主要内容,如果未能解决你的问题,请参考以下文章

机器学习笔记:inceptionV1 inceptionV2

Inception系列

InceptionV1----naive Inception Module

深度学习Inception

Inception结构和Inception V1, V2, V3学习

Tensorflow 实现Google Inception Net