经典神经网络论文阅读|GoogLeNet(Inception V3)

时间:2024-03-31 15:22:36

InceptionV3

Sergey Ioffe and Christian Szegedy “Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift” ICML2015

Christian Szegedy et al.“Rethinking the Inception Architecture for Computer Vision” CVPR2016

动机(Why)

ImageNet竞赛刷点,提出计算更高效,更宽更广的模型

Introduction 中还提到DNN的一些的前沿应用

  • RCNN (Object detection)
  • Segmentation (全卷积网络)
  • human pose estimation (Deeppose)
  • video classification (李飞飞 CVPR2014)
  • object tracking (NIPS 2013)
  • superresolution (何凯明 ECCV2014,TPAMI2015)

方法(How)

  1. General Design Principles

    • 原则一:避免representation bottlenecks: 过度降维;feature map 的长宽应该随网络加深逐渐减小
    • 原则二:Higher representations are easier to process locally within a network 特征越多,收敛越快,相互独立的特征越多,区分度越大
    • 原则三:spatial aggregation can be done over lower dimensional embeddings without much or any loss in representational power
    • 原则四:平衡width,depth
  2. Facterizing Convolutions with Large Filter Size

    • 大卷积替换成多层小卷积,只要提供相同大小的感受野就行了 ---- 减少了参数量
    • Spatial Factorization into Asymmetric Convolutions: n x n --> 1 x n & n x 1
  3. Auxiliary Classifiers

    V1认为辅助分类器让浅层也学习到特征,辅助分类器能在浅层注入梯度,防止梯度消失;

    这篇文章认为辅助分类器不能帮助模型更快收敛;辅助分类器只是起到了正则化的作用,所以这篇文章改为BN和Dropout来做正则化

  4. Efficient Grid Size Reduction

    原本方法:先池化再卷积违反原则一(过度降维浅层丢失信息),先升维再池化(计算量增加)都很expensive

    高效下采样

    池化和卷积并行的Inception模块 ;加深——两条路径做卷积(卷积分解),一条路径做池化,再沿channel摞在一起

    经典神经网络论文阅读|GoogLeNet(Inception V3)

    扩展滤波器组: 加宽——用在模型的最深处,符合原则二:相互独立的特征越多,区分度越大,在最后分类层之前生成高维稀疏特征

    经典神经网络论文阅读|GoogLeNet(Inception V3)

  5. Inception-V3(此文中Section6 标题为Inception-V2,但后来出了Inception-V4之后,我们一般把这篇文章提出的模型称之为Inception-V3,BN的那篇文章称之为Inception-V2)

    经典神经网络论文阅读|GoogLeNet(Inception V3)

  6. 正则化之——标签平滑(LSR,Label Smooth Regulerzation)

    因为交叉熵损失的原因,让label更趋近于softmax之后的分布(0.33,0.9,0.33,0.33),而不是独热编码(0,1,0,0)

    防止过拟合:如果按照独热编码,网络就会尽可能让softmax之后的数为(0.0001,0.99999,0.00001,0.0000)那么在前一层得到的值就变成了(0.0001,正无穷,0.00001,0.00001)过于偏向正确标签

    Hiton “When Does Label Smoothing Help?”

    知识蒸馏(KD):通过引入teacher(复杂模型),诱导student(简单模型)的训练;

    • 以下两篇KD的文章,解释了GoogleNet中采用的LSR和辅助分类器的作用:

    FITNETS:Hints for Thin Deep Nets【ICLR2015】

    deep是DNN主要的功效来源,之前的工作都是用较浅的网络作为student net,这篇文章的主题是如何mimic一个更深但是比较小的网络。

    使用的方法直觉上来讲也是直接的:既然网络很深直接训练会很困难,那就通过在中间层加入loss的方法,通过学习teacher中间层feature map来transfer中间层表达的知识,文章中把这个方法叫做Hint-based Training。(Inception V1 采用了该方法:辅助分类器)

    “Knowledge Distillation in Generations: More Tolerant Teachers Educate Better Students” [AAAI2019]

    硬标签会导致模型产生过拟合现象,soft label对于模型的泛化能力有所帮助

    常用的标签处理策略:label smoothing regularization(lsr)**(Inception V3 采用了该方法:LSR)**和confidence penalty(CP)两种方法,但其缺点是考虑了所有的类。本文提出了一个更合理的方法,没有计算所有类的额外损失,而是挑选了几个具有最高置信度分数的类。

    teacher的loss中加入一个约束:min置信度Top1的标签的和其余K-1个标签平均值之间的gap

    训练student的时候,用teacher 的soft label 和 hard label 融合

    论文中实验在CIFAR-100和ILSVRC2012分类数据集上 涨点3%~8% 不等

扩展应用

分类,检测,迁移

英文表达

  1. The common wisdom is that models employing higher resolution receptive fields tend to result in significantly improved recognition performance. (有一个共识:高分辨率的感受野能得到更好的识别效果
  2. All three networks have almost identical computational cost.
  3. Factorized 7 × 7 includes a change that factorizes the first 7 × 7 convolutional layer into a sequence of 3 × 3 convolutional layers.

实验设计

  1. TensorFlow,50 个副本对应50个GPU,分别batchsize 32,100 epoch,RMSprop decay of 0.9, ϵ = 1.0
  2. 实验发现,在算力固定的情况下,感受野越大,越准
  3. 对比了 不同的参数设置,和数据增强(multi crop)

优缺点分析

  1. LSR
  2. Factorized 7 X 7 into a sequence of 3 x 3
  3. not just the convolutional layer but also the auxiliary classifier‘s fc layer is batch normalized
  4. 计算复杂度进一步降低