卷积神经网络
一、CNN三大结构特性
- 局部连接——感受野
- 局部连接会大大减少网络的参数。在处理图像这样的高维度输入时,让每个神经元都与前一层中的所有神经元进行全连接是不现实的。让每个神经元只与输入数据的一个局部区域连接,该连接的空间大小叫做神经元的感受野,它的尺寸是一个超参数,其实就是滤波器的空间尺寸。
- 权值共享——卷积
- 在卷积层中使用参数共享是用来控制参数的数量。每个滤波器与上一层局部连接,同时每个滤波器的所有局部连接都使用同样的参数,此举会同样大大减少网络的参数。
- 空间或时间上的下采样——池化 pooling
- 它的作用是逐渐降低数据的空间尺寸,这样的话就能减少网络中参数的数量,使得计算资源耗费变少,也能有效控制过拟合。
二、卷积神经网络
- 用卷积层代替全连接层
- 卷积网络是由卷积层、子采样层、全连接层交叉堆叠而成。
- 趋向于小卷积、大深度
- 趋向于全卷积
-
池化层 - 典型结构
- 一个卷积块为连续M 个卷积层和b个池化层(M通常设置为2 ∼ 5,b为0或1)。一个卷积网络中可以堆叠N 个连续的卷积块,然后在接着K 个全连接层(N 的取值区间比较大,比如1 ∼ 100或者更大;K一般为0 ∼ 2)。
三、计算机看到的图片
RGB三通道 二维数组
2、各层
(1)卷积层
- 输入:D个特征映射 M×N×D
- 输出:P个特征映射 M'×N'×P
- 特征映射(Feature Map):一幅图像经过卷积后得到的特征。
- 卷积核看成一个特征提取器
2、激活函数
激活函数是用来加入非线性因素,解决线性模型所不能解决的问题。激活函数的意义是“让神经网络具备强大的拟合能力”。线性方程的复杂性有限,并且从数据中学习复杂函数映射的能力更小。一个没有激活函数的神经网络只不过是一个线性回归模型。
Sigmoid系列(Logistic-Sigmoid、Tanh-Sigmoid)
从数学上来看,非线性的Sigmoid函数对中央区的信号增益较大,对两侧区的信号增益小,在信号的特征空间映射上,有很好的效果,通过对加权的输入进行非线性组合产生非线性决策边界.从神经科学上来看,中央区酷似神经元的兴奋态,两侧区酷似神经元的抑制态,因而在神经网络学习方面,可以将重点特征推向中央区,将非重点特征推向两侧区.
Relu系列函数
计算简单,导数简单,收敛快,单侧抑制 ,相对宽阔的兴奋边界 ,稀疏激活性;缺点在于在训练的时候,网络很脆弱,很容易出现很多神经元值为0,从而再也训练不动。
3、步长
步长=2
filter个数3 3*3
零填充
这是最复杂的一个情形,几乎很多实际应用都可以对应到这个问题上, 都是在做这样一件事(?)
1)输入对应着rgb图片
2)一旦输入的特征图个数是多个,这个时候每一组filter就应该是多个,而这里有两组filter
3)输入是三个特征图,输出为两个特征图,那么我们同样看看每个特征图怎么计算的。
至此,我们应该知道,卷积到底是在做一件怎么样的事情,任意给你一张图片你应该知道卷积是在做什么?
4、卷积层(?)
5、卷积核的通道数
6、池化层
- 卷积层虽然可以显著减少连接的个数,但是每一个特征映射的神经元个数并没有显著减少。
- 通过下采样,可以减少特征图的大小,同时减少神经元个数。
7、全连接层-输出一维的特征向量
图像特征图的“分布式特征表示”映射到样本标记空间。在整个卷积神经网络中起到“分类器”的作用(?)
8、softmax层-输出概率预测结果
通过Softmax函数将多个标量映射为一个概率分布,输出分类结果的置信度。
9、softmax层-输出概率预测结果(?)
softmax函数,将输出结果变为e的指数次幂,除以全部输出的e的指数次幂的和(相当于做了一次归一化)
可以看做概率输出
多分类问题,概率最大的那个作为最终输出的类别
10、CNN卷积神经网络识别图像的过程