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

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

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

理解1:

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

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

理解2:

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

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

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

理解3:

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

【感觉有点像盲人摸象】

理解4:

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

那它是怎么样把3x3x5的输出,转换成1x4096的形式?

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

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

以VGG-16再举个例子吧,

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

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

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

举个简单的例子:


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

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

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

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

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

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

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

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

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

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

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

全连接层的作用是分类

我们现在的任务是去区别一图片是不是猫


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

全连接层已经知道


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

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

从下图,我们可以看出

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

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

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

ok,我认为这是猫了

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

ok,我认为这是猫了


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

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


道理和区别猫一样

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

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

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

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

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

1,全连接层的总层数(长度)
2,单个全连接层的神经元数(宽度)
3,激活函数
首先我们要明白激活函数的作用是:增加模型的非线性表达能力

--------------------- 
作者:向阳+ 
来源:CSDN 
原文:https://blog.csdn.net/m0_37407756/article/details/80904580 
版权声明:本文为博主原创文章,转载请附上博文链接!

深入理解卷积层,全连接层的作用意义相关推荐

  1. 卷积神经网络—全连接层

    卷积神经网络-全连接层 全连接层 全连接层与卷积层 全连接层与GAP(全局平均池化层) [1] https://blog.csdn.net/Touch_Dream/article/details/79 ...

  2. 卷积神经网络--全连接层

    在卷积神经网络尚未火热的年代,人们使用haar/lbp + adaboost级连的组合方式检测人脸,hog+svm的组合方式检测行人.这种传统的目标检测方法一个认知上的优势就是: 模块的功能明确,划分 ...

  3. 卷积神经网络 全连接层(稠密层)是什么?(全连接层就是每一个结点都与上一层的所有结点相连的网络层)

    对 n-1 层和 n 层而言,n-1 层的任意一个节点,都和第 n 层所有节点有连接(即第n层节点都和第n-1层节点相连接).即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权 ...

  4. 卷积神经网络全连接层转换为卷积层获得heatmap

    理论部分 转自 http://blog.csdn.net/u010668083/article/details/46650877 实验部分 全连接层换卷积层的出处大约是yahoo的一篇论文" ...

  5. CNN 全连接层与卷积层深刻理解

    CNN 全连接层与卷积层 卷积和全连接关系 卷积取的是局部特征,全连接就是把以前的局部特征重新通过权值矩阵组装成完整的图. 因为用到了所有的局部特征,所以叫全连接 什么是全连接层 全连接层(fully ...

  6. 对卷积神经网络中卷积层、激活层、池化层、全连接层的理解

    文章目录 卷积神经网络 输入层 卷积层 激励层 池化层 全连接层 卷积神经网络 举一个卷积神经网络识别汽车的例子如下: 其中数据输入的是一张图片(输入层),CONV表示卷积层,RELU表示激励层,PO ...

  7. 机器学习入门(15)— 全连接层与卷积层的区别、卷积神经网络结构、卷积运算、填充、卷积步幅、三维数据卷积、多维卷积核运算以及批处理

    卷积神经网络(Convolutional Neural Network,CNN)CNN 被用于图像识别.语音识别等各种场合,在图像识别的比赛中,基于深度学习的方法几乎都以 CNN 为基础. 1. 全连 ...

  8. Lesson 16.1016.1116.1216.13 卷积层的参数量计算,1x1卷积核分组卷积与深度可分离卷积全连接层 nn.Sequential全局平均池化,NiN网络复现

    二 架构对参数量/计算量的影响 在自建架构的时候,除了模型效果之外,我们还需要关注模型整体的计算效率.深度学习模型天生就需要大量数据进行训练,因此每次训练中的参数量和计算量就格外关键,因此在设计卷积网 ...

  9. 卷积核和全连接层的区别_「动手学计算机视觉」第十六讲:卷积神经网络之AlexNet...

    前言 前文详细介绍了卷积神经网络的开山之作LeNet,虽然近几年卷积神经网络非常热门,但是在LeNet出现后的十几年里,在目标识别领域卷积神经网络一直被传统目标识别算法(特征提取+分类器)所压制,直到 ...

  10. 2 RepMLP:卷积重参数化为全连接层进行图像识别 (Arxiv)

    论文地址: RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition​arxiv ...

最新文章

  1. Microsoft PlayReady DRM
  2. C 语言编程 — GCC 工具链
  3. python_控制台输出带颜色的文字方法
  4. android 从零单排 第一期 按键显示helloworld
  5. Mybatis入门学习---创建第一个Mybatis程序
  6. 搭架SSH服务器学习笔记
  7. html获取qq头像代码,jQuery在线获取QQ名称和头像
  8. 前端学习(2388):封装请求模块
  9. mysql php7安装配置_centos7无网络下安装部署php7.1.33+mysql5.7.28+apache2.4.6-Go语言中文社区...
  10. 丘成桐: 没有经过考验的创新,往往深度不够
  11. 机器学习笔记III: 基于支持向量机的分类预测
  12. 【Away3D代码解读】(一):主要类及说明
  13. java版本号分段比较_java 实现比较版本号功能
  14. php 网页解析错误,php-解析错误:语法错误,文件意外结束
  15. Android SDK Setup如何使用?
  16. Ubuntu 11.04 下安装配置 JDK 7
  17. C/C++ Bug记录
  18. ASP.NET MVC3 异常处理 学习笔记
  19. oseasy还原卡_学校机房管理批量更新软件的问题还原卡、网刻、噢易OSS对比区别...
  20. MATLAB与STK互联23:卫星对象操作(14)—仿真分析案例1,建立8个地面站,分析对卫星的可见性

热门文章

  1. Vue.js 极简小例: 4 种方式样式绑定、style 的多种方式实现
  2. mysql 索引:类型 、创建
  3. 1030 完美数列 (25 分)二分
  4. Python 运算符重载
  5. Hadoop2.6.0完全分布式安装
  6. 【C/C++开发】C++11 并发指南二(std::thread 详解)
  7. 洛谷 U3357 C2-走楼梯
  8. register_globals(全局变量注册开关)
  9. mysql语法替换字符串
  10. pat1100. Mars Numbers (20)