吴恩达深度学习课程笔记(二)—— 深度卷积模型:案例研究

1、经典神经网络

LeNet-5模型

  • 1.假设输入图像的大小是32×32×1,我们用6个大小为5×5的过滤器,步幅为1,padding为0,对其进行一次卷积操作,输出图像的尺寸为28×28×6。
  • 2.使用平均池化层,过滤器宽度为2,步幅为2,将图像缩小一半,故为14×14×6,使用16个大小为 5×5的过滤器,步幅为1,padding为0,对其进行一次卷积操作,输出图像的尺寸为10×10×16。
  • 3.使用平均池化层,步幅为2,将图像的尺寸缩小为5×5×16。
  • 4.将5×5×16的图像展开,得到包含400个节点,每个节点有120个神经元的全连接层,在400个节点中抽取一些节点构成2个全连接层,最后利用84个特征得到最后输出。

AlexNet模型

  • 1.假设输入图像的大小为227×227×3,使用96个大小为11×11的过滤器,步幅为4,padding为0,对其进行卷积操作,输出图像尺寸为55×55×96。
  • 2.使用最大池化层,过滤器大小为3×3,步幅为2,将图像的尺寸缩小为27×27×96。
  • 3.使用256个大小为5×5的过滤器,对其进行same卷积操作,输出图像的尺寸为27×27×256。
  • 4.使用最大池化层,过滤器宽度为3,步幅为2,将图像的尺寸缩小为13×13×256。
  • 5.使用384个3×3的过滤器,对其连续执行两次same卷积操作,输出图像的尺寸为13×13×384。
  • 6.使用256个3×3的过滤器,对其执行一次same卷积,输出图像的尺寸为13×13×256。
  • 7.使用最大池化层,过滤器大小为3×3,步幅为2,将图像的尺寸缩小为6×6×256。
  • 8.将6×6×256的图像展开,得到包含9216个单元,最后进行全连接层,使用softmax函数输出,看1000个可能的对象究竟是哪一个。

VGG-16模型

其CONV layer和POOL layer设置如下:

CONV = 3x3 filters, s = 1, same

MAX-POOL = 2x2, s = 2

  • 1.假设输入图像的大小为224×224×3,使用64个大小为3×3的过滤器,步幅为1,对其进行same卷积操作且连续进行两次,输出图像的尺寸为224×224×64。
  • 2.使用最大池化将输入图像压缩到112×112×64。
  • 3.使用128个过滤器,对其进行same卷积操作且连续进行两次,输出图像的尺寸为112×112×128。
  • 4.使用最大池化将图像压缩到56×56×128。
  • 5.使用256个过滤器,对其进行same卷积操作且连续进行三次,输出图像的尺寸为56×56×256。
  • 6.使用最大池化将图像压缩到28×28×128。
  • 7.使用512个过滤器,对其进行same卷积操作且连续进行三次,输出图像的尺寸为28×28×512。
  • 8.使用最大池化将图像压缩到14×14×512。
  • 9.使用512个过滤器,对其进行same卷积操作且连续进行三次,输出图像的尺寸为14×14×512。
  • 10.使用最大池化将图像压缩到7×7×512。
  • 11.将7×7×512的图像进行两次全连接操作,使用两个具有4096个单元的全连接层,最后进行softmax激活,得到1000个输出的预测结果。

2.残差网络

Residual block

  • a^{[l]}开始进行线性激活,根据公式z^{[l+1]}=W^{[l+1]}a^{l}+b^{[l+1]}计算z^{[l+1]}的值。
  • 然后通过ReLU非线性激活函数a^{[l+1]}=g(z^{[l+1]})得到a^{[l+1]}
  • 接着再次进行线性激活,根据公式z^{[l+2]}=W^{[l+2]}a^{[l+1]}+b^{[l+2]}计算得到z^{[l+2]}
  • 最后根据公式a^{[l+2]}=g(z^{[l+2]})再次进行ReLU非线性激活。

信息流从a^{[l]}a^{[l+2]}需要经过以上所有步骤,即这组网络层的主路径

在残差网络中直接将a^{[l]}向后拷贝到神经网络的更深层,在ReLU非线性激活函数前加上a^{[l]}。因此最后的输出表达式为另一个ReLU非线性函数,即 a^{[l+2]}=g(z^{[l+2]}+a^{[l]}),也就是加上的这个a^{[l]}产生了一个残差块。

第一张图是一个普通网络第二张图是通过ResNet的方法是加上所有跳跃连接,所以它是5个残差块连接在一起构成一个残差网络

如果没有残差网络,对于一个普通网络来说,深度越深则使用优化算法越难训练,训练错误会越来越多。

残差网络的作用

为什么ResNets能够训练更深层的神经网络?

3. 1x1卷积

使用一个6×6的单通道图片和1×1的过滤器进行卷积,结果相当于把这个图片乘以数字1。

上图是一张 6× 6×32的图片和1×1的过滤器进行卷积。

具体过程:1×1过滤器遍历这36个单元格,分别计算每个单元格中32个通道的数字和过滤器中对应的32个数字的乘积之和,然后应用ReLU非线性函数。如果过滤器不止一个,而是多个,那么输出结果为6×6×过滤器数量。这种方法通常称为1×1卷积,有时也被称为Network in Network。

1x1 卷积可以用来缩减输入图片的通道数目,即降维

4.GoogLeNet的特点

随着网络的加深,参数也越来越多,很容易产生过拟合且计算复杂度太大。

解决问题的方法:将全连接层甚至一般的卷积层都转化为稀疏连接。

原因:这样既能保持网络结构的稀疏性,又能利用密集矩阵的高计算性能。

GoogLeNet使用平均池化来代替全连接层,从而大大减少了参数量。同时为了避免训练过程中的梯度消失问题,在网络中间引入了两个辅助的softmax分类层用于向前传导梯度(辅助分类器),从而避免离末尾softmax较远的层难以训练的问题。

参考文章:吴恩达卷积神经网络——学习笔记(二)_chanchanchan的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值