如果你是搞 AI 算法的同学,相信你在很多地方都见过全连接层。
本文引用地址://www.cazqn.com/article/202402/455609.htm无论是卷积神经网络(CNN),还是自然语言处理(NLP)网络,都能看到全连接层的身影。
那么到底什么是全连接层,这一层在神经网络中有什么作用,以及它和矩阵乘法、卷积运算有什么关系呢?
1、什么是全连接层
全连接层(Fully Connected Layer),有时也被叫作密集层(Dense Layer)。
之所以这么叫,是因为这一层的每个神经元都与前一层的每个神经元连接在一起,形成了一个全连接的网络结构。
全连接结构:图源网络
这种全连接的方式与卷积和池化不同,卷积和池化是通过固定大小的卷积核或池化窗口在输入上移动,以便有效地捕捉局部特征。
因此,"全连接"强调了这一层中的神经元与前一层中的所有神经元之间的连接,与卷积和池化层的局部连接方式形成对比。
2、全连接有什么作用
既然是所有神经元的全部连接,说明它可以捕获到前面所有的特征,经过运算就可以更加有效、完备的融合所有特征。
使得神经网络最终看到的特征是个全局特征(一只猫),而不是局部特征(眼睛或者鼻子)。
有一个蚂蚁开会的比喻来比喻全连接层,比较形象。
假设你是一只蚂蚁,你的任务是找小面包。这时候你的视野比较窄,只能看到很小一片区域,也就只能看到一个大面包的部分。
当你找到一片面包之后,你根本不知道你找到的是不是全部的面包,所以你们所有的蚂蚁开了个会。
你们互相把自己找到的面包的信息分享出来,通过开会分享,最终你们确认,哦,你们找到了一个大面包。
上面说的蚂蚁开会的过程,就是全连接,这也是为什么,全连接需要把所有的节点都连接起来,尽可能的完成所有节点的信息共享。
说到这,大概就能理解全连接的作用了吧,那就是可以完成全部特征的融合。
3、全连接和卷积以及矩阵乘的关系
单纯从数学运算上来看,全连接就是矩阵运算,关于矩阵运算的本质,这里说的更清晰一些:5分钟搞懂矩阵乘法的本质。
全连接和卷积的区别,除了上面说的前者是全局视野,卷积是局部视野之外,还有一个很重要的联系。
那就是如果卷积的卷积核变为1x1,那么相当于卷积核的每一个像素都与输入图片的每一个像素相关联,此时1x1的卷积,也就变成了矩阵乘了。
全连接一般放在一个神经网络的最后,用来做分类。
假设神经网络前面很多层学到了1000个特征,那么最后一层全连接就可以把这1000个特征进行全部融合,融合之后就可以知道这张图片是一只狗。
借用“图灵的猫”对这个算法的解释:全连接层在整个卷积神经网络中起到“分类器”的作用。
如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。
评论