深度学习——学习杂记(全连接)

      在卷积神经网络尚未火热的年代,人们使用haar/lbp + adaboost级连的组合方式检测人脸,hog+svm的组合方式检测行人。这种传统的目标检测方法一个认知上的优势就是: 模块的功能明确,划分得很清晰,符合人们的理解方式。其中,haar,lbp,hog等手工设计的特征提取算子用于提取特征,adaboost,svm用于对提取的特征分类。

      而早期的全连接神经网络,就是属于用于对提取的特征进行分类的模块,我们也可以同样将神经网络替换掉adaboost,svm用于分类。后来将神经网络用于图像分类中,面对早期的小分辨率图片,我们依旧可以使用特征提取+神经网络分类的模式,也可以直接将每个像素点作为特征输入用于神经网络的分类。但面对后期的大分辨率图像,如果依旧使用逐像素点输入的方式,很明显将会导致全连接中的权值过于稀疏,造成模型训练的困难。而卷积神经网络中conv+relu(早期为sigmoid)+pooling(以下称三剑客)的组合,不仅可以替代手工设计特征算子的繁琐,而且局部感受野+权值共享的设计思想也能避免全连接网络中的种种弊端。此时人们将三剑客的组合视为特征提取的过程,如果按照早期人们特征提取+分类的设计思路,那么分类使用全连接的设计方式,就可以刚好实现了一个end-to-end的架构,也即早起卷积神经网络的原型。

       但必须明白的是,虽然模型完成了一个end-to-end的设计架构,可以直接用于训练和分类,但在人们的认知上,特征提取和分类依然是分开的,也就是说三剑客用于特征提取,全连接用于分类。后来随着更优秀分类网络的出现(alexnet,vgg等),人们不再仅仅满足于分类准确率的提升,面对动辄两三百M的模型,人们思考能否减少模型的大小。人们通过研究发现,在包含全连接的网络中,全连接的参数占据了所有参数中的大部分比例,这样使得精简全连接参数变得刻不容缓。

       于是一部分优秀的人们想到了使用svd等方式减少参数,另一部分优秀的人们开始思考: 是否真的需要使用全连接层,或者有无可以替代全连接层的方法?于是就出现了如nin,squeezenet中,直接使用global average pooling的方式,直接替代全连接层。人们发现不使用全连接层,模型的检准率并没有降低,而模型的大小却极大的减少(当然了,也包括以上网络中其他模块优化的功劳,如1*1卷积的使用等)。另一方面,同样在nin,以及用于图像分类的fcn中,人们发现使用1*1卷积,也可以达到与全连接层同样的功效,依然能保证同样的检准率这时候人们就又开始重新思考,全连接层在卷积神经网络中真正的作用是什么了。于是就又有了新的探索。

       最后总结就是,卷积神经网络中全连接层的设计,属于人们在传统特征提取+分类思维下的一种"迁移学习"思想,但在这种end-to-end的模型中,其用于分类的功能其实是被弱化了,而全连接层参数过多的缺点也激励着人们设计出更好的模型替代之达到更好的效果。同时,也将促进我们更深入地探讨其中的奥秘。

以前的神经网络都是采取全连接的方式,认为下一层的输出与上一层所有输入都有关,但是这样很容易导致overfitting。利用convolution的局部连接和权值共享,pooling的下采样能够降低overfitting,增加层数,提取提取都具有鉴别力的特征,现在的CNN都是end-to-end的,最后通过全连接层送入softmax来进行分类,给出分类结果,我觉得可以。而在NIN中就没有用fc而是用了global ave再进行分类。下图是一个mnist的处理示意图,如有侵权,请告知删除:

参考连接:全连接层的作用是什么



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值