十一、计算机视觉中几种经典的网络结构

文章目录

  • 1、LeNet-5,AlexNet 和VGGNet
    • 1.1 LeNet-5
    • 1.2 AlexNet
    • 1.3 VGGNet
  • 2、残差网络 (ResNets)
    • 2.1 ResNets产生效果的原因
  • 3、1×1卷积核
    • 3.1 1×1卷积层的作用
  • 4、Inception Network
    • 4.1 使用1×1卷积层来减少Inception network的计算量
  • THE END

1、LeNet-5,AlexNet 和VGGNet

1.1 LeNet-5

\qquad LeNet-5网络是1998年提出的一种用于识别灰度手写字母的神经网络结构,其基本结构如下图所示:
十一、计算机视觉中几种经典的网络结构_第1张图片

1.2 AlexNet

\qquad AlexNet是2012年针对彩色图像识别提出的一种神经网络结构,相对于LeNet-5来说,AlexNet拥有更复杂的网络结构,同时具有更多的超参数,并使用ReLU作为激活函数,从而使得AlexNet具有更好的分类效果,AlexNet的结构如下图所示:
十一、计算机视觉中几种经典的网络结构_第2张图片

1.3 VGGNet

\qquad VGGNet是2015年提出的一种神经网络结构,其中用到的卷积核均为33,stride = 1, same模式;用到的池化核均为22,stride = 2;从而使得VGGNet的结构比较简洁。但是VGGNet的网络深度和参数量较多,训练较为困难。
十一、计算机视觉中几种经典的网络结构_第3张图片

2、残差网络 (ResNets)

\qquad ResNets是由残差块构建的,残差块指的是在原本线性连接的不同层神经网络的神经元基础之上,将前面某层的输入**“skip connection”(short cut)**到后面更深层(通常向后跳两层)的网络之中,从而在一定程度上克服梯度消失和梯度爆炸的问题。残差块的示意图如下图所示:
十一、计算机视觉中几种经典的网络结构_第4张图片
\qquad 从下图针对训练数据集的训练误差可以看出,随着神经网络层数的增加,普通的神经网络的训练误差会先增后降(由于梯度消失/梯度爆炸的问题),而ResNet的训练误差会持续下降,从而可以利用更深层的网络来达到更好的训练效果。
十一、计算机视觉中几种经典的网络结构_第5张图片

2.1 ResNets产生效果的原因

十一、计算机视觉中几种经典的网络结构_第6张图片
\qquad 如上图所示,当在深层神经网络之后又添加了两层新的神经网络层,之后在普通神经网络正向传播的过程中,若使用L2 norm之后使得权重系数和偏置系数置为0,则最后两层神经网络将会导致worse的训练效果;而ResNets在权重系数和偏置系数置为0的情况下,仍能够保证至少添加后两层神经网络不会使得最终训练效果变差。
\qquad 若进行skip connection之后,前面 l l l层的如 a [ l ] a^{[l]} a[l]和后面连接层 a [ l + 2 ] a^{[l+2]} a[l+2]的维度不相同,则需要在 l l l层的如 a [ l ] a^{[l]} a[l]层之前乘以一个权重系数 w s w_s ws,如下图所示:
十一、计算机视觉中几种经典的网络结构_第7张图片

3、1×1卷积核

\qquad 1×1卷积核也叫network in network,其思想是使用11通道数 的卷积核来对输入图像进行处理,从而对原图像每一个切片中的所有像素点使用全连接网络层之后使用ReLU进行激活的效果,如下图所示:
十一、计算机视觉中几种经典的网络结构_第8张图片

3.1 1×1卷积层的作用

\qquad 1×1卷积层的作用之一是不改变原始图像的长度和宽度,缩减原始图像的通道数量,因为输出图像的通道数量等于卷积核的数量,如下图所示:
十一、计算机视觉中几种经典的网络结构_第9张图片
\qquad 若1×1卷积层使用和输入图像相同的通道数,则1×1卷积层也可以增加学习函数的非线性项,从而使得网络可以学习更加复杂的函数。

4、Inception Network

\qquad 在使用卷积神经网络设计模型时,一个比较重要的问题就是选择合适的卷积层、卷积层的维度、池化层和池化层的维度,这些参数的选择也会对模型的训练效果产生较大的影响;为了简化模型的设计难度,同时避免人为思想限制模型的学习能力,提出Inception network。其核心思想是让网络自己学习需要的组成部件和不同组成部件的维度。如下图所示:
十一、计算机视觉中几种经典的网络结构_第10张图片
\qquad 上图中使用不同的卷积层、池化层之后对输入图像处理进行处理,中间卷积层和池化层的参数均为tunning parameters,可以使用神经网络来进行学习。

4.1 使用1×1卷积层来减少Inception network的计算量

\qquad 在使用inception network进行卷积计算时,计算量通常十分巨大,如下图所示:
十一、计算机视觉中几种经典的网络结构_第11张图片
\qquad 上图中直接使用32个5×5×192的卷积层,最终需要的计算量为12亿次。下图是使用了1×1卷积层之后的计算结果,在相同输入输出的情况下,可以将计算量减少为原来的十分之一,即约1.2亿次。
十一、计算机视觉中几种经典的网络结构_第12张图片
\qquad 一个inception 模块的组成如下图所示:
十一、计算机视觉中几种经典的网络结构_第13张图片
\qquad Inception Network 的全貌图如下图所示:
十一、计算机视觉中几种经典的网络结构_第14张图片
\qquad 从inception network的全貌图中可以发现,在inception network中,处理将inception module进行组合连接之外,还增加了一些额外的max pooling layer来改变图像的维度;同时除了最终的输出(经过一个全连接层和softmax层)层之外,还增加了额外的分支输出层,这些分枝输出层的目的是为了检查inception network中间训练结果的有效性,同时可以辅助减少模型的过拟合风险。

THE END

你可能感兴趣的:(深度学习,机器学习,计算机视觉,深度学习,神经网络)