百科问答小站 logo
百科问答小站 font logo



全连接层的作用是什么? 第1页

  

user avatar   wei-xiu-shen 网友的相关建议: 
      

全连接层到底什么用?我来谈三点。

  • 全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。在实际使用中,全连接层可由卷积操作实现:对前层是全连接的全连接层可以转化为卷积核为1x1的卷积;而前层是卷积层的全连接层可以转化为卷积核为hxw的全局卷积,h和w分别为前层卷积结果的高和宽(注1)。
  • 目前由于全连接层参数冗余(仅全连接层参数就可占整个网络参数80%左右),近期一些性能优异的网络模型如ResNet和GoogLeNet等均用全局平均池化(global average pooling,GAP)取代FC来融合学到的深度特征,最后仍用softmax等损失函数作为网络目标函数来指导学习过程。需要指出的是,用GAP替代FC的网络通常有较好的预测性能。具体案例可参见我们在ECCV'16(视频)表象性格分析竞赛中获得冠军的做法:「冠军之道」Apparent Personality Analysis竞赛经验分享 - 知乎专栏 ,project:Deep Bimodal Regression for Apparent Personality Analysis
  • 在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从而保证模型表示能力的迁移。(冗余的参数并不一无是处。)

注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”的卷积层操作。




  

相关话题

  AlphaGo 与李世石的对战会推动人类的极限还是机器学习的进步和觉醒? 
  如何评价华为天才少年钟钊团队成功开启了 AutoML 大规模商用的先河?什么是 AutoML? 
  机器学习系统MLSys中有哪些比较有前途的研究方向? 
  消融实验是什么? 
  PyTorch中在反向传播前为什么要手动将梯度清零? 
  如何看待在某度搜不到megengine官网? 
  能分享你收藏的国外AI talk, seminar平台或网站吗? 
  有哪些职业容易被人工智能替代? 
  如何评价AlphaGo Zero? 
  卷积神经网络(CNN)的结构设计都有哪些思想? 

前一个讨论
为什么现在国内各大高校仍选用谭浩强的《C 程序设计》为教材?
下一个讨论
有哪些神经科学上的事实,没有一定神经科学知识的人不会相信?





© 2024-11-22 - tinynew.org. All Rights Reserved.
© 2024-11-22 - tinynew.org. 保留所有权利