深度学习之卷积和反卷积
ps 零零总总接触深度学习有1年了,虽然时间是一段一段的。现在再拾起来做一个新的项目,有些东西又要重新理解,感觉麻烦。现在就再次学习时候有些困惑的地方捋一遍。
1.卷积
说到卷积,我现在还有印象的是大学里《信号与系统》和《数字信号处理》两书中的离散信号的卷积。简单来你说就是一个信号固定,一个信号来移位相乘,其中还要区分周期信号和非周期信号(具体有点忘了)。现在要理解图像卷积先理解一维卷积。先上一个知乎上的解释:
那说到二维卷积,自己百度一下公式如下:
那么具体到深度学习中的卷积计算如下:
关键的来了说一下自己的理解。1.首先把G(i-m,j-n)比作卷积核,那么这一项中的两个负号就相当于是转了180度。你想想在二维坐标中一个的坐标值(x1,y1)加一个负号不就是旋转了180度么。2.其次前面的i和j就是相当于用来确定卷积核相对于待处理矩阵的位置。他们是没有重叠,部分重叠,还是完全重叠是靠这俩个参数决定的。3.你再反回去看下这个例子,你就会发现它其实没有全卷积。他只是为了让卷积前后的矩阵大小相同就卷积前加了一行一列的0,故他只是卷积部分,如果是全卷积的话卷积后的大小是x矩阵边长4加上卷积核边长3减去1。最后得到6*6的矩阵是全卷积。
2.反卷积
很多攻略都是什么图解反卷积,但是看的还是模棱两可。而且图看起来跟卷积相差不大(一个变大,一个变小)。但是后来我看到了一本电子书上计算实例结合之前的卷积例子才明白一个事实:反卷积注意也是‘卷积’只是多了一个‘反’(也有称为逆)字。说到底计算过程跟上面卷积一样,那正常的全卷积结果矩阵也是待卷积矩阵边长加上卷积核边长减去1。那么怎么体现‘反’字呢,其实也很简单只是将卷积的卷积核在转180度后作为反卷积操作的卷积核。接着开始卷积计算就是再将这个卷积核转180度(其实就最开始卷积计算的卷积核转了360度)而后移位相乘即可。
ps2019.3.19添加:卷积是时候,卷积核转180度计算,计算反计算反卷积时,卷积核转180度为反卷积的卷积核,再转180度计算。添加结束
可能你有点绕晕了,下面是在知乎看到的解释:
一句话解释:逆卷积相对于卷积在神经网络结构的正向和反向传播中做相反的运算。逆卷积(Deconvolution)比较容易引起误会,转置卷积(Transposed Convolution)是一个更为合适的叫法。C为卷积核。
tensorflow中的反卷积函数:tf.nn.conv2d_transpose ,而且还有3维反卷积函数。
参考:https://blog.csdn.net/u013539952/article/details/80610260
https://www.zhihu.com/question/43609045
深度学习之卷积和反卷积相关推荐
- 深度学习中的卷积与反卷积
转载自:http://blog.csdn.net/panglinzhuo/article/details/75207855 卷积与反卷积操作在图像分类.图像分割.图像生成.边缘检测等领域都有很重要的作 ...
- 深度学习(九)——花式卷积
花式卷积 在DL中,卷积实际上是一大类计算的总称.除了原始的卷积.反卷积(Deconvolution)之外,还有各种各样的花式卷积. 卷积在CNN和数学领域中的概念差异 首先需要明确一点,CNN中的卷 ...
- 万字长文带你看尽深度学习中的12种卷积网络
转自 | AI科技评论 作者 | Kunlun Bai 深度学习中的各种卷积网络大家知多少?对于那些听说过却又对它们没有特别清晰的认识的小伙伴们,Kunlun Bai 这篇文章非常值得一读.Kunlu ...
- 深度学习(6)之卷积的几种方式:1D、2D和3D卷积的不同卷积原理(全网最全!)
深度学习(6)之卷积的几种方式:1D.2D和3D卷积的不同卷积原理(全网最全!) 英文原文 :A Comprehensive Introduction to Different Types of Co ...
- 对深度可分离卷积、分组卷积、扩张卷积、转置卷积(反卷积)的理解
参考: https://zhuanlan.zhihu.com/p/28749411 https://zhuanlan.zhihu.com/p/28186857 https://blog.yani.io ...
- 深度学习多变量时间序列预测:卷积神经网络(CNN)算法构建时间序列多变量模型预测交通流量+代码实战
深度学习多变量时间序列预测:卷积神经网络(CNN)算法构建时间序列多变量模型预测交通流量+代码实战 卷积神经网络,听起来像是计算机科学.生物学和数学的诡异组合,但它们已经成为计算机视觉领域中最具影响力 ...
- 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(一)
[深度学习]基于Pytorch的卷积神经网络API妙用(一) 文章目录 1 不变性 2 卷积的数学分析 3 通道 4 互相关运算 5 图像中目标的边缘检测 6 基于Pytorch的卷积核 7 特征映射 ...
- 【深度学习】基于Pytorch的卷积神经网络概念解析和API妙用(二)
[深度学习]基于Pytorch的卷积神经网络API妙用(二) 文章目录1 Padding和Stride 2 多输入多输出Channel 3 1*1 Conv(笔者在看教程时,理解为降维和升维) 4 池 ...
- 【深度学习】移动翻转瓶颈卷积的实现(mobile inverted bottleneck convolution)
[深度学习]移动翻转瓶颈卷积的实现(mobile inverted bottleneck convolution) 文章目录 1 MBConv1.1 Depthwise Convolution1.2 ...
- 深度学习笔记(26) 卷积神经网络
深度学习笔记(26) 卷积神经网络 1. CONV 2. POOL 3. Layer 4. FC 5. 卷积的优势 1. CONV 假设,有一张大小为32×32×3的输入图片,这是一张RGB模式的图片 ...
最新文章
- autoware使用相机和深度学习进行目标检测(六)
- 一线大厂!真实!近距离!接触大数据时代
- 在开发的过程如何使用源码
- MySQL 如何优化 CPU 消耗?
- 背景图片自适应,不重复
- 1、vue 笔记之 组件
- Linux运维人员共用root帐户权限审计
- php 去除重复的值,php数组怎么去除重复值?
- python中使用selenium模块登录QQ邮箱
- python科学计算常用包-python常用包及功能介绍
- Java程序员必备!java商城项目难点
- 二、Arduino软件下载-安装-测试教程
- OpenPose人体姿态识别项目
- Photoshop CS4 卡通角色的设计与绘制(2)
- maven [INFO] No proxies configured [INFO] No proxy was configured, downloading directly
- 用数据来看马拉多纳究竟有多么闪耀!!!
- 备考BEC高级全记录:
- C++/Python中两个小于号或两个大于号的作用
- 4.PMAC下位机-PMAC安装参数设置
- 【数据共享】深度学习异常行为数据集—疲劳驾驶数据集—行为分析数据集
热门文章
- IBM走鹃险胜Cray Jaguar 连任世界最快超级计算机
- nodejs笔记之流(stream)
- (摘)Entity Framework Core 2.1带来更好的SQL语句生成方案
- Java Web开发技术教程入门-Model1和Model2
- 如何成为优秀的科学家
- canvas绘图数学知识总结
- Java学习作业(14.4.21)
- WPF教程尝试(修正部分格式)
- 【Java】Java中的在Linux和Mac以及Windows上使用File.separator的坑
- centos7 编译php5.3,centos7下编译安装php7.3