计算机视觉 -05 全连接层

1、全连接层(Fully Connected Layer)
数据经过**函数(Activation Function),假设我们经过一个Relu之后的输出如下Relu:
计算机视觉 -05 全连接层
然后开始到达全连接层。
计算机视觉 -05 全连接层
以上图为例,我们仔细看上图全连接层的结构,全连接层中的每一层是由许多神经元组成的(1x 4096)的平铺结构,上图不明显,我们看下图
计算机视觉 -05 全连接层
而如果有两层或以上fully connected layer就可以很好地解决非线性问题了
全连接层之前的作用是提取特征,全连接层的作用是分类
全连接层参数特多(可占整个网络参数80%左右),近期一些性能优异的网络模型如ResNet和GoogLeNet等均用全局平均池化(global average pooling,GAP)取代全连接层来融合学到的深度特征

全连接层的组成如下:计算机视觉 -05 全连接层
全连接层对模型影响参数就是三个:
1、全接解层的总层数(长度)
2、单个全连接层的神经元数(宽度)
3、**函数。

**函数的作用是:增加模型的非线性表达能力。

如果全连接层长度不变,增加宽度:
优点:神经元个数增加,模型复杂度提升。理论上可以提高模型的学习能力。
难度长度和宽度都是越多越好?肯定不是
(1)缺点:学习能力太好容易造成过拟合。
(2)缺点:运算时间增加,效率变低。

那么怎么判断模型学习能力如何?
看Training Curve(训练曲线) 以及 Validation Curve(验证曲线),在其他条件理想的情况下,如果Training Accuracy 高, Validation Accuracy 低,也就是过拟合 了,可以尝试去减少层数或者参数。如果Training Accuracy 低,说明模型学的不好,可以尝试增加参数或者层数。至于是增加长度和宽度,这个又要根据实际情况来考虑了。
PS:很多时候我们设计一个网络模型,不光考虑准确率,也常常得在Accuracy/Efficiency 里寻找一个好的平衡点。

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

2、