-
卷积层
卷积核(kernel),尺寸f*f,深度d,如第一个卷积层的深度和图片通道数一样,三通道为3;往后的卷积层,尺寸自定义,深度和上一层的特征图的深度(个数)一样。
卷积输出的特征图尺寸(W, H):为(N-f+2P)/S+1
N:待作卷积的尺寸(宽或高)
f:卷积核尺寸
P:边界填充(单边)的层数
S:卷积核移动步长
有几个卷积核,就会产生几个特征图,堆叠在一起,所以下一层的特征图深度等于卷积核的个数K. -
激活层
卷积操作之后,相当有进行了加权,这是神经元的输入,要经过激活函数产生输出,如在卷积神经网络中多用的ReLU(修正线性单元)激活函数max(0, x),对卷积后的输出每个元素进行激活,小于0的变为0,大于0的不变. -
池化层(pool)
池化用作下采样,一般为最大池化(max pool),如池化的核为2*2,则池化后为每四个像素的最大值,在不同深度上(特征图层)分别池化。所以池化后,宽和高变小了,深度并没有变. -
全连接层
经过若干次卷积,池化,卷积,卷积,池化等等,特征图已经被提取了局部特征和进行了降维。全连接层和卷积不同的是,卷积是局部加权,局部特征,全连接层是全局的,可以当成1*1的卷积核对所有的像素,包括所有层的加权和。所以一个全连接卷积核,可以对应一个种类,最终(最后)的全连接层的卷积核数应该是种类数。得到那么多种类各自的概率,取最大概率的种类为预测种类
全卷积神经网络FCN
- 一般的卷积神经网络CNN,是卷积、池化、全连接层,输出一定维度的向量(分类的类别),很符合图像识别(分类)的要求。
- 全卷积神经网络是为了图像分割,语义分割,不是图像的类别,是像素级别的分类,池化和全连接完全就没有原来图像的维度了。所以,FCN把全连接层变成卷积层,之后再加反卷积层,进行上采样,恢复图像的尺寸。
形如:卷积+池化+卷积+池化+卷积+卷积+反卷积+反卷积
反卷积对Heat map(后半段反卷积不叫feature map了)中间插值0,再进行卷积,进行上采样。