多维卷积与一维卷积的统一性(运算篇)

转自 http://blog.sina.com.cn/s/blog_7445c2940102wmrp.html

本篇博文本来是想在下一篇博文中顺带提一句的,结果越写越多,那么索性就单独写一篇吧。在此要特别感谢实验室董师兄,正因为他的耐心讲解,才让我理解了卷积运算的统一性(果然学数学的都不是盖的)。

------------------------------------我叫分割线----------------------------------------?

?所谓卷积,其实是一种数学运算。但是在我们的学习生涯中,往往它都是披上了一层外衣,使得我们经常知其然不知其所以然。比如在信号系统中,他是以一维卷积的形式出现描述系统脉冲响应。又比如在图像处理中,他是以二维卷积的形式出现,可以对图像进行模糊处理。乍一看,两个形式风马牛不相及,但其实他们的本质都是统一的。可见,我们看待事物不仅要看他们的表象,还要从表象中分辨出他们的本质。下面进入正题。

?1.一维卷积?

在这个部分,我们主要从数学的角度看一看卷积,也就是看一下卷积是怎么运算的。这里要说明一下,卷积分为连续卷积和离散卷积。在此为了方便大家理解,在此先以离散卷积举例,本文也就不再专门讨论连续卷积(因为连续卷积和离散卷积的区别也就是连续和离散的区别,找时间我会总结一下连续和离散的异同)。说到数学角度,那首先就要给出卷积运算的公式定义:

一维卷积公式

这个公式中有三个序列(y,h,u),其中h长度为lh=3,u的长度为lu=6。那么就有y的长度ly=lh+lu-1=8(至于为什么后面会说)。如何计算这个卷积呢?我们先将一个序列从小到大排列(U0,U1,U2,U3,U4,U5)在一维直线上,因为公式中U的序号i是从小到大。而将H序列从大到小排列(H2,H1,H0),因为H的序号是-i。再将两个序列的开头对齐,如下图:

K=0

K=7

排列好之后,我们就可以开始进行卷积运算。当位移K=0时,下面H序列不移动,上下两个序列中都存在的项相乘后相加,即y(0)=H0*U0。当位移K=1时,下面H序列移动1位,之后对应项相乘后相加得到y(1)=H1*U0+H0*U1。依此移动,直到取到K的最大值停止。可见,一维卷积就是卷积核H,在被卷积信号U的一维直线上的移动之后的对应项相乘后求和运算。那么K的取值范围时多少呢?从图中我们可以看出当K=8时,H序列和U序列对应项都不存在了,那么K=8也就没有意义。因此的最大长度要使得两个序列至少有1个项重合,即两个序列长度求和再减去重合的一项的长度

2.多维卷积??

我们还是先从简单的入手,以二维卷积为例。二维卷积的公式如下:?

二维卷积公式

此时,三个序列(y,h,u)都是双下标的序列。在一维卷积中,我们将U展开在一维直线上。那么对于二维卷积运算,我们就将U展开在二维平面中,左下角为U(0,0),右上角为U(5,5)。?同样的,将H也展开在二维平面中,同时要与U的方向相反,左下角为H(2,2),右上角为H(0,0)。如下图所示:?

同样,二维卷积中p,q的长度也是由H和U序列长度所决定的,即Lp=Lux+Lhx-1,Lq=Luy+Lhy-1。二维卷积运算就是卷积核H,在被卷积信号U的平面上的对应项相乘后求和运算。那么对于更高维的卷积运算,同样可以按照该方法理解。相信大家读到这里,可以理解不同维卷积的统一性。

特别注意:

1.?卷积后的序号k,q,p其实表示的是两个卷积序列的相对位置关系,也就是与被卷积信号的坐标不相同。

2.卷积的两个信号的坐标既可以是时间坐标也可以是空间的坐标,甚至是时空坐标。只不过,如果是时间坐标,注意坐标不可为负。

原文地址:https://www.cnblogs.com/lhuser/p/8414759.html

时间: 2024-10-12 11:20:34

多维卷积与一维卷积的统一性(运算篇)的相关文章

卷积神经网络(CNN)之一维卷积、二维卷积、三维卷积详解

由于计算机视觉的大红大紫,二维卷积的用处范围最广.因此本文首先介绍二维卷积,之后再介绍一维卷积与三维卷积的具体流程,并描述其各自的具体应用. 二维卷积 一维卷积 三维卷积 原文地址:https://www.cnblogs.com/szxspark/p/8445327.html

一维卷积及多维卷积

在泛函分析中,卷积.旋积或摺积(Convolution)是通过两个函数 f(x) 和 g(x) 生成第三个函数的一种数学算子: 表征函数 f(x) 与 g(x) 经过翻转和平移的重叠部分的面积. 1 一维卷积 1.1 一维卷积公式 原文地址:https://www.cnblogs.com/gengyi/p/9508917.html

深度学习面试题09:一维卷积(Full卷积、Same卷积、Valid卷积、带深度的一维卷积)

目录 一维Full卷积 一维Same卷积 一维Valid卷积 三种卷积类型的关系 具备深度的一维卷积 具备深度的张量与多个卷积核的卷积 参考资料 一维卷积通常有三种类型:full卷积.same卷积和valid卷积,下面以一个长度为5的一维张量I和长度为3的一维张量K(卷积核)为例,介绍这三种卷积的计算过程 一维Full卷积 Full卷积的计算过程是:K沿着I顺序移动,每移动到一个固定位置,对应位置的值相乘再求和,计算过程如下: 将得到的值依次存入一维张量Cfull,该张量就是I和卷积核K的ful

(原)CNN中的卷积、1x1卷积及在pytorch中的验证

转载请注明处处: http://www.cnblogs.com/darkknightzh/p/9017854.html 参考网址: https://pytorch.org/docs/stable/nn.html?highlight=conv2d#torch.nn.Conv2d https://www.cnblogs.com/chuantingSDU/p/8120065.html https://blog.csdn.net/chaolei3/article/details/79374563 1x1

php多维数组化一维数组

一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { return false; } foreach ($arr as $val ) { if (is_array ($val)) { arr_foreach ($val); } else { $tmp[]=$val; } } return $tmp; } $a = array(1,2=>array(3,4=>

Excel Power Query经典应用之二维表转一维表

Excel Power Query经典应用之二维表转一维表 将一个二维表格转为一维表格,是我们经常要做的事,目的是为了将数据做更好的分析.但Excel普通的转换的方式却比较麻烦.不过不用担心.利用Excel的Power Query功能,可以实现秒转. 了解更多新技能,扫描关注微信公众号 大话office

hdu--2159--二维费用背包&lt;一维错误解法&gt;

这题 还好 我A了之后 习惯性地去看了下 discuss  然后发现 基本上所有人的解法都在说 二维费用完全背包... 还好 看到一个人 是和我一样的用 一维 完全背包 加一个计数的cnt数组去解决的... 还好 在那边看到了一个人的质疑 并给出了一组数据  果然 一维的不能通过=-=那就只能 去学下 二维费用背包了...擦 这名字好长啊 因为 当时 我背包九讲只学到了01 完全 多重 后面就没学了 ... 二维费用背包要是一般的话 很简单的 就是多了一层for而已  而且假如这个数组是dp[

Convolution Network及其变种(反卷积、扩展卷积、因果卷积、图卷积)

今天,主要和大家分享一下最近研究的卷积网络和它的一些变种. 首先,介绍一下基础的卷积网络. 通过PPT上的这个经典的动态图片可以很好的理解卷积的过程.图中蓝色的大矩阵是我们的输入,黄色的小矩阵是卷积核(kernel,filter),旁边的小矩阵是卷积后的输入,通常称为feature map. 从动态图中,我们可以很明白的看出卷积实际上就是加权叠加. 同时,从这个动态图可以很明显的看出,输出的维度小于输入的维度.如果我们需要输出的维度和输入的维度相等,这就需要填充(padding). 现在我们来看

将二维数组转为一维数组的2种方法

如何将下面的二维数组转为一维数组. 代码如下: $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'name'=>'mary' ), array( 'id'=>'78', 'name'=>'lili' ), ); 第一种方法: 代码如下: foreach($msg as $k => $v){ $ids[] = $id; $names[] = $name; } 第二种方法: 代