Introduction
About CNN 关于卷积网络
对于传统的卷积神经网络来说,通常分为两部分:
- 一些列的卷积层进行下采样
- 最后是若干个全连接层,得到一个 N 维的向量
卷积神经网络的最终目的就是:通过得到的这个向量,来得到对应的每个类别的概率,然后对输入进行预测
About FCN 关于全卷积网络
全卷积网络顾名思义就是:由全部的卷积网络组成的一个架构,其实就是用几个对应长宽(深度不变)的卷积层代替卷积神经网络中的全连接层,最后再通过一个跳跃式的反卷积网络将图像恢复到原来的大小,使得我们可以对图像从原来卷积神经网络中的图像级别的预测进一步得到对每个像素的预测,这也是为什么全卷积网络可以用于进行识别和分割,具体架构如下:
可以看到,再卷积网络之后,即图中的 ‘Convolution’ 架构后面的两个较长的蓝色部分,以及最后箭头指向的一个长宽相等的,但是深度较小的蓝色部分,就是取代了原来卷积神经网络中的全连接层的卷积层,而深橙色部分就是后面的反卷积层。
可以看到,从卷积层(
16
×
16
×
21
16\times16\times21
16×16×21)出来,经过一次反卷积(
34
×
34
×
21
34\times34\times21
34×34×21)之后,得到的结果,在进入下一层反卷积之前,加上了前面第四个反卷积网络下采样(即图中绿色的Pooling)后进行裁剪之后的结果,得到了一个eltwise +,也就是我们不只是直接将高层的局部特征进行反卷积来得到相关像素的一个分类,同时还考虑了在相同级别上的全局特征,也就是第一次反卷积得到的结果对应倒数第二次下采样的结果,以此类推,这种形式的网络我们在其他工作中也经常见到,例如cGAN中的U-Net,不仅能够提高效率(因为一些较低层,但是相对较普遍的特征不需要再进入下一层高级特征的提取了),而且还可以在考虑更高级的特征的前提下同时考虑底层的全局特征,使得得到的结果更好。