当前位置: 首页 > article >正文

【深度学习基础】深入理解 卷积与卷积核

🌈 个人主页:十二月的猫-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 的卷积

其连续的定义为:

(f*g)(n)=\int_{-\infty}^\infty f(\tau)g(n-\tau)d\tau

其离散的定义为:

(f*g)(n)=\sum_{\tau=-\infty}^\infty f(\tau)g(n-\tau)

这两个式子有一个共同的特征:

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,来平滑图像:

g=\begin{bmatrix}\frac19&\frac19&\frac19\\\frac19&\frac19&\frac19\\\frac19&\frac19&\frac19\end{bmatrix}

记得刚才说过的算法,把高频信号与周围的数值平均一下就可以平滑山峰。

比如我要平滑:a11

就在矩阵中,取出a11点附近的点组成矩阵:f

和卷积核g进行卷积计算后,再填回去:

再来一张卷积的动态图:


那么最关键的来了:卷积核和矩阵的运算具体是如何的,也就是f和g具体是如何计算的

看到有的博主说是这样的

这在数学上来看是没有错的

但是在深度学习操作中,我们从来没有看到人是这么算的

2.3 深度学习中的卷积

概念辨析:

  1. 卷积核:深度学习中的概念,执行的是深度学习中的卷积操作
  2. 深度学习的卷积:不需要翻转的卷积
  3. 数学中的卷积:翻转+乘积求和
  4. 深度学习的卷积:乘积求和
  5. 深度学习的卷积:又叫滤波
  6. 深度学习的卷积核:又叫滤波器

1.上文可以清晰地看到数学中卷积运算的特点:
卷积核与原始的矩阵乘积,是围绕着中心元素进行180度旋转后,才是对应的元素。

2.卷积神经网络的卷积本质上是一种spatial filter(滤波)
我们来看两种图像空间滤波的常见操作
a)平滑滤波
b)边缘提取
这两种件事情,很容易通过设计特定的“卷积核”,然后将其与像素矩阵的对应元素(不进行上述的旋转)相乘得到。
3.此“卷积”与彼“卷积”的联系与区别 :
**最直观的就是:是否进行翻转,然后再进行对应元素的加权求和。 **
其实本质上来说是两者的用途不同

  • 数学中卷积,主要是为了诸如信号处理、求两个随机变量和的分布等而定义的运算,所以需要“翻转”是根据问题的需要而确定的
  • 卷积神经网络中“卷积”,是为了提取图像的特征,其实只借鉴了“加权求和”的特点
  • 还有一点一定要说的是:数学中的“卷积核”都是已知的或者给定的,卷积神经网络中“卷积核”本来就是trainable的参数,不是给定的,根据数据训练学习的,那么翻不翻转还有什么关系呢?因为无论翻转与否对应的都是未知参数!

 3. 总结

  1. 卷积核:深度学习中的概念,执行的是深度学习中的卷积操作
  2. 深度学习的卷积:不需要翻转的卷积
  3. 数学中的卷积:翻转+乘积求和
  4. 深度学习的卷积:乘积求和
  5. 深度学习的卷积:又叫滤波
  6. 深度学习的卷积核:又叫滤波器

如果想要学习更多深度学习知识,大家可以点个关注并订阅,持续学习、天天进步

你的点赞就是我更新的动力,如果觉得对你有帮助,辛苦友友点个赞,收个藏呀~~~


http://www.kler.cn/a/375660.html

相关文章:

  • 企业如何通过架构蓝图实现数字化转型
  • centos7 keepalived 安装一共有几种方式?
  • Oracle与SQL Server的语法区别
  • 一文速通C++17 std::any
  • Go语言的使用
  • 5G RRC连接的建立
  • 鸿蒙基础篇-ArkTS-语句-类型进阶与渲染控制
  • 生物信息与机器学习6 - 有监督学习算法和无监督学习算法
  • 强势改进!TCN-Transformer时间序列预测
  • 新能源汽车充电桩安装限流式保护器如何选配-安科瑞黄安南
  • 网络安全战略论文学习笔记day2
  • 013:开发软件Visual Studio 2012安装教程
  • 动态规划 - 编辑距离
  • PHP面试题总结
  • 三大专项计划助力教育公平,你准备好了吗?
  • 数字ic/FPGA,Windows/Linux系统,其他相关领域,软件安装包(matlab、vivado、modelsim。。。)
  • MacOS/Macbook用户自定义字体安装教程
  • T级别DDoS攻击与大型DDoS防御
  • 保持HTTP会话状态:缓存策略与实践
  • mint-ui Picker 显示异常
  • 数字信号处理:自动增益控制(AGC)
  • 高频谐振功放电路
  • C语言 | Leetcode C语言题解之第526题优美的排列
  • C++基本语法
  • 如何在Linux系统中使用Ansible进行自动化部署
  • 手机玩潜水员戴夫?GameViewer远程如何随时随地玩潜水员戴夫教程