简单介绍卷积神经网络中常见的全连接层,卷积层、池化层以及误差反向传播过程和训练优化器的原理。
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输出,输出节点之间相互不相干)
其中,为真实标签值,为预测值,默认=