1. 卷积与反卷积

如上图演示了卷积核反卷积的过程,定义输入矩阵为 III(4×44\times 44×4),卷积核为 KKK(3×33\times 33×3),输出矩阵为 OOO(2×22\times 22×2):

  • 卷积的过程为:Conv(I,W)=O\text{Conv}(I, W)=OConv(I,W)=O
  • 反卷积的过称为:Deconv(W,O)=I\text{Deconv}(W,O)=IDeconv(W,O)=I(需要对此时的 OOO 的边缘进行延拓 padding

2. 步长与重叠

卷积核移动的步长(stride)小于卷积核的边长(一般为正方行)时,变会出现卷积核与原始输入矩阵作用范围在区域上的重叠(overlap),卷积核移动的步长(stride)与卷积核的边长相一致时,不会出现重叠现象。

4×44\times 44×4 的输入矩阵 III和 3×33\times 33×3 的卷积核KKK:

  • 在步长(stride)为 1 时,输出的大小为 (4−3+1)×(4−3+1)\left(4-3+1\right)\times \left(4-3+1\right)(4−3+1)×(4−3+1)

现考虑其逆问题,原始输入矩阵为多大时,其与 3×33\times 33×3 的卷积核KKK 相卷积得到的输出矩阵的大小为 4×44\times 44×4:

  • 步长(stride)为 1 时,(x−3+1)×(x−3+1)=4×4\left(x-3+1\right)\times \left(x-3+1\right)=4\times 4(x−3+1)×(x−3+1)=4×4

    • x=6x=6x=6

3. 定量化的计算公式

A Beginner’s Guide To Understanding Convolutional Neural Networks Part 2

  • 填充(padding,在原始input的周围进行填充),以保证卷积后的大小与原始 input shape 一致,

    zero padding=K−12zero\, padding =\frac{K-1}2 zeropadding=2K−1​

    KKK 为卷积核的大小,这样如果原始 input 的大小为 w*w,填充后的大小为 (w+k-1)*(w+k-1)(两端都要填充)

  • 卷积后的大小:

    o=w−k+2ps+1o=\frac{w-k+2p}{s}+1 o=sw−k+2p​+1

    • www:是 input 的 height/width, kkk:卷积核的 height/width
    • ppp:表示填充的大小;sss:为 stride 步长;
  • 举例:

    • 7*7 的 input,3*3 的 kernel,无填充,步长为1,则 o=7−31+1=5o=\frac{7-3}{1}+1=5o=17−3​+1=5,也即 output size 为 5*5

    • 7*7 的 input,3*3 的 kernel,无填充,步长为2,则 o=7−32+1=3o=\frac{7-3}{2}+1=3o=27−3​+1=3,也即 output size 为 3*3

卷积与反卷积、步长(stride)与重叠(overlap)及 output 的大小相关推荐

  1. cnn stride and padding_彻底搞懂CNN中的卷积和反卷积

    前言 卷积和反卷积在CNN中经常被用到,想要彻底搞懂并不是那么容易.本文主要分三个部分来讲解卷积和反卷积,分别包括概念.工作过程.代码示例,其中代码实践部分主结合TensorFlow框架来进行实践.给 ...

  2. 卷积、空洞卷积、反卷积与空洞反卷积的计算公式(全)

    前言: 经常使用的卷积有卷积.空洞卷积.反卷积与空洞反卷积的,下面总结了他们的计算公式. 一.卷积计算公式 卷积神将网络的计算公式为: N=(W-F+2P)/S+1 其中 N:输出大小 W:输入大小 ...

  3. 对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解

    参考: https://zhuanlan.zhihu.com/p/28749411 https://zhuanlan.zhihu.com/p/28186857 https://blog.yani.io ...

  4. Tensorflow卷积与反卷积(目前看到的最详细的解释)

    卷积操作 tf.nn.conv2d(input, filter, strides, padding, use_cudnn_on_gpu=None, name=None) 除去name参数用以指定该操作 ...

  5. [CNN] 卷积、反卷积、池化、反池化

    之前一直太忙,没时间整理,这两天抽出点时间整理一下卷积.反卷积.池化.反池化的内容,也希望自己对一些比较模糊的地方可以理解的更加清晰. 一.卷积 1.卷积的简单定义 卷积神经网络中的卷积操作可以看做是 ...

  6. 一文搞懂转置卷积(反卷积)

    ↑ 点击蓝字 关注极市平台 作者丨土豆@知乎 来源丨https://zhuanlan.zhihu.com/p/158933003 极市导读 转置卷积在一些文献中也被称为反卷积,人们如果希望网络学习到上 ...

  7. 卷积与反卷积(转置卷积)关系的公式推导 及其各自的形式

    1. 卷积与反卷积(转置卷积)的关系推导: 2. Transposed Convolution, Fractionally Strided Convolution or Deconvolution h ...

  8. 卷积,反卷积,空洞卷积

    卷积神经网络中卷积核的作用在于特征的抽取,越是大的卷积核尺寸就意味着更大的感受野,当然随之而来的是更多的参数.早在1998年,LeCun大神发布的LetNet-5模型中就会出,图像空域内具有局部相关性 ...

  9. 深度学习中的卷积与反卷积

    转载自:http://blog.csdn.net/panglinzhuo/article/details/75207855 卷积与反卷积操作在图像分类.图像分割.图像生成.边缘检测等领域都有很重要的作 ...

最新文章

  1. 在C#中使用代理的方式触发事件 (委托和事件 ) (转)
  2. oracle 序列的使用
  3. 根据年 -月查询这个月的第一天和最后一天
  4. 【Pytorch神经网络实战案例】02 CIFAR-10数据集:Pytorch使用GPU训练CNN模版-方法②
  5. cude的__ldg使用
  6. 程序员50题(JS版本)(二)
  7. C++ 作用域使用规范建议
  8. FBI为车主支招:如何预防汽车黑客
  9. 表达式求值(栈方法/C++语言描述)(一)
  10. 角度传感器测量实验 GY-25
  11. java毕业设计数码产品导购网站mybatis+源码+调试部署+系统+数据库+lw
  12. VMware虚拟机文件格式详解
  13. IPv4如何向IPv6过渡?IPv6改造方案有哪些?
  14. 让你的查询支持中文拼音码模糊查询。
  15. python中import requests是什么意思_python中requests库使用方法详解
  16. centos下安装snmp服务
  17. 花了10分钟终于明白矩阵的逆怎么用了!
  18. 推荐几款适合孩子玩的编程游戏
  19. html页面滚动条监听事件,滚动条的scroll事件
  20. 技术答疑 普通音效、技能音效与动画音效的区别

热门文章

  1. 【java学习之路】(数据结构篇)001.数组
  2. 金字塔型php的9x9乘法口诀表,python中打印金字塔和九九乘法表的几种方法
  3. 5.2.6 std::atomic<>主要类的模板
  4. Kafka的介绍之一
  5. android studio进度条的应用,Android Studio实现进度条效果
  6. vue表单实现输入框控制输入小数点后两位
  7. 折线图_Line plot - 折线图
  8. android背景颜色动态修改,Android自定义TextView带圆角及背景颜色(动态改变圆角背景颜色)...
  9. 嵌入式linux寄存器位运算,嵌入式linux C语言(一)――位运算的使用
  10. php设置pem,php – 如何将OpenSSH公钥文件格式转换为PEM