为什么使用卷积层替代CNN末尾的全连接层
2017-11-02 20:34
337 查看
CNN网络的经典结构是: 输入层—>(卷积层+—>池化层?)+—>全连接层+
(其中+表示至少匹配1次,?表示匹配0次或1次)
全卷积神经网络即把CNN网络最后的全连接层替换为卷积层。为什么这么做?换句话说这样会带来什么好处呢?
首先,说一下卷积层和全连接层的区别:卷积层为局部连接;而全连接层则使用图像的全局信息。可以想象一下,最大的局部是不是就等于全局了?这首先说明全连接层使用卷积层来替代的可行性。
然后,究竟使用卷积层代替全连接层会带来什么好处呢?答案:可以让卷积网络在一张更大的输入图片上滑动,得到每个区域的输出(这样就突破了输入尺寸的限制)。论文里Fully Convolutional Networks for Semantic Segmentation介绍的很清楚,解读如下:
![](https://img-blog.csdn.net/20170416224205593?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvTk5OTk5OTk5OTk5OWQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
需要说明的是这一特性不仅可用于语义分割,在物体分类、目标检测中都可以使用。
参考:
How does the conversion of last layers of CNN from fully connected to fully convolutional allow it to process images of different size?
CS231n课程笔记翻译:卷积神经网络笔记
论文笔记–Fully Convolutional
Networks for Semantic Segmentation
(其中+表示至少匹配1次,?表示匹配0次或1次)
全卷积神经网络Fully Convolutional Network (FCN)
全卷积神经网络即把CNN网络最后的全连接层替换为卷积层。为什么这么做?换句话说这样会带来什么好处呢?首先,说一下卷积层和全连接层的区别:卷积层为局部连接;而全连接层则使用图像的全局信息。可以想象一下,最大的局部是不是就等于全局了?这首先说明全连接层使用卷积层来替代的可行性。
然后,究竟使用卷积层代替全连接层会带来什么好处呢?答案:可以让卷积网络在一张更大的输入图片上滑动,得到每个区域的输出(这样就突破了输入尺寸的限制)。论文里Fully Convolutional Networks for Semantic Segmentation介绍的很清楚,解读如下:
需要说明的是这一特性不仅可用于语义分割,在物体分类、目标检测中都可以使用。
参考:
How does the conversion of last layers of CNN from fully connected to fully convolutional allow it to process images of different size?
CS231n课程笔记翻译:卷积神经网络笔记
论文笔记–Fully Convolutional
Networks for Semantic Segmentation
相关文章推荐
- 为什么使用卷积层替代CNN末尾的全连接层
- Java中为什么尽量使用apache StringUtils.split替代String.split
- 为什么我的IPHONE连接到电脑,电脑提示无法使用此IPHONE
- 使用CNN做电影评论的负面检测——本质上感觉和ngram或者LSTM同,因为CNN里图像检测卷积一般是3x3,而文本分类的话是直接是一维的3、4、5
- 试用具体例子说明为什么在运输连接建立时要使用三次握手。说明如不这样做可能会出现什么情况。
- 卷积神经网络入门一种全卷积神经网络(LeNet),从左至右依次为卷积→子采样→卷积→子采样→全连接→全连接→高斯连接测试 最后,为了检验 CNN 能否工作,我们准备不同的另一组图片与标记集(不能在训练
- 为什么我们可以使用while(~scanf("%d"))读到文件末尾
- 为什么使用MMS协议无法连接MMS服务器
- FAQ:使用CATS函数替代使用TRIM/LEFT/和||连接符来连接文本
- 使用CNN做文本分类——将图像2维卷积换成1维
- Android为什么推荐使用SparseArray来替代HashMap?
- UE4为什么使用C++替代UnrealScript?
- Linux 下 FreeSWITCH 远程连接使用 MySQL 替代 SQLite
- 使用神经网络-垃圾邮件检测-LSTM或者CNN(一维卷积)效果都不错【代码有问题,pass】
- 为什么使用windows标准账户替代管理员账号
- 为什么Spring Boot推荐使用logback-spring.xml来替代logback.xml来配置logback日志的问题分析
- 为什么Spring Boot推荐使用logback-spring.xml来替代logback.xml来配置logback日志的问题分析
- 字符串连接:使用StringBuffer#append来替代”+”真的会带来性能提升吗?
- Java中为什么尽量使用apache StringUtils.split替代String.split
- Linux 下 FreeSWITCH 远程连接使用 MySQL 替代 SQLite