卷积神经网络主要由卷积层、池化层和全连接层组成。排在前面的较浅的卷积层采用较小的感知域,可以学到图像的一些局部特征(如纹理特征),排在后面较深的卷积层采用较大的感知域,可以学到更加抽象的特征(如物体的大小、位置和方向等)。
全卷积神经网络(FCN)和卷积神经网络(CNN)的主要区别在于FCN将CNN末尾的全连接层转化成了卷积层。

例如,经过卷积、池化后,图像的大小变为4(长)×4(宽)×512(通道数)。CNN将图像送入全连接层,而FCN将图像送入1×1的卷积层。

如图所示,对于100分类问题。
CNN网络将卷积、池化后的图像先进行扁平化处理,得到一维的4×4×512向量,将其送入全连接层中进行训练,最终得出分类结果。
FCN网络将全连接层改为全卷积层,先使用1024个4×4卷积核卷积得到1维的1024向量,在使用通道数为1000的1×1卷积核将向量降维至100,得出分类结果。
【卷积层直接用padding=0,4096个卷积核对应4096个神经元,参数量和之前完全等价】

我们考虑如下几个问题:
为什么用全连接,用什么去替换全连接。网络的目的是什么?

卷积神经网络的目的是提取特征、学习特征进行图像分类、目标识别、自然语言处理、预测等;
我们都知道卷积层后的全连接目的是将卷积输出的二维特征图(feature map)转化成(N*1)一维的一个向量
因为传统的卷积神经网络的输出都是分类(一般都是一个概率值),也就是几个类别的概率甚至就是一个数——类别号,那么全连接层就是高度提纯的特征了,方便交给最后的分类器或者回归。

根据全连接的目的,我们完全可以利用卷积层代替全连接层,在输入端使用M×M大小的卷积核将数据“扁平化处理”,在使用1×1卷积核对数据进行降维操作,最终卷积核的通道数即是我们预测数据的维度。
这样在输入端不将数据进行扁平化处理,还可以使得图片保留其空间信息。

【全连接的参数实在是太多了,你想这张图里就有201212100个参数,前面随便一层卷积,假设卷积核是77的,厚度是64,那也才7764,所以现在的趋势是尽量避免全连接,目前主流的一个方法是全局平均值。也就是最后那一层的feature map(最后一层卷积的输出结果),直接求平均值。有多少种分类就训练多少层,这十个数字就是对应的概率或者叫置信度。】

使用全卷积层的优点是什么?

全卷积层能够兼容不同大小的尺寸输入。
与global avg pooling类似,可以大大减少网络参数量
假如现在我们有一个对cifar10数据集训练好的模型(五层卷积、每层卷积后接一层池化,后接两层全连接)
我们知道,cifar10数据集中输入图像32×32×3经过5层(2×2)池化之后,变为长和宽变为1×1。
在测试阶段,现在我们有一组图像,若输入大小也是32×32×3,则可以直接用上述训练好的模型进行测试。(卷积层输入到全连接层是等价的)。
若我们输入的图像Q的长宽不是(32×32)而比32大,那么它卷积网络输出就是一个feature map,即不是一个向量,若原来是1×1×64,现在是2×2×64。那输入到全连接后就是一个四维向量了。4×4×1000,每一个channel代表一个类别。每一个通道都是4×4,我对每一个通道进行全局平均池化,每一个通道求和,这样4×4就变成了一个数。将图像水平翻转一下,再训练一遍。

全卷积神经网络(FCN)和卷积神经网络(CNN)的主要区别相关推荐

  1. 全卷积网络FCN与卷积神经网络CNN的区别

    背景 CNN能够对图片进行分类,可是怎么样才能识别图片中特定部分的物体,在2015年之前还是一个世界难题.神经网络大神Jonathan Long发表了<Fully Convolutional N ...

  2. 【CV语义分割】全卷积神经网络FCN(更新ing)

    学习总结 (1)paper<Fully Convolutional Networks for Semantic Segmentation> (2)论文翻译可以参考:https://www. ...

  3. 全卷积神经网络(FCN)

    目录 卷积化 上采样 跳跃结构 卷积化 上采样 跳跃结构 卷积化 上采样 跳跃结构 论文:Fully Convolutional Networks for Semantic Segmentation( ...

  4. 11.全连接卷积神经网络 FCN

    视频:48 全连接卷积神经网络 FCN[动手学深度学习v2]_哔哩哔哩_bilibili 书籍:13.11. 全卷积网络 - 动手学深度学习 2.0.0-beta0 documentation (d2 ...

  5. 关于卷积神经网络的思考:将CNN视作泛函拟合

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:深度学习这件小 图像本身可以被理解成一种二维平面上的分布 ...

  6. 不要再纠结卷积的公式啦!0公式深度解析全连接前馈网络与卷积神经网络

    Hello~你们的小夕终于吐泡泡了-前几天小夕又加班赶project啦,拖了好几天,都快患上拖稿焦虑症了_(:з」∠)_ 关于卷积神经网,小夕就不从卷积讲啦.以前不止一个粉丝问我卷积神经网络中卷积的意 ...

  7. 不要再纠结卷积的公式啦!0公式深度解析全连接前馈网络与卷积神经网络!

    文章转载自订阅号「夕小瑶的卖萌屋」中的文章<不要再纠结卷积的公式啦!0公式深度解析全连接前馈网络与卷积神经网络>. Hello~你们的小夕终于吐泡泡了-前几天小夕又加班赶project啦, ...

  8. 【卷积神经网络】卷积神经网络(Convolutional Neural Networks, CNN)基础

    卷积神经网络(Convolutional Neural Networks, CNN),是一种 针对图像 的特殊的 神经网络. 卷积神经网络概述 Why not DNN? 图像数据的维数很高,比如 1, ...

  9. 人工神经网络(NN)和卷积神经网络(CNN)

    推荐吴恩达机器学习课程(网易云课堂),李宏毅机器学习课程(b站) 人工神经网络 简称神经网络(NN),是目前各种神经网络的基础,其构造是仿造生物神经网络,将神经元看成一个逻辑单元,其功能是用于对函数进 ...

  10. CNN(卷积神经网络)、RNN(循环神经网络)、DNN(深度神经网络)的内部网络结构有什么区别?...

    2019独角兽企业重金招聘Python工程师标准>>> 科言君 每周六提供一份高质量回答. 首先,我感觉不必像 @李Shawn 同学一样认为DNN.CNN.RNN完全不能相提并论.从 ...

最新文章

  1. sys.argv[n] (终端运行python文件第n个参数) 在 pycharm 中的应用
  2. 小巧但强大,浏览器开发常用工具插件一枚
  3. 13.1StringBuffer与StringBuilder相同处和不同处
  4. Fast implementation/approximation of pow() function in C/C++
  5. linux内核模块编译出现找不到include/generated/asm/unistd_32.h” 问题解决
  6. spotlight soo5072:there was an error reading the tnsnames.ora
  7. 西瓜书学习记录-绪论
  8. ESXi日志分析网站第五版v5.4
  9. python selenium --鼠标事件
  10. 【STL容器讲解—栈队列】
  11. matlab求矩阵特征值的最大值,[转载]MATLAB用eig()函数求【特征值】【特征向量】【归一化...
  12. 【C】有一个已排好序的数组,要求输入一个数后,按原来排序的规律将它插入数组中
  13. el-table表格某列添加icon图标
  14. 软件测试需要掌握的技能
  15. 使用Python计算日期对应的周
  16. 微信小程序开发—入门到跑路(一)
  17. 分区数据丢失怎么恢复?恢复磁盘分区数据的方法
  18. GBase 8a MPP Cluster SQL基础
  19. 去金坛长荡湖吃船菜,原来1947年就有前辈在努力发展中国的计算机产业
  20. 陆面生态水文模拟与多源遥感数据同化

热门文章

  1. Golang输出toml文件时保留原toml注释
  2. DJ9-2 中断方式
  3. c语言随机字符rand,C语言中的随机函数rand()
  4. php面向对象笔试题,php练习笔试题
  5. php 数据类型转换强制转换的三种方式
  6. 宝鲲财经:揭秘炒汇建仓技巧有哪些
  7. live-pusher出现黑屏解决办法
  8. 五子棋 day5 - 1
  9. python之简易界面编程(模块搭建+界面搭建+功能完成)
  10. unity主角移动到屏幕最左侧时向上移动_王者荣耀:新增右手模式,连线功能升级,守卫峡谷增加天赋系统 – 手机游戏网—推荐最精彩的手机游戏...