卷积神经网络基础

本文介绍了卷积神经网络的基础,从最初的LeNet模型出发,讨论了全连接层的作用,卷积层的局部感知和权值共享特性,以及如何处理越界问题。接着,解释了池化层的目的和不同类型的池化操作。文章还涉及反向传播过程,包括误差计算、损失计算和权重更新,并提到了几种常见的优化器,如SGD、Momentum、Adagrad、RMSProp和Adam。
摘要由CSDN通过智能技术生成

卷积神经网络基础

雏形:leNet(输出是灰度图)

1.发展过程

首先是提出了反向传播也就是BP神经网络->利用BP算法训练了LeNet5,标志着CNN面世->
在这里插入图片描述

2.全连接层

请添加图片描述
在这里插入图片描述在这里插入图片描述
将图片进行灰度化,在进行二值化在这里插入图片描述

在这里插入图片描述
使用五行三列的窗口进行窗口的滑动,每滑动到一个地方就计算白色占总的比例,如果窗口越界了可以补零或者改变窗口大小,然后得到5✖5矩阵,将其展开拼接成一个行向量


就可以把行向量当成神经网络的输入层

然后再看输出层

one-hot编码是我们常用的对标签进行编码的方式

在这里插入图片描述
这样就有了输入和期望的输出,就能对网络进行训练了
在这里插入图片描述
我们将输入层节点设为25,输出层设为10,隐藏层节点可以看情况设置

3.卷积层

是CNN中独特的网络结构
卷积其实就是一个滑动窗口在特征图上进行滑动并计算,以一个3*3的卷积核为例
在这里插入图片描述

卷积的目的就是进行图像特征提取

卷积具有两个特性:

1.拥有局部感知机制

2.权值共享

权值共享的优势

在这里插入图片描述

进一步进行了解卷积

假如我们输入一张彩色图像,他就分为RGB三个分量

输入特征矩阵

在这里插入图片描述
三个矩阵分别卷积后的矩阵相加得到输出矩阵

卷积核维度要和输入特征矩阵维度保持一致

卷积后进行求和操作得到一个卷积层,不同卷积核进行卷积得到不同输出特征矩阵,然后将不同卷积核得到的输出特征矩阵进行拼接,得到整个输出的特征矩阵

卷积层的特点:

1.卷积核的深度(channel)与输入特征层的深度(channel)相同

2.输出的特征矩阵深度(channel)与卷积核个数相同

问题1:加上偏移量bias该如何计算?

在每层输出特征矩阵中加上偏置即可

问题2:加上激活函数该如何计算?

为什么引入激活函数:是为了引入非线性因素,使其具备解决非线性问题的能力

常用的激活函数有在这里插入图片描述

在这里插入图片描述

问题3:如果卷积过程中出现越界情况该怎么办?

使用padding方式在周围补上0

在卷积操作过程中,矩阵经卷积操作后的尺寸由以下几个因数决定:

1.输入图片的大小

2.Filter大小F*F

3.步长S

4.padding的像素数P,一般是左右上下都补零
在这里插入图片描述

4.池化层

池化层的目的是对特征进行稀疏处理,减少数据运算量

Max Pooling下采样层(取最大值作为特征输入值)
在这里插入图片描述
AveragePooling平均下采样层(相加取平均值)
在这里插入图片描述

池化层的特点:
  1. 没有训练参数
  2. 只改变特征矩阵的w和h,不改变深度channel
  3. 一般pool size和stride相同

5.补充:反向传播

5.1误差的计算

在这里插入图片描述在这里插入图片描述

为什么要用softmax?

因为输出不满足一个分布,所以通过其满足一个概率分布

在这里插入图片描述

经过softmax处理后所有输出节点概率和为1

5.2损失的计算

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CyNeLwOk-1675525219644)(C:\Users\GuoShuXian\AppData\Roaming\Typora\typora-user-images\image-20221222215034557.png)]
输出节点之间互不相关指他们的指不满足任何的分布,比如我们判断一张图片是人还是男人,输出就是不相关的

得到误差之后就可以开始进行误差的反向传播

以w11(2)的误差梯度为例

在这里插入图片描述

在这里插入图片描述看作常数a1

对o1求偏导时o2就是常数
在这里插入图片描述
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MsQfL3PO-1675525219669)(C:\Users\GuoShuXian\AppData\Roaming\Typora\typora-user-images\image-20221222220112413.png)]

5.3权重的更新

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f61AuJcj-1675525219674)(C:\Users\GuoShuXian\AppData\Roaming\Typora\typora-user-images\image-20221222221107469.png)]

在实际应用中往往不可能一次性将所有数据载入内存(算力也不够),所以只能分批次(batch)训练。也可就是将数据分成N等分

ImageNet项目是一个用于视觉对象识别软件研究的大型可视化数据库。超过1400万的图像被ImageNet手动注释,以指示图片中的对象

若使用整个样本集进行求解损失梯度指向全局最优方向

若使用分批次样本进行求解,损失梯度指向当前批次最优方向,训练过程更不平稳
在这里插入图片描述

5.4优化器(optimazer)

目的使网络得到更快的收敛在这里插入图片描述

1.SDG优化器(Stochastic Gradient Descent):慢但是路径很正确

在这里插入图片描述

缺点:1.易受样本噪声影响(就是有些样本的标注可能是错误的) 2.可能陷入局部最优解

2.SGD+Momentum优化器:最常用

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Nd0jXRwF-1675525219695)(C:\Users\GuoShuXian\AppData\Roaming\Typora\typora-user-images\image-20221222221709713.png)]

相较于SGD加上了一个动量,会考虑上一次的梯度方向,就可以有效抑制噪声的干扰

3.Adagrad优化器(自适应学习率):比较常用,效果好


缺点:学习率下降的太快可能还没收敛就停止了

4.RMSProp优化器(自适应学习率)

5.Adam优化器(自适应学习率)

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值