深度学习第四课

第九章 卷积神经网络解读

9.1 计算机视觉

目标分类

目标识别

64x64x3=12288

1000x1000x3=3000000

使用传统神经网络处理机器视觉面临的一个挑战是:数据的输入会非常大

一般的神经网络很难处理海量图像数据。解决这一问题的方法就是卷积神经网络

9.2 卷积运算

神经网络由浅层到深层,分别可以检测出不同层次的信息,在计算机视觉中我们依托深度卷积神经网络,来依次学习理解图片的边缘特征、局部特征(例如眼睛、鼻子等),直至最后一层综合前面检测的特征来识别整体图像内容。

9.3 边缘检测

  • 垂直边缘检测
  • 水平边缘检测

*:表示卷积

9.4 Padding填充

输入大小:nxn

滤波器大小:fxf

输出大小:(n-f+1)x(n-f-1)

问题:边缘的次数较少,中间的次数较多,因此忽略了边缘的信息,我们可以在卷积前,先填充一层像素。

Padding=1:填充一圈

  • Valid卷积:不填充
  • Same卷积:填充后,输出输出大小一样,此时p=(f-1)/2

9.5 Stride卷积步长

Stride=2

输出大小:(n+2p-f)/s +1

9.6 三维卷积

不同通道的滤波器可以不相同。

9.7 单层卷积网络

9.8 简单卷积网络示例

卷积神经网络包含有三种典型的层结构:

  • Convolution
  • Pooling
  • Fully connected

9.9 池化层

1Max pooling

缩减模型的大小,提高计算速度,同时减小噪声提高所提取特征的稳健性。

2Average pooling

9.10 卷积神经网络示例

9.11 为什么使用卷积??

  • 参数共享:一个滤波器能对整个输入的某一特征进行探测
  • 稀疏连接:输入与输出之间的连接是稀疏的,每个输出值只取决于输入在局部的一小部分值

由于CNN参数数量较小,所需的训练样本就相对较少,因此在一定程度上不容易发生过拟合现象。

第十章 经典CNN网络实例详解

10.1 经典卷积网络

1LeNet5:手写字体识别模型,90年代提出来,是最早的卷积神经网络之一

当 LeNet-5 模型被提出时,其池化层使用的是平均池化,而且各层激活函数一般选用 Sigmoid 和 tanh。现在我们更多的会使用最大池化并选用 ReLU 作为激活函数。

2AlexNet

3VGG-16:证明了增加网络的深度能够在一定程度上影响网络最终的性能,大家广泛的将其作为典型CNN结构。

16是指网络中包含16个卷积层和全连接层,超参数较少

10.2 残差网络 ResNet

随着神经网络层数变多和变深,会带来严重的梯度消失和梯度爆炸问题,使得模型难以寻训练成功!

在网络结构层面,一种解决方法是人为地让神经网络某些层跳过下一层神经元的连接,隔层相连,弱化每层之间的强联系。这种神经网络被称为Residual Networks(ResNets)残差网络。

说明残差网络有助于解决梯度消失和梯度爆炸问题,使得在训练更深网络的同时,又能保证良好的性能。

残差网络有效的原因?

10.3 1x1卷积(滤波器的尺寸为1)

相当于乘积操作,类似全连接层的神经网络结构,从而对数据进行升降维度

10.4 Inception网络

之前的CNN典型结构,都只选择单一尺寸和类型的滤波器,而Inception网络的作用是代替人工来确定卷积层中的滤波器尺寸与类型

Inception 网络选用不同尺寸的滤波器进行 Same 卷积,并将卷积和池化得到的输出组合拼接起来,最终让网络自己去学习需要的参数和采用的滤波器组合。

Inception引入了1x1卷积来减少计算量问题。1x1 的卷积层通常被称作瓶颈层(Bottleneck layer)。借助在网络中合理设计瓶颈层,可以在保持网络性能的前提下显著缩小计算规模。

10.6 迁移学习

10.7 数据扩增

镜像翻转、随机裁剪、色彩转换

猜你喜欢

转载自blog.csdn.net/weixin_51293984/article/details/134022794