网络不断发展趋势:

  • 深度化
  • 模块化
  • 注意力机制
  • 高效化
  • 自动化

 

深度化:

LeNet:

  • 1989
  • 约六万个参数
  • 手写数字识别
  • 卷积+池化+卷积+池化+全连接+高斯镜像连接
  • 意义:奠定了 卷积+池化+全连接的结构

 

AlexNet:

  • 2012
  • 8层网络结构,约6000万参数
  • ImageNet图像分类网络冠军
  • 意义:第一个深层网络+Dropout+Relu(提高收敛速度)+最大池化+BatchNormalization
  • 当时受计算能力限制,在两块GPU上并行,网络最后才交互。但是研究者们在此基础上提出组卷积概念。

 

VGGNet:

  • 2015
  • VGG16约1.4亿个参数
  • 多层3×3小filter可以达到大filter的效果, 并且可以减少参数数量
  • 意义: 小卷积核+深度网络 的思想。    相同的感受野,更小的计算量。
  • 限制:因为深度,网络参数太多

 

 

ResNet:

  • 2015
  • 意义:解决梯度消失|爆炸问题+保证网络深度

 

 

 

DenseNet:

  • 2017
  • 使用跨层连接
  • 以前馈的方式使网络的每一层都连接到更深的所有层
  • 和ResNet不同,之前是相加,这里是直接进行连接,可以显式区分不同网络深度的信息

 

模块化

GoogLeNet(InceptionV1,2):

  • 2014
  • 模块化
  • split+transforn+merge
  • Inception模块:
    • split: 将网络拆分成若干个路径
    • transform: 1×1,3×3,5×5卷积,3×3池化
    • merge: 融合起来,传到下一个 
  • 在模块中封装不同大小的卷积核提取不同尺度信息
  • (第二个)在大卷积层前引入了1×1卷积作为瓶颈层减小了参数的计算量

InceptionV3

  • 2016
  • 改进:将5×5的卷积换成3×3,网络具有相同的感受野, 但是运算量更小
  • 改进:将3×3的卷积换成1×1,然后又有串联和并联的结构

 

 

Inception-ResNet:

  • 2016
  • 在Inception的基础上引入残差的连接

 

ResNeXt:

  • 2017
  • concatenate:分成更多的并联路径,虽然增加了计算量,但是性能有提升

Xception:

  • 2017
  • 认为是极端的Inception的结构
  • 1×1卷积:解偶空间特征相关性的方法,降低通道数,提高网络效率
  • 然后,对处理后的特征映射进行k次变换,k次transform
  • 再然后,在特征空间上分别对每个特征空间都进行卷积,提升下率
  • 最后,连接起来,作为一个新的特征映射喂给下一层

 

注意力机制:

SENet:通道注意力

  • 2018
  • 将每一个通道赋予权重:
    • squeeze:  将原来的每一个通道挤压成标量
    • extract:重新调整通道的统计信息,可以看作原来通道的权重

cSE, sSE, scSE: 空间注意力

  • 2018
  • a:  通道
  • b:  通道改良
  • c:  空间
  • d:  空间+通道

CBAM

  • 2018
  • 串行:通道注意力+空间注意力
  • 作者实验表明: 串行可以节省网络参数数量,并且性能也不会下降太多

 

高效化:

主流方法:对卷积层设计特殊结构减少参数数量

 

SqueezeNet:

  • 2016
  • fire模块:
    • squeeze: 用较小的参数数量进行对特征的压缩
      • 1×1卷积:用较小的参数数量进行对特征的压缩
      •  
    • expand:
      • 1×1卷积+3×3卷积:进行对特征扩容
      • 多个较小的卷积核
      • 实现了AlexNet网络的精度,但是参数数量只有AlexNet的1/510

 

MobileNet:

  • 2017
  • 引入深度可分离卷积:先分解成通道的卷积,再分解成空间的卷积
    • 通道卷积:分别对每一个通道,用一个卷积核,进行逐通道的运算(原来的输入有多少个通道就有多少个卷积核)
    • 空间卷积:????像素
  • 极大地减少了参数数量,并且一定程度上保证模型性能

ShuffleNet:

  • 2017
  • 组卷积:
    • 将图像的特征通道进行分组,在组内进行卷积
    • 某些层数中,将不同通道信息连接起来
    • 分组:操作减少参数量
  • Shuffle:
    • 在组内某层中,打乱了通道
    • 实现了组间的交互
    • shuffle: 保证信息的流动

GhostNet:

  • 传统卷积特征映射之间是十分类似,能否通过线性变换将特征结合起来
    • 较少卷积得到特征图像
    • 通过廉价线性变换得到新的特征映射
    • 将原来的和总的加起来,得到总的特征映射
  • 这种方法虽然十分廉价,但是能在一定基础上保证网络的性能

 

自动化:

  • 网络有许多超参数需要优化
  • 网络结构需要设计

NASNet:

  • 2018
  • 强化学习的方法
    • 先在小的数据集上学习基本的网络的模块
    • 再将这些模块迁移到小的,更自然的数据集上
  • 模块:
    • Normal 模块:
      • 约束条件:输入尺度和输出尺度保持一致
    • Reduction模块:
      • 约束条件:输出尺寸是输入尺寸的一半
  • 搜索:
    • 在约束的基础上,网络进行空间搜索
    • 在空间搜索中预先设定一些基本的操作,不同程度的:
      • 卷积
      • 池化
      • conver卷积
      • 深度可分离卷积
      • ......
    • 通过网络自动组合这些操作,形成一个最优的拓扑结构
  • 这样的搜索成本非常高,论文中提到它搜索使用了500块GPU

EfficientNet:

  • 2019
  • 兼顾速度与精度的模型缩放的方法
  • baseline: 基准模式+控制不同尺度:
    • 深度:网络层数
    • 宽度:网络每一层通道数量
    • 特征分辨率:网络特征映射每层的尺寸
  • 对以上三个指标进行等比例的缩放,寻找合适搭配,形成最后的模块,作为网络结构

 

 

卷积网络中需要人工设定的参数+ZFNet:

  • 2013
  • 卷积网络的层数
  • 卷积核大小
  • 卷积步长,卷积填充

  • ZFNet表明特征可视化可以调整网络参数,提升性能

 

 

 

 

 

参考视频:https://www.bilibili.com/video/BV1E54y1B7Ub?from=search&seid=1981385157587163593

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐