dilated conv、deconv、fractional-strided conv
deconv的其中一个用途是做upsampling,即增大图像尺寸。
dilated convolution:
dilated conv,中文可以叫做空洞卷积或者扩张卷积。
deconv的其中一个用途是做upsampling,即增大图像尺寸。而dilated conv并不是做upsampling,而是增大感受野。
可以形象的做个解释:
对于标准的k*k卷积操作,stride为s,分三种情况:
(1) s>1,即卷积的同时做了downsampling,卷积后图像尺寸减小;
(2) s=1,普通的步长为1的卷积,比如在tensorflow中设置padding=SAME的话,卷积的图像输入和输出有相同的尺寸大小;
(3) 0<s<1,fractionally strided convolution,相当于对图像做upsampling。比如s=0.5时,意味着在图像每个像素之间padding一个空白的像素后,stride改为1做卷积,得到的feature map尺寸增大一倍。
而dilated conv不是在像素之间padding空白的像素,而是在已有的像素上,skip掉一些像素,或者输入不变,对conv的kernel参数中插一些0的weight,达到一次卷积看到的空间范围变大的目的。
当然将普通的卷积stride步长设为大于1,也会达到增加感受野的效果,但是stride大于1就会导致downsampling,图像尺寸变小。大家可以从以上理解到deconv,dilated conv,pooling/downsampling,upsampling之间的联系与区别,欢迎留言沟通交流。
DCGAN[5]中使用deconv就更自然了,本身GAN就需要generative model,需要通过deconv从特定分布的输入数据中生成图片。GAN这种模式被Yann LeCun特别看好,认为是unsupervised learning的一个未来。
fractional-strided convolution:
反卷积有时候也被叫做Fractionally Strided Convolution,翻译过来大概意思就是小数步长的卷积。对于步长 s>1的卷积,我们可能会想到其对应的反卷积步长 s′<1。
对于反卷积操作的小数步长我们可以理解为:在其输入特征单元之间插入 s−1 个0,插入0后把其看出是新的特征输入,然后此时步长 s′ 不再是小数而是为1。
详见网址:https://my.oschina.net/u/3702502/blog/1803358 http://www.mamicode.com/info-detail-2321005.html
dilated conv、deconv、fractional-strided conv的更多相关文章
- AI:IPPR的数学表示-CNN稀疏结构进化(Mobile、xception、Shuffle、SE、Dilated、Deformable)
接上一篇:AI:IPPR的数学表示-CNN基础结构进化(Alex.ZF.Inception.Res.InceptionRes). 抄自于各个博客,有大量修改,如有疑问,请移步各个原文..... 前言 ...
- 一文搞懂 deconvolution、transposed convolution、sub-pixel or fractional convolution
目录 写在前面 什么是deconvolution convolution过程 transposed convolution过程 transposed convolution的计算 整除的情况 不整除的 ...
- CNN中各类卷积总结:残差、shuffle、空洞卷积、变形卷积核、可分离卷积等
CNN从2012年的AlexNet发展至今,科学家们发明出各种各样的CNN模型,一个比一个深,一个比一个准确,一个比一个轻量.我下面会对近几年一些具有变革性的工作进行简单盘点,从这些充满革新性的工作中 ...
- MySQL 系列(三)你不知道的 视图、触发器、存储过程、函数、事务、索引、语句
第一篇:MySQL 系列(一) 生产标准线上环境安装配置案例及棘手问题解决 第二篇:MySQL 系列(二) 你不知道的数据库操作 第三篇:MySQL 系列(三)你不知道的 视图.触发器.存储过程.函数 ...
- Reflector、reflexil、De4Dot、IL指令速查表
http://files.cnblogs.com/files/quejuwen/ReflectorInstaller.rar http://files.cnblogs.com/files/quejuw ...
- MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)
转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857574.html 续上文[翻译]MSIL 教程(一) ,本文继续讲解数组.分支.循环 ...
- Python自动化运维之18、Python操作 MySQL、pymysql、SQLAchemy
一.MySQL 1.概述 什么是数据库 ? 答:数据的仓库,和Excel表中的行和列是差不多的,只是有各种约束和不同数据类型的表格 什么是 MySQL.Oracle.SQLite.Access.MS ...
- 深度学习——卷积神经网络 的经典网络(LeNet-5、AlexNet、ZFNet、VGG-16、GoogLeNet、ResNet)
一.CNN卷积神经网络的经典网络综述 下面图片参照博客:http://blog.csdn.net/cyh_24/article/details/51440344 二.LeNet-5网络 输入尺寸:32 ...
- 一周总结:AutoEncoder、Inception 、模型搭建及下周计划
一周总结:AutoEncoder.Inception .模型搭建及下周计划 1.AutoEncoder: AutoEncoder: 自动编码器就是一种尽可能复现输入信号的神经网络:自动编码器必须捕 ...
随机推荐
- HTML自学第一篇
教程来自W3CSchool 因为笔者有过开发经验 本篇只是个人对HTML自学的笔记,可能不适合用于给他人理解和学习 什么是 HTML HTML 指的是超文本标记语言 (Hyper Text Marku ...
- Latex博客转载
\[{e^{ix}=cosx+isinx} \] \[[博客地址](https://www.cnblogs.com/Sinte-Beuve/p/6160905.html) \]
- python一些小trick
数据去重 lst = ['1','2','3','3'] lst = list(set(lst)) 不同根目录下引用另一个库 例如 |--a--a.py |--b--b.py 在b.py中调用库a.p ...
- 简单聊聊 Ironic
上一篇文章里我简单介绍了一下「裸金属」的概念,提到了 OpenStack 中的核心项目 Ironic,今天简单来聊聊它. Ironic 项目的吉祥物 Bare Metal 所以用 Bear 来做吉祥物 ...
- Python-in is == 区别
in 判断单个元素是否在序列中, 对字典来说只能判断key,在不在关系 print("ab" in "abcdefg") print("abc&quo ...
- mysql-16-variables
#变量 /* 系统变量: 全局变量 会话变量 自定义变量: 用户变量 局部变量 */ # 一.系统变量 #由系统提供,属于服务器层面 #1.查看所有的系统变量 show global variable ...
- 分享一些比较好用的(免费)网站及推荐理由 SMARK
分享一些比较好用的(免费)网站及推荐理由 --By SMARK 资源类 这里面是一些有供下载的资源的网站等 视频 片库 内容怎么样有待考证 蓝光网 看着还行, 打赏收入 预告片世界 还行, 收入有待考 ...
- centos 7 安装docker 常用指令
什么是docker l 使用最广泛的开源容器引擎 l 一种操作系统级的虚拟化技术 l 依赖于Linux内核特性:Namespace和Cgroups l 一个简单的应用程序打包工具 docker ...
- NOI 2011 【阿狸的打字机】
之前讲了[AC自动姬],今天我终于把这题给刚下来了...嗯,来给大家讲一讲. 题目描述: 打字机上只有28个按键,分别印有26个小写英文字母和'B'.'P'两个字母.经阿狸研究发现,这个打字机是这样工 ...
- Angluar2 项目搭建
一 使用 Angular CLI 官方脚手架 1.安装 cli npm install -g @angular/cli 2.创建工作空间和初始应用 ng new my-app 二 tsLint 代码格 ...