卷积神经网络基础

卷积神经网络基础

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

1.发展过程

首先是提出了反向传播也就是BP神经网络->利用BP算法训练了LeNet5,标志着CNN面世->
卷积神经网络基础_第1张图片

2.全连接层

卷积神经网络基础_第2张图片
卷积神经网络基础_第3张图片卷积神经网络基础_第4张图片
将图片进行灰度化,在进行二值化卷积神经网络基础_第5张图片

卷积神经网络基础_第6张图片
使用五行三列的窗口进行窗口的滑动,每滑动到一个地方就计算白色占总的比例,如果窗口越界了可以补零或者改变窗口大小,然后得到5✖5矩阵,将其展开拼接成一个行向量

卷积神经网络基础_第7张图片
就可以把行向量当成神经网络的输入层

然后再看输出层

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

卷积神经网络基础_第8张图片
这样就有了输入和期望的输出,就能对网络进行训练了
卷积神经网络基础_第9张图片
我们将输入层节点设为25,输出层设为10,隐藏层节点可以看情况设置

3.卷积层

是CNN中独特的网络结构
卷积其实就是一个滑动窗口在特征图上进行滑动并计算,以一个3*3的卷积核为例
卷积神经网络基础_第10张图片

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

卷积具有两个特性:

1.拥有局部感知机制

2.权值共享

权值共享的优势

卷积神经网络基础_第11张图片

进一步进行了解卷积

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

输入特征矩阵

卷积神经网络基础_第12张图片
三个矩阵分别卷积后的矩阵相加得到输出矩阵

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

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

卷积层的特点:

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

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

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

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

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

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

常用的激活函数有卷积神经网络基础_第13张图片

卷积神经网络基础_第14张图片

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

使用padding方式在周围补上0

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

1.输入图片的大小

2.Filter大小F*F

3.步长S

4.padding的像素数P,一般是左右上下都补零
卷积神经网络基础_第15张图片

4.池化层

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

Max Pooling下采样层(取最大值作为特征输入值)
卷积神经网络基础_第16张图片
AveragePooling平均下采样层(相加取平均值)
卷积神经网络基础_第17张图片

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

5.补充:反向传播

5.1误差的计算

卷积神经网络基础_第18张图片卷积神经网络基础_第19张图片

为什么要用softmax?

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

在这里插入图片描述

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

5.2损失的计算

卷积神经网络基础_第20张图片
输出节点之间互不相关指他们的指不满足任何的分布,比如我们判断一张图片是人还是男人,输出就是不相关的

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

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

卷积神经网络基础_第21张图片

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

对o1求偏导时o2就是常数
在这里插入图片描述
卷积神经网络基础_第22张图片

5.3权重的更新

卷积神经网络基础_第23张图片

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

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

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

若使用分批次样本进行求解,损失梯度指向当前批次最优方向,训练过程更不平稳
卷积神经网络基础_第24张图片

5.4优化器(optimazer)

目的使网络得到更快的收敛卷积神经网络基础_第25张图片

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

卷积神经网络基础_第26张图片

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

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

卷积神经网络基础_第27张图片

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

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

卷积神经网络基础_第28张图片
缺点:学习率下降的太快可能还没收敛就停止了

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

卷积神经网络基础_第29张图片

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

卷积神经网络基础_第30张图片

你可能感兴趣的:(cnn,深度学习,人工智能)