在卷积神经网络尚未火热的年代,人们使用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卷积,也可以达到与全连接层同样的功效,依然能保证同样的检准率(1*1卷积的使用,对比fc并不能 减少模型参数,特此说明)。

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

作者:胡孟
链接:https://www.zhihu.com/question/41037974/answer/150585634
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

卷积神经网络--全连接层相关推荐

  1. 卷积神经网络—全连接层

    卷积神经网络-全连接层 全连接层 全连接层与卷积层 全连接层与GAP(全局平均池化层) [1] https://blog.csdn.net/Touch_Dream/article/details/79 ...

  2. 卷积神经网络 全连接层(稠密层)是什么?(全连接层就是每一个结点都与上一层的所有结点相连的网络层)

    对 n-1 层和 n 层而言,n-1 层的任意一个节点,都和第 n 层所有节点有连接(即第n层节点都和第n-1层节点相连接).即第n层的每个节点在进行计算的时候,激活函数的输入是n-1层所有节点的加权 ...

  3. 卷积神经网络全连接层转换为卷积层获得heatmap

    理论部分 转自 http://blog.csdn.net/u010668083/article/details/46650877 实验部分 全连接层换卷积层的出处大约是yahoo的一篇论文" ...

  4. 全连接层 时间复杂度_神经网络全连接层(3)

    CNN网络基础结构 神经网络-全连接层(3) 上一回我们聊完了算法,这回我们正式开始写代码.上回在做公式推导的时候,我们实际上只是针对一个数据样本进行推导,而实际中,计算和训练都是一批一批完成的.大多 ...

  5. 神经网络-全连接层(1)

    写在前面:感谢@夏龙对本文的审阅并提出了宝贵的意见. 接下来聊一聊现在大热的神经网络.最近这几年深度学习发展十分迅速,感觉已经占据了整个机器学习的"半壁江山".各大会议也是被深度学 ...

  6. 卷积神经网络CNN-全连接层

    全连接层(Fully Connected layer,FC) 全连接层在整个卷积神经网络中起到了分类器的作用.如果说卷积层.池化层和激活函数等操作是将原始数据映射到隐层特征空间的话,全连接层则是起到了 ...

  7. 神经网络全连接层详解

    全连接层即:每一个节点都与上一层的节点相连,每个节点都视为一个特征点,当产生一个输入源后会对全连接层做卷积操作,卷积核多大取决于你的全连接层每层数据表有多大,全连接层里每一层都是一组数据,这组数据里包 ...

  8. 神经网络的全连接层_深度神经网络全连接层

    一.概念 全连接层一般在网络的最后部分做分类输出,全连接层的有m个输入和n个输出,每一个输出都和所有的输入相连,相连的权重w都是不一样的,同时每一个输出还有一个bias. 二.前向全连接 假设输入是4 ...

  9. 机器学习入门(15)— 全连接层与卷积层的区别、卷积神经网络结构、卷积运算、填充、卷积步幅、三维数据卷积、多维卷积核运算以及批处理

    卷积神经网络(Convolutional Neural Network,CNN)CNN 被用于图像识别.语音识别等各种场合,在图像识别的比赛中,基于深度学习的方法几乎都以 CNN 为基础. 1. 全连 ...

最新文章

  1. 小米输掉官司,倒打一耙不如坦然认错
  2. 你应该使用Java8 非阻塞异步API来优化你的系统了
  3. SQL基础操作_6_处理数字
  4. openssl创建CA并签发证书
  5. c语言通讯录程序线性表,数据结构(C语言)课设1——单位员工通讯录管理系统(线性表应用)...
  6. cmd代码表白_python表白神器你值得拥有
  7. 萌新做点小玩意儿DAY-2 五子棋AI拓展思想
  8. iso是什么意思/iso9001质量管理体系认证有哪些标准
  9. java前后端分离解决session,解决前后端分离开发sessionId不一致问题
  10. iText PDF操作(查找关键字、插入图片)
  11. 切割视频——将视频截取python实现
  12. Serv-U无法上传文件,200、227、501报错解决方法
  13. 12月份参加工作的年假怎么休_请问我的年假可以在12月份休吗?单位说可以12月1日就不用上班了,我可以上到12月28日吗?...
  14. 【Android自定义View】车牌号输入法
  15. redis集群搭建参考文档
  16. Python三角形问题(计算周长与面积)
  17. 明星热图|刘亦菲拍摄品牌大片;唐艺昕、易烊千玺代言新品牌;全智贤、黄景瑜、江疏影演绎品牌新品...
  18. Redis分区/分片详解
  19. jav: bigInteger
  20. domoticz 链接 百度云物联网MQTT注意事项

热门文章

  1. 转:如何跨越“说”与“做”的鸿沟?
  2. 元启发式 启发式_30个美丽的三色网站给您的启发
  3. 给table表格的tr标签添加圆角效果
  4. python需要什么英语基础_0基础学python有多难
  5. #########什么是用户画像?金融行业大数据用户画像实践#####好文章
  6. linux系统下查看nginx配置文件路径
  7. MySQL - 修改数据库名称
  8. Spark算子 - fold()
  9. 多序列比对算法MAFFT以及HMMER和profile文件的使用
  10. 设备一路485如何供两台电脑使用_电脑没装打印机怎样共享打印