卷积神经网络
概述
卷积神经网络是近年发展起来,并广泛应用于图像处理和NLP等领域的一种多层神经网络。
传统BP处理图像时的问题:
- 1.权值太多,计算量太大
假设使用100X100的图片进行训练,那么100X100大小的图片有10000个像素点,那么构建网络的输入就需要10000个神经元,网络中的隐藏层神经元数目和输入层神经元数目差不多,这样的话,就会有很多的权值需要训练更新。 计算量非常的大。
- 2.权值太多,需要大量样本进行训练
神经元越多,参数就越多,当你的参数越多的时候,就和解方程一样未知参数越多,需要的越多的数据才能够解出未知参数。
既然存在这些问题那怎么办呢?
CNN通过局部感受野和权值共享减少了神经网络需要训练的参数个数。
上方第一张图为全连接神经网络,上方第二张图和下放第一张图为局部连接神经网络。局部连接神经网络相对于全连接神经网络参数更少。
1.卷积核
滤波器,卷积核的作用大家可以理解为就是提取图片一些不同的特征,不同的卷积核可以提取到不同的特征。
2.池化
Pooling常用的三种方式:
-
max-pooling
- -
meaning-pooling
-
stochastic pooling
3.卷积Padding
SAME PADDING
给平面外部补0,卷积窗口采样后得到一个跟原来大小相同的平面
VALID PADDING
不会超出平面外部,卷积窗口采样后得到一个比原来平面小的平面
4.池化Padding
SAME PADDING:可能会给平面外部补0
VALID PADDING:不会超出平面外部
-
假如有一个28*28的平面,用2*2步长为2的窗口对其进行pooling操作:
使用SAME PADDING的方式,得到14*14的平面;
使用VALID PADDING的方式,得到14*14的平面。 -
假如有一个2*3的平面,用2*2步长为2的窗口对其进行pooling操作:
使用SAME PADDING的方式,得到1*2的平面;
使用VALID PADDING的方式,得到1*1的平面。
5.LeNET-5介绍
LeNET-5是最早的卷积神经网络之一,曾广泛用于美国银行。手写数字识别正确率在99%以上。