致初学者的深度学习入门系列(二)—— 卷积神经网络CNN基础

卷积神经网络CNN

卷积

​ 卷积运算的过程就是设定一个特定大小和内容的卷积核后,将卷积核在图像上遍历滑动,每次滑动后得到对应卷积核中心位置上的数值等于卷积核上的权重于卷积核对应位置的图像像素值的乘积和。

​ 作用:提取特征

​ 提取垂直边缘特征的示例:

在这里插入图片描述

输入层的维度决定了提取原始特征的数量。

常见卷积核

在这里插入图片描述

Padding

​ 由于卷积的特性,没经过一次卷积得到的结果尺寸就会变小,这样也会导致边缘信息的消失,甚至影响深层网络的工作。通过Padding操作,在图像边缘增加行和列的像素(默认像素值为0),可以解决以上问题。

​ Valid Conv:不经过Padding;Same Conv:经过Padding。

Pooling

​ 池化层也是神经网络中层次结构的一种。

  • Max Pooling

在这里插入图片描述

  • Average Pooling

在这里插入图片描述

**作用:**缩减模型大小,提高计算速度,还可以提高所提取特征的鲁棒性。

Flatten

​ 中文译为“压平”,即将多维度的卷积层的每个节点全部展平成一维的向量,以实现卷积层到全连接层的过渡。但Flatten并不会影响Batch的大小。

网络连接数以及参数数量的计算

以LeNet-5为示例

在这里插入图片描述

map尺寸连接数参数量
32x32x330720
28x28x64704156((5x5+1)x6)
14x14x611760
10x10x161600416((5x5+1)x16)
5x5x164000
120x112048001(400x120x+1)
84x18410081(120x84+1)
10x110841(84x10+1)

残差网络(ResNet)

​ 普通的CNN网络结构会造成很多问题,例如梯度消失、梯度爆炸、退化问题等。

  • 梯度消失:网络每向前传播一层,若乘以一个小于1的误差梯度,当网络越来越深时,梯度越来越接近于0,逐渐消失。
  • 梯度爆炸:网络每向前传播一层,若乘以一个大于1的误差梯度,当网络越来越深时,梯度越来越趋向于无穷,造成梯度爆炸。
  • 退化问题:理论上网络越深能够学习的问题就应该越复杂,而实际中层数深的网络反而没有层数浅的网络表现好。

Residual 结构
Z [ l + 1 ] = W [ l + 1 ] a [ l ] + b [ l + 1 ] a [ l + 1 ] = g ( Z [ l + 1 ] ) Z [ l + 2 ] = W [ l + 2 ] a [ l + 1 ] + b [ l + 2 ] a [ l + 2 ] = g ( Z [ l + 2 ] + a [ l ] ) Z^{[l+1]}=W^{[l+1]}a^{[l]}+b^{[l+1]}\quad a^{[l+1]}=g(Z^{[l+1]})\\ Z^{[l+2]}=W^{[l+2]}a^{[l+1]}+b^{[l+2]}\quad a^{[l+2]}=g(Z^{[l+2]}+a^{[l]})\\ Z[l+1]=W[l+1]a[l]+b[l+1]a[l+1]=g(Z[l+1])Z[l+2]=W[l+2]a[l+1]+b[l+2]a[l+2]=g(Z[l+2]+a[l])
在这里插入图片描述

意义:解决了随着网络深度造成的无法拟合恒等函数问题,从此开创了“网络越深,效果越好”的时代。

在这里插入图片描述

原因:随着网络深度不断增大,所经过的非线性函数越多,数据被映射到更加离散的空间,导致难以实现恒等变换。

ResNet提出一种新的思路,不直接学习目标函数H(x),而是去学习残差F(x)=H(x)-x,这种方法更加容易学习。然后再将学习后的结果加上x即为要学习的函数H(x)。

1x1卷积

​ 特征map的宽和高可以通过池化层进行压缩,但如果要压缩通道的数量呢?

在这里插入图片描述

​ 每一次卷积相当于对着192个通道进行全连接,这样的操作等同于添加了一个非线性操作,可以压缩或保持通道的数量,增加非线性以及进行跨通道的信息交互等。

迁移学习

固定网络前面的层,根据类别构建softmax层。

  1. 用预训练好的模型来初始化网络当前模型参数
  2. 冻结最终完全连接层之外的所有网络权重,这个完全连接层被替换成具有随机权重的新层,并且只有该层被训练。

数据扩充

​ 镜像对称、随即裁剪、色彩转换等

后续

 喜欢的话可以关注一下我的公众号技术开发小圈,尤其是对深度学习以及计算机视觉有兴趣的朋友,我会把相关的源码以及更多资料发在上面,希望可以帮助到新入门的大家!
在这里插入图片描述

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Rosen.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值