-
输入层
进行预处理操作。
三种常用方式:
-
均值化
-
归一化
-
PCA/白化
-
卷积层(提取特征)
每个卷积层都包含多个特征映射,每个特征映射是由多个神经元所构成的“平面”,通过一种卷积滤波器(卷积核)提取局部特征
如:
一个卷积层由6个特征映射构成,每个特征映射是一个28x28的神经元阵列,每个神经元负责从5x5的区域通过卷积滤波器提取局部特征
a.6个特征映射:“输入图像”根据不同核提取出的不同“特征”
b.28x28的神经元阵列:单个核扫描“输入图像”(矩阵)经权重偏移值(阈值)得到的“输出图像”(矩阵)
c.5x5的矩阵:即卷积滤波器(卷积核)的尺寸
-
池化层(强化特征)
降低了各个特征图的维度,但可保留大部分重要信息。池化层通常夹在连续的卷积层中间,压缩数据和参数量,减少过拟合,池化层没有参数,它把上层给它的结果做了个下采样(数据压缩):
Max pooling:
从定义的空间领域(如2x2的窗口),并从窗口内的修正特征图中取出最大的元素
Average pooling:
从窗口内的修正特征图算出平均值
注:
Pooling在不同的depth上是分开执行的,深度(通道)=5的话,pooling进行5次,产生5个池化后的矩阵
-
全连接层(提纯特征)
将特征空间通过线性变换映射到样本标记空间(也就是label)
高度提纯特征,将上层的特征图转化为一维向量,方便接下来的回归/分类。
单层感知机(简单神经元):(多输入单输出的网络):
多层感知机(相当于多层嵌套运算):
将特征空间通过线性变换映射到样本标记空间(也就是label)
在CNN结构中,经多个卷积层和池化层后,连接着1个或1个以上的全连接层。与MLP(Multilayer Perceptron,多层感知机)类似,全连接层中的每个神经元与其前一层的所有神经元进行全连接。全连接层可以整合卷积层或者池化层中具有类别区分性的局部信息。为了提升 CNN非线性表达能力,全连接层每个神经元的激励函数一般采用ReLU函数。最后一层全连接层的输出值被传递给一个输出,可以采用softmax逻辑回归(softmax regression)进行分类。
-
输出层与损失函数的反向传播层
经回归后(softmax),可得到一组概率向量(P1),设labels的概率向量为P2,可以用来计算交叉熵,使用损失(误差)函数让交叉熵不断趋于最小
注:
softmax处理过程:
附注:
-
多通道(RGB)的卷积计算:
先分别在三个通道做卷积,再将三个通道的卷积结果加起来得到卷积输出
-
关于卷积层的图像理解:
3. 要理解两个卷积神经网络的最重要的特点:
-
局部连接
神经元只对一小部分的区域的像素作用,使总体的权重参数锐减
-
权重共享
特征映射图中每个神经元使用同一个卷积核对感受野作用