卷积层(FCN)替换全连接层(FC)的意义

1.卷积层替换全连接层的可行性:

卷积层是局部连接,它的特点是稀疏连接和权值共享;而全连接层使用了图像的全局信息,每个神经元都与上一层的所有神经元相连接。
“最大的局部”“全局”这两个概念其实是等价的,因此卷积层替换全连接层是可行的。

2.全连接层到卷积层的转换:

下图显示了AlexNet卷积化的过程,假设执行特征提取的卷积层的最后一层输出为256×7×7,得到后面的4096个神经元;那么改为用7×7的卷积核对该256×7×7的输出特征图做卷积,也可以获得4096×1×1的向量。由于卷积核大小和输入的特征图尺寸相同,就保证了转换后的卷积层的运算结果和之前的全连接层是一样的。

假设图像尺寸大一些,执行特征提取的卷积层的最后一层输出为256×12×12,经过7×7卷积核的卷积,得到了4096×6×6的向量,此时6×6个神经元就有了位置信息。
卷积层(FCN)替换全连接层(FC)的意义_第1张图片

3.全连接层转换为卷积层的原因:

用卷积层替换全连接层可以让卷积网络在一张更大的输入图片上滑动,得到每个区域的输出,这样就突破了此前对于图像输入尺寸的限制。

对于传统的 CNN(即包含全连接层的网络结构),一个确定的网络其输入图像的大小是固定的,比如 CaffeNet 的输入必须是 227×227,对于更大的图像在检测时就需要裁剪出很多 227×227 的小图像分别送入 CNN 网络中,使得检测任务十分耗时。固定大小是指送入网络训练的每一个数据大小需要一样,可以都是 227×227,也可以都是 224×224,但这个尺寸值必须要统一。这样要求的原因是全连接层与前一层连接时参数数量需要预先设定好。而网络需要输入固定大小图像的主要原因就是有全连接层。

当把全连接层替换成了卷积层后就可以不限制输入图像的大小,一次性输入网络即可获得一张图片所有位置的检测目标概率,形成一幅 heatmap。

这是因为卷积操作与全连接不同,卷积核的参数数量,也就是卷积核的大小,它与前一层的特征图尺寸是没有关系的;但是全连接层的参数是随着前一层特征图的大小变化而变化的,当输入图像大小不同,全连接层输入的特征图大小也不一样,那么全连接层的参数数量就不能确定,所以采用全连接层的网络必须固定输入图像的大小,而替换为卷积层后就实现了对输入图像尺寸限制的突破。

你可能感兴趣的:(笔记,pytorch,tensorflow,深度学习,神经网络)