深度学习
  • 前言
  • 第一章:经典网络
    • ImageNet Classification with Deep Convolutional Neural Network
    • Very Deep Convolutional Networks for Large-Scale Image Recognition
    • Going Deeper with Convolutions
    • Deep Residual Learning for Image Recognition
    • PolyNet: A Pursuit of Structural Diversity in Very Deep Networks
    • Squeeze-and-Excitation Networks
    • Densely Connected Convolutional Networks
    • SQUEEZENET: ALEXNET-LEVEL ACCURACY WITH 50X FEWER PARAMETERS AND <0.5MB MODEL SIZE
    • MobileNet v1 and MobileNet v2
    • Xception: Deep Learning with Depthwise Separable Convolutions
    • Aggregated Residual Transformations for Deep Neural Networks
    • ShuffleNet v1 and ShuffleNet v2
    • CondenseNet: An Efficient DenseNet using Learned Group Convolution
    • Neural Architecture Search with Reinforecement Learning
    • Learning Transferable Architectures for Scalable Image Recognition
    • Progressive Neural Architecture Search
    • Regularized Evolution for Image Classifier Architecture Search
    • 实例解析:12306验证码破解
  • 第二章:自然语言处理
    • Recurrent Neural Network based Language Model
    • Learning Phrase Representations using RNN Encoder-Decoder for Statistical Machine Translation
    • Neural Machine Translation by Jointly Learning to Align and Translate
    • Hierarchical Attention Networks for Document Classification
    • Connectionist Temporal Classification : Labelling Unsegmented Sequence Data with Recurrent Neural Ne
    • About Long Short Term Memory
    • Attention Is All you Need
    • BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding
  • 第三章:语音识别
    • Speech Recognition with Deep Recurrent Neural Network
  • 第四章:物体检测
    • Rich feature hierarchies for accurate object detection and semantic segmentation
    • Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
    • Fast R-CNN
    • Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks
    • R-FCN: Object Detection via Region-based Fully Convolutuional Networks
    • Mask R-CNN
    • You Only Look Once: Unified, Real-Time Object Detection
    • SSD: Single Shot MultiBox Detector
    • YOLO9000: Better, Faster, Stronger
    • Focal Loss for Dense Object Detection
    • YOLOv3: An Incremental Improvement
    • Learning to Segment Every Thing
    • SNIPER: Efficient Multi-Scale Training
  • 第五章:光学字符识别
    • 场景文字检测
      • DeepText: A Unified Framework for Text Proposal Generation and Text Detection in Natural Images
      • Detecting Text in Natural Image with Connectionist Text Proposal Network
      • Scene Text Detection via Holistic, Multi-Channel Prediction
      • Arbitrary-Oriented Scene Text Detection via Rotation Proposals
      • PixelLink: Detecting Scene Text via Instance Segmentation
    • 文字识别
      • Spatial Transform Networks
      • Robust Scene Text Recognition with Automatic Rectification
      • Bidirectional Scene Text Recognition with a Single Decoder
      • multi-task learning for text recognition with joint CTC-attention
    • 端到端文字检测与识别
      • Reading Text in the Wild with Convolutional Neural Networks
      • Deep TextSpotter: An End-to-End Trainable Scene Text Localization and Recognition Framework
    • 实例解析:字符验证码破解
    • 二维信息识别
      • 基于Seq2Seq的公式识别引擎
      • Show and Tell: A Neural Image Caption Generator
      • Show, Attend and Tell: Neural Image Caption Generation with Visual Attention
  • 第六章:语义分割
    • U-Net: Convolutional Networks for Biomedical Image Segmentation
  • 第七章:人脸识别
    • 人脸检测
      • DenseBox: Unifying Landmark Localization with End to End Object Detection
      • UnitBox: An Advanced Object Detection Network
  • 第八章:网络优化
    • Batch Normalization
    • Layer Normalization
    • Weight Normalization
    • Instance Normalization
    • Group Normalization
    • Switchable Normalization
  • 第九章:生成对抗网络
    • Generative Adversarial Nets
  • 其它应用
    • Holistically-Nested Edge Detection
    • Image Style Transfer Using Convolutional Nerual Networks
    • Background Matting: The World is Your Green Screen
  • Tags
  • References
由 GitBook 提供支持
在本页
  • 前言
  • 1. PolyNet详解
  • 1.1 结构多样性
  • 1.2 多项式模型
  • 1.3 对照试验
  • 1.4 Very Deep PolyNet
  • 2. 总结

这有帮助吗?

  1. 第一章:经典网络

PolyNet: A Pursuit of Structural Diversity in Very Deep Networks

上一页Deep Residual Learning for Image Recognition下一页Squeeze-and-Excitation Networks

最后更新于4年前

这有帮助吗?

tags: PolyNet, Inception, ResNet

前言

在中,和首次得以共同使用,后面简称IR。这篇文章提出的PolyNet可以看做是IR的进一步扩展,它从多项式的角度推出了更加复杂且效果更好的混合模型,并通过实验得出了这些复杂模型的最优混合形式,命名为Very Deep PolyNet。

本文试图从结构多样性上说明PolyNet的提出动机,但还是没有摆脱通过堆积模型结构(Inception,ResNet)来得到更好效果的牢笼,模型创新性上有所欠缺。其主要贡献是虽然增加网络的深度和宽度能提升性能,但是其收益会很快变少,这时候如果从结构多样性的角度出发优化模型,带来的效益也许会由于增加深度带来的效益,为我们优化网络结构提供了一个新的方向。

1. PolyNet详解

1.1 结构多样性

当前增大网络表达能力的一个最常见的策略是通过增加网络深度,但是如图1所示,随着网络的深度增加,网络的收益变得越来越小。另一个模型优化的策略是增加网络的宽度,例如增加Feature Map的数量。但是增加网络的宽度是非常不经济的,因为每增加kkk个参数,其计算复杂度和显存占用都要增加k2k^2k2。

图1:网络深度和精度的关系

因此作者效仿IR的思想,希望通过更复杂的block结构来获得比增加深度更大的效益,这种策略在真实场景中还是非常有用的,即如何在有限的硬件资源条件下最大化模型的精度。

1.2 多项式模型

本文是从多项式的角度推导block结构的。首先一个经典的残差block可以表示为:

(I+F)⋅x=x+F⋅x:=x+F(x)(I+F)\cdot \mathbf{x} = \mathbf{x} + F \cdot \mathbf{x} := \mathbf{x} + F(\mathbf{x} )(I+F)⋅x=x+F⋅x:=x+F(x)

其中x\mathbf{x}x是输入,III是单位映射,‘+++’单位加操作,表示在残差网络中FFF是两个连续的卷积操作。如果FFF是Inception的话,上式便是IR的表达式,如图2所示。

下面我们将FFF一直看做Inception,然后通过将上式表示为更复杂的多项式的形式来推导出几个更复杂的结构。

  • poly-2:I+F+F2I+F+F^2I+F+F2。在这个形式中,网络有三个分支,左侧路径是一个直接映射,中间路径是一个Inception结构,右侧路径是两个连续的Inception,如图3(a)所示。在这个网络中,所有Inception的参数是共享的,所以不会引入额外的参数。由于参数共享,我们可以推出它的的等价形式,如图3(b)。因为I+F+F2=I+(I+F)FI+F+F^2=I+(I+F)FI+F+F2=I+(I+F)F,而且这种形式的网络计算量少了1/3。

  • mpoly-2:I+F+GFI+F+GFI+F+GF。这个block的结构和图3(b)相同,不同之处是两个Inception的参数不共享。其也可以表示为I+(I+G)FI+(I+G)FI+(I+G)F,如图3(c)所示。它具有更强的表达能力,但是参数数量也加倍了。

  • 2-way:I+F+GI+F+GI+F+G。即向网络中添加一个额外且参数不共享的残差块,思想和Multi-Residual Networks相同,如图3(d)。

结合上文提出的多项式的思想,几乎可以衍生出无限的网络模型,出于对计算性能的考虑,我们仅考虑下面三个结构:

  • poly-3:I+F+F2+F3I+F+F^2+F^3I+F+F2+F3。

  • mploy-3:I+F+GF+HGFI+F+GF+HGFI+F+GF+HGF。

  • 3-way:I+F+G+HI+F+G+HI+F+G+H。

I⊕C⊕C2⊕...⊕CnI \oplus C \oplus C^2 \oplus ... \oplus C^nI⊕C⊕C2⊕...⊕Cn

其中CCC表示一个普通的卷积操作,⊕\oplus⊕表示特征拼接。

1.3 对照试验

如图4所示,我们把IR分成A,B,C共3个阶段,它们处理的Feature Map尺寸分别是35×3535\times3535×35,17×1717\times1717×17,8×88\times88×8。如果将A,B,C分别替换为1.2中提出的6个模型,我们可以得到共18个不同的网络结构,给与它们相同的超参数,我们得到的实验结果如图5。

通过图5我们可以抽取到下面几条的重要信息:

  1. Stage-B的替换最有效;

  2. Stage-B中使用mpoly-3最有效,poly-3次之,但是poly-3的参数数量要少于mpoly-3;

  3. Stage-A和Stage-C均是使用3-way替换最有效,但是引入的参数也最多;

  4. 3路Inception的结构一般要优于2路Inception。

另外一种策略是混合的使用3路Inception的混合模型,在论文中使用的是4组3-way→\rightarrow→mpoly-3→\rightarrow→_poly-3替换IR中的阶段B,实验结果表明这种替换的效果要优于任何形式的非混合模型。

注意上面的几组实验

1.4 Very Deep PolyNet

基于上面提出的几个模型,作者提出了state-of-the-art的Very Deep PolyNet,结构如下:

  • stageA:包含10个2-way的基础模块

  • stageB:包含10个poly-3,2-way混合的基础模块(即20个基础模型)

  • stageC:包含5个poly-3,2-way混合的基础模块(即10个基础模块)

初始化:作者发现如果先搭好网络再使用随机初始化的策略非常容易导致模型不稳定,论文使用了两个策略:

  1. initialization by insertion(插入初始化):策略是先使用迁移学习训练一个IR模型,再通过向其中插入一个Inception块构成poly-2;

  2. interleaved(交叉插入): 当加倍网络的深度时,将新加入的随机初始化的模型交叉的插入到迁移学习的模型中效果更好。

初始化如图6所示。

随机路径:收到Dropout的启发,PolyNet在训练的时候会随机丢掉多项式block中的一项或几项,如图7所示。

加权路径:简单版本的多项式结构容易导致模型不稳定,Very Deep PolyNet提出的策略是为Inception部分乘以权值β\betaβ,例如2-way的表达式将由I+F+GI+F+GI+F+G变成I+βF+βGI+\beta F+\beta GI+βF+βG,论文给出的β\betaβ的参考值是0.3。

2. 总结

PolyNet从多项式的角度提出了更多由Inception和残差块组合而成的网络结构,模型并没有创新性。最大的优点在于从多项式的角度出发,并且我们从这个角度发现了PolyNet和DenseNet有异曲同工之妙。

论文中最优结构的选择是通过实验得出的,如果能结合数学推导得出前因后果本文将上升到另一个水平。结合上面的Block,作者提出了混合模型Very Deep PolyNet并在ImageNet取得了目前的效果。

最后训练的时候使用的初始化策略和基于集成思想的随机路径反而非常有实用价值。

图2:(左)经典残差网络,(右):Inception v4

图3:PolyNet的几种block

如果你看过的话,你会发现DenseNet本质上也是一个多项式模型,对于一个含有nnn个卷积的block块,可以用数学公式表示为:

图4:Inception的三个阶段和PolyNet提供的替换方式

图5:PolyNet精度图,上面比较的训练时间和精度的关系,下面比较的是参数数量和精度的关系

图6:(左)nitialization by insertion, (右)interleaved

图7:随机路径。(左):I+F+GF+HGF to I+GF;(右)I+F+G+H to I+G+H

DenseNet
Inception v4
Inception
残差网络
图5:PolyNet精度图,上面比较的训练时间和精度的关系,下面比较的是参数数量和精度的关系
图1:网络深度和精度的关系
图3:PolyNet的几种block
图2:(左)经典残差网络,(右):Inception v4
图6:(左)nitialization by insertion, (右)interleaved
图4:Inception的三个阶段和PolyNet提供的替换方式
图7:随机路径。(左):I+F+GF+HGF to I+GF;(右)I+F+G+H to I+G+H