如何理解全连接层

摘要:
完全联系相当于“代表普选”。在全连接层的一层中的神经元可以被视为多项式。我们使用许多神经元来拟合数据分布,但有时仅用一层完全连接的层是不可能解决非线性问题的。如果有两层或更多层的全连接层,则可以很好地解决非线性问题,之前全连接层的作用是提取特征。完全理解层的作用是分类。我们现在的任务是区分图片是否是猫。假设神经网络模型已经被训练,那么完整的连接层已经知道,当我们得到上述特征时,我可以判断这是一只猫。

有部分内容是转载的知乎的,如有侵权,请告知,删除便是,但由于是总结的,所以不一一列出原作者是who。

再次感谢,也希望给其他小白受益。

首先说明:可以不用全连接层的。

理解1:

卷积取的是局部特征,全连接就是把以前的局部特征重新通过权值矩阵组装成完整的图。

因为用到了所有的局部特征,所以叫全连接。

理解2:

从卷积网络谈起,卷积网络在形式上有一点点像咱们正在召开的“人民代表大会制度”。卷积核的个数相当于候选人,图像中不同的特征会激活不同的“候选人”(卷积核)。

池化层(仅指最大池化)起着类似于“合票”的作用,不同特征在对不同的“候选人”有着各自的喜好。

全连接相当于是“代表普选”。所有被各个区域选出的代表,对最终结果进行“投票”,全连接保证了receiptive field 是整个图像,既图像中各个部分(所谓所有代表),都有对最终结果影响的权利。

理解3:

假设你是一只小蚂蚁,你的任务是找小面包。你的视野还比较窄,只能看到很小一片区域。当你找到一片小面包之后,你不知道你找到的是不是全部的小面包,所以你们全部的蚂蚁开了个会,把所有的小面包都拿出来分享了。全连接层就是这个蚂蚁大会~

理解4:

例如经过卷积,relu后得到3x3x5的输出。

那它是怎么样把3x3x5的输出,转换成1x4096的形式?
如何理解全连接层第1张

很简单,可以理解为在中间做了一个卷积。

如何理解全连接层第2张

从上图我们可以看出,我们用一个3x3x5的filter 去卷积激活函数的输出,得到的结果就是一个fully connected layer 的一个神经元的输出,这个输出就是一个值。因为我们有4096个神经元。我们实际就是用一个3x3x5x4096的卷积层去卷积激活函数的输出。

以VGG-16再举个例子吧,

对224x224x3的输入,最后一层卷积可得输出为7x7x512,如后层是一层含4096个神经元的FC,则可用卷积核为7x7x512x4096的全局卷积来实现这一全连接运算过程。

它把特征representation整合到一起,输出为一个值。


这样做,有一个什么好处?就是大大减少特征位置对分类带来的影响。

举个简单的例子:
如何理解全连接层第3张

从上图我们可以看出,猫在不同的位置,输出的feature值相同,但是位置不同。

对于电脑来说,特征值相同,但是特征值位置不同,那分类结果也可能不一样。

这时全连接层filter的作用就相当于

喵在哪我不管,我只要喵,于是我让filter去把这个喵找到,

实际就是把feature map 整合成一个值,这个值大,有喵,这个值小,那就可能没喵

和这个喵在哪关系不大了,鲁棒性有大大增强。

因为空间结构特性被忽略了,所以全连接层不适合用于在方位上找Pattern的任务,比如segmentation。
全连接层中一层的一个神经元就可以看成一个多项式,

我们用许多神经元去拟合数据分布

但是只用一层fully connected layer 有时候没法解决非线性问题,

而如果有两层或以上fully connected layer就可以很好地解决非线性问题了

我们都知道,全连接层之前的作用是提取特征

全理解层的作用是分类

我们现在的任务是去区别一图片是不是猫
如何理解全连接层第4张

假设这个神经网络模型已经训练完了

全连接层已经知道

如何理解全连接层第5张

当我们得到以上特征,我就可以判断这个东东是猫了。

因为全连接层的作用主要就是实现分类(Classification)

从下图,我们可以看出

如何理解全连接层第6张

红色的神经元表示这个特征被找到了(激活了)

同一层的其他神经元,要么猫的特征不明显,要么没找到

当我们把这些找到的特征组合在一起,发现最符合要求的是猫

ok,我认为这是猫了

当我们把这些找到的特征组合在一起,发现最符合要求的是猫

ok,我认为这是猫了

如何理解全连接层第7张

猫头有这么些个特征,于是我们下一步的任务

就是把猫头的这么些子特征找到,比如眼睛啊,耳朵啊

如何理解全连接层第8张

道理和区别猫一样

当我们找到这些特征,神经元就被激活了(上图红色圆圈)

这细节特征又是怎么来的?

就是从前面的卷积层,下采样层来的

全连接层参数特多(可占整个网络参数80%左右)

那么全连接层对模型影响参数就是三个:

1,全接解层的总层数(长度)
2,单个全连接层的神经元数(宽度)
3,激活函数
首先我们要明白激活函数的作用是:


如何理解全连接层第9张

原文链接:https://blog.csdn.net/m0_37407756/article/details/80904580

免责声明:文章转载自《如何理解全连接层》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇P4: Programming Protocol-Independent Packet Processors自定义popupwindow下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

多视觉任务的全能: HRNet

多视觉任务的全能: HRNet HRNet是微软亚洲研究院的王井东老师领导的团队完成的,打通图像分类、图像分割、目标检测、人脸对齐、姿态识别、风格迁移、Image Inpainting、超分、optical flow、Depth estimation、边缘检测等网络结构。王老师在ValseWebinar《物体和关键点检测》中亲自讲解了HRNet,讲解地非常...

机器学习在电商领域三大应用,推荐,搜索,广告中商品排序

1、业务角度一般是在一个召回的商品集合里,通过对商品排序,追求GMV或者点击量最大化。基于一个目标,如何让流量的利用效率最高。很自然的,如果我们可以准确预估每个商品的GMV转化率或者点击率,就可以最大化利用流量,从而收益最大。2、技术服务于业务,模型本身的迭代需要配合业务目标才能发挥出最大的价值,因此选择模型迭代的路线,必须全盘考虑业务。3、在点击率预估领...

YOLOv3和YOLOv4长篇核心综述(上)

YOLOv3和YOLOv4长篇核心综述(上) 对目标检测算法会经常使用和关注,比如Yolov3、Yolov4算法。 实际项目进行目标检测任务,比如人脸识别、多目标追踪、REID、客流统计等项目。因此目标检测是计算机视觉项目中非常重要的一部分。 从2018年Yolov3年提出的两年后,在原作者声名放弃更新Yolo算法后,俄罗斯的Alexey大神扛起了Yolo...

解释深度学习在安全领域中的应用

摘要: 虽然深度学习在各个领域显示出巨大的潜力,但缺乏透明度限制了它在安全或关键安全领域的应用。现有的研究试图开发解释技术,为每个分类决策提供可解释的解释。不幸的是,当前的方法是针对非安全性任务(例如,图像分析)进行优化的。它们的关键假设在安全应用程序中经常被违反,导致解释的保真度很差。 本文提出了一种用于安全应用的高保真度解释方法LEMNA。给定一个输入...

图像检索(image retrieval)- 8

PARTICULAR OBJECT RETRIEVAL WITH INTEGRAL MAX-POOLING OF CNN ACTIVATIONS ABSTRACT 最近,建立在卷积神经网络(CNN)上的图像表征已经被证明可以为图像搜索提供有效的描述符,其性能优于作为短向量表征的前CNN特征。然而,这种模型与几何感知重排序方法并不兼容,在某些特定对象检索基...

从零搭建企业大数据分析和机器学习平台-技术栈介绍(三)

数据传输和采集 Sqoop数据传输工具实际项目开发中,往往很多业务数据是存放在关系型数据库中,如 MySQL数据库。我们需要将这些数据集中到数据仓库中进行管理,便于使用计算模型进行统计、挖掘这类操作。 Sqoop是Apache软件基金会的⼀一款顶级开源数据传输工具,用于在 Hadoop与关系型数据库(如MySQL、Oracle、PostgreSQL等)之间...