深度学习笔记——全连接层

1.概观

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

全连接层(fully connected layers,FC)在整个卷积神经网络中起到“分类器”的作用。如果说卷积层、池化层和激活函数层等操作是将原始数据映射到隐层特征空间的话,全连接层则起到将学到的“分布式特征表示”映射到样本标记空间的作用。

2.全连接层的理解

——————————以下为个人看法,如果有错,欢迎锤正!——————————

假设我们现在的任务是去区别一图片是不是猫、
在这里插入图片描述
假设这个神经网络模型已经训练到此阶段,如图:
在这里插入图片描述
在这里插入图片描述

经过卷积,池化,激活等层,现已提取了上图所示的局部特征,且已到达了第一层全连接层并激活符合特征存在的部分神经元,该连接层是一维的,而这个层的作用就是根据提取到的局部特征进行相关操作进行组合并输出到第二个全连接层的某个神经元处,如上图,经过组合我们可以知道这是个喵头。

那我们现在往后走一层,到第二层全连接层,假设猫的身体其他部位特征也都被上述类似的操作提取和组合出来,得

在这里插入图片描述

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

此时,再将上图中的特征进行组合并输出到输出层,经过softmax函数进行分类,得出结论,这是只猫。

至此,关于全连接层的信息就简单介绍完了
3.全连接层和其他层,全连接层与全连接层之间的换算
在这里插入图片描述
以上图为例,我们仔细看上图全连接层的结构,全连接层中的每一层是由许多神经元组成的(1x 4096)的平铺结构,上图不明显,我们看下图
在这里插入图片描述
当我第一次看到这个全连接层,我的第一个问题是

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

在这里插入图片描述
很简单,可以理解为在中间做了一个卷积

在这里插入图片描述

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

因为我们有4096个神经元

我们实际就是用一个3x3x5x4096的卷积层去卷积激活函数的输出

这一步卷积一个非常重要的作用,就是把分布式特征representation映射到样本标记空间

就是它把特征representation整合到一起,输出为一个值。这样做,有一个什么好处?

就是大大减少特征位置对分类带来的影响

来,让我来举个简单的例子
在这里插入图片描述

这个例子可能过于简单了点

可是我懒得画了,大家将就着看吧

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

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

而这时全连接层filter的作用就相当于,喵在哪我不管,我只要喵

于是我让filter去把这个喵找到

实际就是把feature map 整合成一个值

这个值大

哦,有喵

这个值小

那就可能没喵

和这个喵在哪关系不大了有没有

鲁棒性有大大增强了有没有

因为空间结构特性被忽略了,所以全连接层不适合用于在方位上找Pattern的任务,比如segmentation

ok, 我们发现全连接层有两层1x4096fully connected layer平铺结构(有些网络结构有一层的,或者二层以上的)

在这里插入图片描述

但是大部分是两层以上呢

这是为啥子呢

泰勒公式都知道吧

意思就是用多项式函数去拟合光滑函数

我们这里的全连接层中一层的一个神经元就可以看成一个多项式

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

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

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

发布了84 篇原创文章 · 获赞 29 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/qq_39852676/article/details/103686416