March 27, 2022

Basic Knowledge of CNN

简单介绍卷积神经网络中常见的全连接层,卷积层、池化层以及误差反向传播过程和训练优化器的原理。

1 卷积神经网络 CNN

Net_LeNet

1.1 CNN的发展

1.2 CNN的应用

图像检测、图像检索、图像检测、图像分割、无人驾驶、GPU、图像迁移

image-20220327213228684

image-20220327213244394

image-20220327213324662

2 神经元

image-20220403112023201

y=f(x_1·w_1+x_2·w_2+x_3·w_3-1)

其中, x 为激励, w 为神经元连接权值, -1 为偏置, f(x) 为激活函数。

3 全连接层

image-20220403113627551

4 BP神经网络

4.1 BP神经网络简介

BP(Back Propagation)算法包括信号的前向传播和误差的反向传播两个过程,即计算误差输出时按从输入到输出的方向进行,而调整权值和阈值则从输出到输入的方向进行。

4.2 BP神经网络实例

1.输入层

  1. 彩色RGB图像 –> 灰度化–> 灰度图像 –> 二值化–> 二值图像

image-20220327214232774

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

image-20220327214413416

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

image-20220327214508874

2. 输出层

one-hot编码

image-20220327214704028

3. 神经网络

image-20220327214728420

5 卷积层

目的:进行图像特征提取

特性:拥有局部感知机制,权值共享(减少参数)

权值共享

image-20220327215001204

5.1 卷积过程

SouthEast

image-20220327215117151

通过观察可以发现:

5.2 激活函数

目的:引入非线性因素,使其具备解决非线性问题的能力。

  1. Sigmoid激活函数

o_1=\frac{e^{y_1}}{e^{y_1}+e^{y_2}}\\ o_2=\frac{e^{y_2}}{e^{y_1}+e^{y_2}}

  1. ReLU激活函数

image-20220327215434274

5.3 越界情况

利用padding补零,经卷积后的矩阵尺寸大小计算公式为:

N=(W-F+2P)/S+1

其中,输入图片大小为 W×W Filter大小为 F×F ,步长为 S padding的像素数为 P .

6 池化层

目的:对特征图进行稀疏处理,减少数据运算量

  1. MaxPooling 下采样层

image-20220403114548879

  1. AveragePooling 下采样层

image-20220403114623086

7 反向传播

7.1 误差计算

Cross Entropy Loss 交叉熵损失

  1. 针对多分类问题(最后一层为softmax输出,所有输出概率和为1)

H=-\sum_io^*log(o_i)

  1. 针对二分类问题(最后一层为sigmoid输出,输出节点之间相互不相干)

H=-\frac{1}{N}\sum_{i=1}^N[o_i^*log(o_i)+(1-o_i^*)log(1-[o_i)]

其中, o_i^* 为真实标签值, o_i 为预测值,默认 log = ln

7.2 误差的反向传播

image-20220328221513797

image-20220328221543152

image-20220328221622680

7.3 权重的更新

image-20220328221732785

image-20220328221848547

8 优化器 optimizer

image-20220328222050506

8.1 SGD

image-20220328222130228

8.2 SGD+Momentum优化器

image-20220328222335145

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

image-20220328222425119

8.4 RMSProp优化器

image-20220328222528324

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

image-20220328222551419

# CV