🌈 个人主页:十二月的猫-CSDN博客
🔥 系列专栏: 🏀深度学习_十二月的猫的博客-CSDN博客💪🏻 十二月的寒冬阻挡不了春天的脚步,十二点的黑夜遮蔽不住黎明的曙光
目录
1. 卷积
1.1 卷积的定义
1.2 卷积的意义
例子:信号分析
2. 卷积核与卷积
2.1 卷积
2.2 卷积核
2.3 深度学习中的卷积
3. 总结
1. 卷积
从数学上讲,卷积就是一种运算。
某种运算,能被定义出来,至少有以下特征:
- 首先是抽象的、符号化的
- 其次,在生活、科研中,有着广泛的作用
比如加法:
- a+b ,是抽象的,本身只是一个数学符号
- 在现实中,有非常多的意义,比如增加、合成、旋转等等
卷积,是我们学习高等数学之后,新接触的一种运算,因为涉及到积分、级数,所以看起来觉得很复杂。
核心思想:
1、卷积是一种运算
2、卷积和加法、减法等运算相同,都有其服务的现实意义
1.1 卷积的定义
我们称 (f*g)(n) 为 f,g 的卷积
其连续的定义为:
其离散的定义为:
这两个式子有一个共同的特征:
t以及n-t存在,也就是说两者相加永远为n
这就好像把一个毛巾卷起来,变为两部分:一边为t;另一边为n-t
到这里,大家可能就知道这个卷积中的卷是什么意思啦~~~~
拿一个经典例子卷毛巾:
1、卷毛巾就是将毛巾的其中一个角和另一个角连接起来
2、在卷积中就是t和n-t连接起来
1.2 卷积的意义
那么,在实际应用中我们又为什么需要引入卷积这个计算方式呢?
我来举两个例子大家就明白了!!!
例子:信号分析
如下图所示,输入信号是 f(t) ,是随时间变化的。系统响应函数是 g(t) ,图中的响应函数是随时间指数下降的,它的物理意义是说:如果在 t=0 的时刻有一个输入,那么随着时间的流逝,这个输入将不断衰减。换言之,到了 t=T时刻,原来在 t=0 时刻的输入f(0)的值将衰减为f(0)g(T)。
输入信号:
系统响应时间:
考虑到信号是连续输入的,也就是说,每个时刻都有新的信号进来,所以,最终输出的是所有之前输入信号的累积效果。如下图所示,在T=10时刻,输出结果跟图中带标记的区域整体有关。其中,f(10)因为是刚输入的,所以其输出结果应该是f(10)g(0),而时刻t=9的输入f(9),只经过了1个时间单位的衰减,所以产生的输出应该是 f(9)g(1),如此类推,即图中虚线所描述的关系。这些对应点相乘然后累加,就是T=10时刻的输出信号值,这个结果也是f和g两个函数在T=10时刻的卷积值。
显然,上面的对应关系看上去比较难看,是拧着的,所以,我们把g函数对折一下,变成了g(-t),这样就好看一些了。看到了吗?这就是为什么卷积要“卷”,要翻转的原因,这是从它的物理意义中给出的。
上图虽然没有拧着,已经顺过来了,但看上去还有点错位,所以再进一步平移T个单位,就是下图。它就是本文开始给出的卷积定义的一种图形的表述:
所以,在以上计算T时刻的卷积时,要维持的约束就是: t+ (T-t) = T 。
本质上就是在信号处理中,在处理随时间递减的信号量之间乘积求和的关系时,存在这种约束关系。
再比如:
小明在1时刻,吃了100kcal热量,2时刻吃了80kcal热量;同时在1时刻热量剩余90%,在2时刻热量会剩余70%。那么到2时刻热量剩余将是:100*70%+80*90*
如果把小明的进食热量看作一个函数,把热量剩余百分比看作第二个函数。那么小明在任何时刻的热量剩余,都是这两个函数做卷积操作
卷积本质:翻转+乘积求和
2. 卷积核与卷积
不知道看到这里的大家会不会很纳闷。
这这这,和我们深度学习里面的卷积核的卷积操作完全不同呀!!!!!
晕晕晕~~~
你说的没错,就是不同的(无语住了)
区别就是:卷积到底要不要翻转
2.1 卷积
这个卷积是指数学中的卷积
在数学中,两个矩阵进行卷积操作,卷积核是要翻卷的,如下面动图所示,它们的位置翻转对应。
数学中的卷积:计算要翻转180度
再来个例子:
对于一个公式:
x+y=n
计算这个公式的卷积操作,就是下图直线
2.2 卷积核
讲卷积核就让我们从一个例子开始讲
图像处理:
有这么一副图像,可以看到,图像上有很多噪点:
高频信号,就好像平地耸立的山峰:
看起来很显眼。
平滑这座山峰的办法之一就是,把山峰刨掉一些土,填到山峰周围去。用数学的话来说,就是把山峰周围的高度平均一下。
平滑后得到:
卷积可以帮助实现这个平滑算法。
有噪点的原图,可以把它转为一个矩阵:
然后用下面这个平均矩阵(说明下,原图的处理实际上用的是正态分布矩阵,这里为了简单,就用了算术平均矩阵)作为卷积核g,来平滑图像:
记得刚才说过的算法,把高频信号与周围的数值平均一下就可以平滑山峰。
比如我要平滑:a11
就在矩阵中,取出a11点附近的点组成矩阵:f
和卷积核g进行卷积计算后,再填回去:
再来一张卷积的动态图:
那么最关键的来了:卷积核和矩阵的运算具体是如何的,也就是f和g具体是如何计算的
看到有的博主说是这样的
这在数学上来看是没有错的
但是在深度学习操作中,我们从来没有看到人是这么算的
2.3 深度学习中的卷积
概念辨析:
1.上文可以清晰地看到数学中卷积运算的特点:
卷积核与原始的矩阵乘积,是围绕着中心元素进行180度旋转后,才是对应的元素。
2.卷积神经网络的卷积本质上是一种spatial filter(滤波)
我们来看两种图像空间滤波的常见操作
a)平滑滤波
b)边缘提取
这两种件事情,很容易通过设计特定的“卷积核”,然后将其与像素矩阵的对应元素(不进行上述的旋转)相乘得到。
3.此“卷积”与彼“卷积”的联系与区别 :
**最直观的就是:是否进行翻转,然后再进行对应元素的加权求和。 **
其实本质上来说是两者的用途不同
- 数学中卷积,主要是为了诸如信号处理、求两个随机变量和的分布等而定义的运算,所以需要“翻转”是根据问题的需要而确定的
- 卷积神经网络中“卷积”,是为了提取图像的特征,其实只借鉴了“加权求和”的特点
- 还有一点一定要说的是:数学中的“卷积核”都是已知的或者给定的,卷积神经网络中“卷积核”本来就是trainable的参数,不是给定的,根据数据训练学习的,那么翻不翻转还有什么关系呢?因为无论翻转与否对应的都是未知参数!
3. 总结
如果想要学习更多深度学习知识,大家可以点个关注并订阅,持续学习、天天进步
你的点赞就是我更新的动力,如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~