简单介绍卷积神经网络中常见的全连接层,卷积层、池化层以及误差反向传播过程和训练优化器的原理。
1 卷积神经网络 CNN
- 卷积神经网络,即包含卷积层的神经网络。
- 第一个卷积神经网路:LeCun的LeNet(1998)网络结构

1.1 CNN的发展

1.2 CNN的应用
图像检测、图像检索、图像检测、图像分割、无人驾驶、GPU、图像迁移



2 神经元

其中,为激励,为神经元连接权值,为偏置,为激活函数。
3 全连接层

4 BP神经网络
4.1 BP神经网络简介
BP(Back Propagation)算法包括信号的前向传播和误差的反向传播两个过程,即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。
4.2 BP神经网络实例
1.输入层
- 彩色RGB图像 –> 灰度化–> 灰度图像 –> 二值化–> 二值图像

- 窗口滑动:计算白色像素占整个框像素的比例

- 按行展开,拼接成行向量(神经网络输入层)

2. 输出层
one-hot编码

3. 神经网络

5 卷积层
目的:进行图像特征提取
特性:拥有局部感知机制,权值共享(减少参数)
权值共享
5.1 卷积过程


通过观察可以发现:
卷积核channel与输入层的channel相同- 输出的
特征矩阵channel与卷积核个数相同
5.2 激活函数
目的:引入非线性因素,使其具备解决非线性问题的能力。
Sigmoid激活函数
- 饱和时梯度非常小,故网络层数较深时易出现梯度消失。
- 计算多类损失最后使用
softmax激活函数,经过softmax处理后所有输出节点概率和为1。
- ReLU激活函数
- 缺点在于当反向传播的过程中有一个非常大的梯度经过时,反向传播更新后可能导致权重分布中心小于0,导致该处的倒数始终为0,反向传播无法更新权重,即进入失活状态。
- 失活后无法“复活”。建议一开始不使用较大学习率,否则大多数神经元容易失活。

5.3 越界情况
利用padding补零,经卷积后的矩阵尺寸大小计算公式为:
其中,输入图片大小为,Filter大小为,步长为,padding的像素数为.
6 池化层
目的:对特征图进行稀疏处理,减少数据运算量
- 没有训练参数
- 只改变特征矩阵
W和h,不改变channel - 一般
pool size和stride相同
- MaxPooling 下采样层

- AveragePooling 下采样层

7 反向传播
7.1 误差计算
Cross Entropy Loss 交叉熵损失
- 针对多分类问题(最后一层为softmax输出,所有输出概率和为1)
- 针对二分类问题(最后一层为sigmoid输出,输出节点之间相互不相干)
其中,为真实标签值,为预测值,默认=
7.2 误差的反向传播



7.3 权重的更新


8 优化器 optimizer

8.1 SGD

8.2 SGD+Momentum优化器

8.3 Adagrad优化器(自适应学习率)

8.4 RMSProp优化器

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

