参考
全连接层的作用是什么? https://www.zhihu.com/question/41037974
(1)全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。
(2)将学到的“分布式特征表示”映射到样本标记空间的作用。
(3)FC可一定程度保留模型复杂度
(4)卷积神经网络中全连接层的设计,属于人们在传统特征提取+分类思维下的一种"迁移学习"思想
(1)全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。
如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。
在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为hxw的全局卷积,h和w分别为前层卷积结果的高和宽(注1)。
注1: 有关卷积操作“实现”全连接层,有必要多啰嗦几句。
以VGG-16为例,对224x224x3的输入,最后一层卷积可得输出为7x7x512,如后层是一层含4096个神经元的FC,则可用卷积核为7x7x512x4096的全局卷积来实现这一全连接运算过程,其中该卷积核参数如下:
“filter size = 7, padding = 0, stride = 1, D_in = 512, D_out = 4096”
经过此卷积操作后可得输出为1x1x4096。
如需再次叠加一个2048的FC,则可设定参数为“filter size = 1, padding = 0, stride = 1, D_in = 4096, D_out = 2048”的卷积层操作。
(2)
(2.1) 多层fc的用处
2.2 全连接的影响
(3)FC可一定程度保留模型复杂度
在FC越来越不被看好的当下,我们近期的研究(In Defense of Fully Connected Layers in Visual Representation Transfer)发现,FC可在模型表示能力迁移过程中充当“防火墙”的作用。具体来讲,假设在ImageNet上预训练得到的模型为 ,则ImageNet可视为源域(迁移学习中的source domain)。微调(fine tuning)是深度学习领域最常用的迁移学习技术。针对微调,若目标域(target domain)中的图像与源域中图像差异巨大(如相比ImageNet,目标域图像不是物体为中心的图像,而是风景照,见下图),
不含FC的网络微调后的结果要差于含FC的网络。因此FC可视作模型表示能力的“防火墙”,特别是在源域与目标域差异较大的情况下,FC可保持较大的模型capacity从而保证模型表示能力的迁移。(冗余的参数并不一无是处。)
(4)卷积神经网络中全连接层的设计,属于人们在传统特征提取+分类思维下的一种"迁移学习"思想
在卷积神经网络尚未火热的年代,人们使用haar/lbp + adaboost级连的组合方式检测人脸,hog+svm的组合方式检测行人。这种传统的目标检测方法一个认知上的优势就是: 模块的功能明确,划分得很清晰,符合人们的理解方式。其中,haar,lbp,hog等手工设计的特征提取算子用于提取特征,adaboost,svm用于对提取的特征分类。
而卷积神经网络中conv+relu(早期为sigmoid)+pooling(以下称三剑客)的组合,不仅可以替代手工设计特征算子的繁琐,而且局部感受野+权值共享的设计思想也能避免全连接网络中的种种弊端。此时人们将三剑客的组合视为特征提取的过程,如果按照早期人们特征提取+分类的设计思路,那么分类使用全连接的设计方式,就可以刚好实现了一个end-to-end的架构,也即早起卷积神经网络的原型。