1.全连接层:将feature maps平坦化,转化为一维,每一个数乘以各类别的权重(通过训练得到)得到结果是某个类别的概率
卷积核可以是立体的,高维的
知乎科普全连接层:https://zhuanlan.zhihu.com/p/33841176
怎么跟上面讲的不一样呢?上面不是平坦化成一维再乘以各自的权重吗?其实是一样的,只不过知乎上的将该过程变成了矩阵运算,不展开直接与权重矩阵卷积。比如知乎上讲的是将前面得到的特征如7*7*5与4096个7*7*5的神经元(同样大小同样深度的权重矩阵(神经元)7*7*5*4096)卷积,得到4096个值,这4096个值经过softmax得到概率
从三个角度理解全连接层:https://blog.csdn.net/blogshinelee/article/details/84826837
这一步卷积一个非常重要的作用
就是把分布式特征representation映射到样本标记空间
什么,听不懂
那我说人话
就是它把特征representation整合到一起,输出为一个值
这样做,有一个什么好处?
就是大大减少特征位置对分类带来的影响(只关心特征是否出现,不关心特征位置在哪)
2.目前由于全连接层参数冗余(仅全连接层参数就可占整个网络参数80%左右),近期一些性能优异的网络模型如ResNet和GoogLeNet等均用全局平均池化(global average pooling,GAP)取代FC来融合学到的深度特征,最后仍用softmax等损失函数作为网络目标函数来指导学习过程。需要指出的是,用GAP替代FC的网络通常有较好的预测性能。
3.问题:多层全连接层怎么运算:假如有两层,
第一次全连接使用7*7*5*4096矩阵卷积或平坦后与4096列权重相乘得到4096个数,第二次可以用下图的(一个神经元代表一种权重)(暗示了最后一层的神经元个数也就是宽度应当等于类别数),本质上是一样的。
https://www.cnblogs.com/expedition/p/11627079.html(图源)
4.全连接层参数特多(可占整个网络参数80%左右)
那么全连接层对模型影响参数就是三个:
- 1,全接解层的总层数(长度)
- 2,单个全连接层的神经元数(宽度)如4096
- 3,激活函数
-
我们要明白激活函数的作用是:
增加模型的非线性表达能力
5.
在第五层和第六层之间做了一个flat(平坦化)操作,也就是说把7*7*64的数据压成[7*7*64,1]。也就是3136个
神经元与1024个神经元进行全链接。
第七层还是一个全连接层
因为标签一个one-hot向量,我们的输出应该也是一个1*1*10的向量。这里的unit的个数就是10个。1024个神经元与10个神经元进行全链接。暗示正确了!
6.