2021-06-23 各种经典卷积神经网络总结

各种经典卷积神经网络总结

  • 1、原始卷积 (Vanilla Convolution)
  • 2、分组卷积 (Group convolution)
    • 2.1 组卷积案例1
    • 2.2 组卷积案例2——Resnext
    • 2.3 ShuffleNet
  • 3、转置卷积 (Transposed Convolution)
  • 4、1×1卷积 (1×1 Convolution)
  • 5、空洞卷积 (Atrous convolution)
  • 6、深度可分离卷积 (Depthwise Separable Convolution)
  • 8、空间可分离卷积 (Spatially Separable Convolution)
  • 9、植入块 (Inception Block)
    • 9.1 Inception v1
    • 9.2 Inception v2

1、原始卷积 (Vanilla Convolution)

背景:CNNs中的卷积,也称为滤波器,是由一组具有固定窗口大小且带可学习参数(learnable paramerters)的卷积核所组成,可用于提取特征。
原理:卷积的过程是通过滑动窗口从上到下,从左到右对输入特征图进行遍历,每次遍历的结果为相应位置元素的加权求和;
特性

  • 稀疏连接(sparse connectivity)
  • 权值共享(shared weights)
  • 平移不变性(translation invariant)
  • 平移等变性(translation equivalence)

2、分组卷积 (Group convolution)

原理: 原始卷积操作中每一个输出通道都与输入的每一个通道相连接,通道之间是以稠密方式进行连接。而组卷积中输入和输出的通道会被划分为多个组,每个组的输出通道只和对应组内的输入通道相连接,而与其它组的通道无关。这种分组(split)的思想随后被绝大多数的新晋卷积所应用。
2021-06-23 各种经典卷积神经网络总结_第1张图片

2.1 组卷积案例1

2021-06-23 各种经典卷积神经网络总结_第2张图片

2.2 组卷积案例2——Resnext

2021-06-23 各种经典卷积神经网络总结_第3张图片
2021-06-23 各种经典卷积神经网络总结_第4张图片

2.3 ShuffleNet

结合了逐点组卷积(Pointwise Group Convolution, PGC)和通道混洗(channel shuffle),来实现一个高效轻量化的移动端网络设计。
2021-06-23 各种经典卷积神经网络总结_第5张图片
2021-06-23 各种经典卷积神经网络总结_第6张图片

3、转置卷积 (Transposed Convolution)

原理: 与常规的卷积操作不同,转置卷积是一种一对多的映射关系,即输入矩阵中的一个值映射到输出矩阵的K×K(i.e., kernel size)个值。在具体的实现当中,需要维护一个转置矩阵,这个矩阵参数是可学习的。

4、1×1卷积 (1×1 Convolution)

特性:

  • 增强特征表达能力
    1×1卷积本质上也是一个带参数的滤波器,在不改变特征图本身尺寸的情况下,能够增加网络深度。通过在卷积后通过非线性激活函数可以有效的增强网络的表达能力。
  • 升维和降维
    1×1卷积可以通过增加或减少滤波器的数量来实现升维或降维的目的。与全连接层不同,由于卷积是基于权值共享,因此能够有效的降低网络的参数量和计算量。另一方面,降低维度可以认为是通过减少冗余的特征图来降低模型中间层权重的稀疏性,从而得到一个更加紧凑的网络结构。
    -跨通道的信息交互
    类似于多层感知机,1×1卷积本质上就是多个特征图之间的线性组合。因此,通过1×1卷积操作可以轻松实现跨通道的信息交互和整合。

5、空洞卷积 (Atrous convolution)

特性:

  • 增大感受野
    空洞卷积可以在同等卷积核参数下获得更大的感受野。所以,对于需要较为全局的语义信息或类似于语音文本需要较长的序列信息依赖的任务中,都可以尝试应用空洞卷积。
  • 表征多尺度信息
    利用带有不同空洞率的卷积,还可以捕捉到多尺度的上下文语义信息。不同的空洞率代表着不同的感受野,意味着网络能够感知到不同尺寸的目标。

6、深度可分离卷积 (Depthwise Separable Convolution)

逐深度卷积
不同于原始卷积,深度卷积是一个卷积核负责一个通道,独立地在每个通道上进行空间卷积。因此,深度卷积的输出特征图数量等于输入特征图数量,无法进行有效的维度扩展。

逐点卷积
由于一个特征图仅被一个滤波器卷积,无法有效的利用不同通道在相同空间位置上的特征信息,由此加入了逐点卷积。点卷积主要是要1×1卷积构成,负责将深度卷积的输出按通道投影到一个新的特征图上。

特性

  • 降低参数量和计算量

深度可分离卷积将原始的卷积运算分为两层,一层用于滤波(深度卷积),一层用于组合(逐点卷积)。这种分解过程能极大减少模型的参数量和计算量。

  • 降低模型容量

深度可分离卷积在应用时并没有使用激活函数。此外,虽然深度可分离卷积可以显著的降低模型的计算量,但同时也会导致模型的容量显著降低,从而导致模型精度的下降。

8、空间可分离卷积 (Spatially Separable Convolution)

9、植入块 (Inception Block)

Inception Block最初提出的目的是希望能够在同一层特征图上获得不同尺度下的特征表征,增加网络宽度有利于获得更丰富的特征表示。

为什么提出Inception
提高网络最简单粗暴的方法就是提高网络的深度和宽度,即增加隐层和以及各层神经元数目。但这种简单粗暴的方法存在一些问题:

  • 会导致更大的参数空间,更容易过拟合 需要更多的计算资源 网络越深,梯度容易消失,优化困难(这时还没有提出BN时,网络的优化极其困难)

2021-06-23 各种经典卷积神经网络总结_第7张图片首先看第一个结构,有四个通道,有11、33、5*5卷积核,该结构有几个特点:

  • 使用这些大小卷积核,没有什么特殊含义,主要方便对齐,只要padding = 0、1、2,就可以得到相同大小的特征图,可以顺利concat。
  • 采用大小不同的卷积核,意味着感受野的大小不同,就可以得到不同尺度的特征。
  • 采用比较大的卷积核即5*5,因为有些相关性可能隔的比较远,用大的卷积核才能学到此特征。
  • 大量的引入了1×1卷积,从而减小网络的整体规模。
    优势:特征在不同尺度上进行处理聚合,这样下一步可以从不同尺度提取特征

9.1 Inception v1

Going Deeper with Convolutions
为了进一步地压缩网络的参数量和计算量,作者在原先的Inception块中大量的引入了1×1卷积,从而减小网络的整体规模。

9.2 Inception v2

Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift
Inception v2的主要思想便是提出了Batch Normalization,通过减少内部协变量偏移有效的加速了深度网络的训练。此外,借鉴VGG-Net的思想,v2将v1中的5×5卷积用两个3×3卷积进行替换,在保证获得同等感受野的情况下,进一步的降低网络的参数量和计算量。

你可能感兴趣的