一 CNN的结构
CNN大体分为四层:
1 输入层(Input):输入的是图像的像素矩阵
为减少后续算法的复杂度,一般采用灰度图。输入原始图像的RGB三通道,各通道像素分量为[0,255],为计算方便要归一化,如sigmoid激活函数要归一化到[0,1]。(除以255)
2 卷积层(conv)
通过一块块卷积核在原始图像上平移提取特征,一个卷积核代表提取一种特征。每一个卷积核生成一幅特征图(feature map)。每一种卷积核代表一种特征过滤器。
3 池化层(pooling)
通过汇聚特征后稀疏参数来减少要学习的参数,降低网络的复杂度。池化层可以缩小矩阵的大小(长和宽),从而减少全连接层中的参数(将分辨率较高的图片转化为分辨率较低的图片)。
Pooling层主要的作用是下采样,通过去掉Feature Map中不重要的样本,进一步减少参数数量。
Pooling的方法很多,最常用的是Max Pooling。Max Pooling实际上就是在n*n的样本中取最大值,作为采样后的样本值。
除了Max Pooing之外,常用的还有Mean Pooling——取各样本的平均值。
对于深度为D的Feature Map,各层独立做Pooling,Pooling后的深度仍是D。
4 全连接层(FC)
经过多轮卷积和池化后,在CNN的最后一般会用1~2个全连接层给出最后的分类结果,分类器一般会用softmax。可以将卷积层和池化层看作图像特征提取的过程,最后使用全连接层完成分类任务。
网友评论