百科问答小站 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”的卷积层操作。




  

相关话题

  对神经网络某一层做了小改进,效果却提升显著,可以发论文吗? 
  计算机视觉是否已经进入瓶颈期? 
  如何解读「量子计算应对大数据挑战:中国科大首次实现量子机器学习算法」? 
  如何评价 DeepMind 的新工作 AlphaCode? 
  算法研究属于数学专业还是计算机专业? 
  CPU和GPU跑深度学习差别有多大? 
  神经网络分类训练后得到的是连续的数怎么离散? 
  究竟什么是损失函数 loss function? 
  在Auto ML的冲击下,ML算法人员是否会在前者成熟后失业的情况? 
  graph convolutional network有什么比较好的应用task? 

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





© 2025-03-05 - tinynew.org. All Rights Reserved.
© 2025-03-05 - tinynew.org. 保留所有权利