当前位置: 首页 > article >正文

全连接层是什么,有什么作用?

大家好啊,我是董董灿。

如果你是搞AI算法的同学,相信你在很多地方都见过全连接层。

无论是处理图片的卷积神经网络(CNN),还是处理文本的自然语言处理(NLP)网络,在网络的结尾做分类的时候,总是会出现一个全连接层。

那么到底什么是全连接层,这一层在神经网络中有什么作用,以及它和矩阵乘法、卷积运算有什么关系呢?

在阅读之前,建议先了解一个预备知识。

卷积也好,矩阵乘法也好,其目的都是为了完成神经网络中的特征融合,这是其本质。

神经网络的运算,也是为了更好的完成输入数据的特征提取和融合,从而识别一张图片、一个句子。

就好像我们记住一个人一样,记住的不是他的全部,而是他的特征。

1、什么是全连接层

全连接层(Fully Connected Layer),有时也被叫作密集层(Dense Layer)。

之所以这么叫,是因为这一层的每个神经元都与前一层的每个神经元连接在一起,形成了一个全连接的网络结构,如下所示,每个笑脸都与前一层的所有笑脸相连。

图片

这种全连接的方式与卷积和池化不同,卷积和池化是通过固定大小的卷积核或池化窗口在输入上移动,以便有效地捕捉局部特征。

因此,"全连接"强调了这一层中的神经元与前一层中的所有神经元之间的连接,与卷积和池化层的局部连接方式形成对比。

2、全连接有什么作用

既然是所有神经元的全部连接,说明它可以捕获到前面所有的特征,经过运算就可以更加有效、完备的融合所有特征。

使得神经网络最终看到的特征是个全局特征(一只猫),而不是局部特征(眼睛或者鼻子)。

有一个蚂蚁开会的比喻来比喻全连接层,比较形象。

假设你是一只蚂蚁,你的任务是找小面包。这时候你的视野比较窄,只能看到很小一片区域,也就只能看到一个大面包的部分。

当你找到一片面包之后,你根本不知道你找到的是不是全部的面包,所以你们所有的蚂蚁开了个会,互相把自己找到的面包的信息分享出来,通过开会分享,最终你们确认,哦,你们找到了一个大面包。

上面说的蚂蚁开会的过程,就是全连接,这也是为什么,全连接需要把所有的节点都连接起来,尽可能的完成所有节点的信息共享。

说到这,大概就能理解全连接的作用了吧,那就是可以完成全部特征的融合。

3、全连接和卷积以及矩阵乘的关系

单纯从数学运算上来看,全连接就是矩阵运算,关于矩阵运算的本质,这里说的更清晰一些:5分钟搞懂矩阵乘法的本质。

全连接和卷积的区别,除了上面说的前者是全局视野,卷积是局部视野之外,还有一个很重要的联系,那就是如果卷积的卷积核变为1x1,那么相当于卷积核的每一个像素都与输入图片的每一个像素相关联,此时1x1的卷积,也就变成了矩阵乘了。

全连接一般放在一个神经网络的最后,用来做分类。

假设神经网络前面很多层学到了1000个特征,那么最后一层全连接就可以把这1000个特征进行全部融合,融合之后就可以知道这张图片是一只狗,或者这个句子说的是“我爱学习”了。


http://www.kler.cn/a/105710.html

相关文章:

  • 小程序的数据绑定与事件绑定
  • 深入理解MySQL 的 索引
  • Java开发vscode环境搭建
  • CAPL与外部接口
  • thinkphp6+swoole使用rabbitMq队列
  • vim操作简要记录
  • 域控操作三点五:使用策略下发将域用户添加到本地管理员组
  • 【干货】JVS低代码表单基础组件的配置与应用
  • SPP Net 目标检测网络学习笔记 (附代码)
  • DevOps持续集成-Jenkins(1)
  • stm32的ADC采样率如何通过Time定时器进行控制
  • 【表面缺陷检测】钢轨表面缺陷检测数据集介绍(2类,含xml标签文件)
  • R语言代码示例
  • 包管理工具与配置文件package.json
  • UI设计中设计文章列表左右的思考优漫动游
  • 从【臀部监控】到【电脑监控软件】,企业如何在隐私权与管理权博弈中找到平衡
  • 分享一款基于 AI 的 Chrome 插件
  • Ubuntu 下 VSCode Tab 间距非常小解决方案
  • 导入Embassy库进行爬虫
  • 云原生Docker数据管理
  • Mac怎么删除文件和软件?苹果电脑删除第三方软件方法
  • labelimg使用以及xml和txt转化
  • React项目中使用zustand状态管理详细教程
  • 【PointNet—论文笔记分享】
  • 为何 DevOps 会给开发人员带来压力和倦怠?
  • windows协议详解之-RPC/SMB/LDAP/LSA/SAM域控协议关系