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

news/2024/11/1 23:40:41/

🌈 个人主页:十二月的猫-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.ppmy.cn/news/1543720.html

相关文章

Python 自动化运维:安全与合规最佳实践

Python 自动化运维:安全与合规最佳实践 目录 🔒 Python安全编程实践与最佳实践🔑 使用Hashlib与Cryptography进行数据加密📊 安全审计与合规检查的重要性🔍 处理敏感数据与隐私保护的方法 1. 🔒 Python安…

python/Django创建应用(app)

注意事项: Django已经安装在你的Python环境中。 你已经创建了一个Django项目,并且当前工作目录是项目的根目录。你的虚拟环境(如果使用)已经被激活。 在原有Django项目的控制台 python manage.py startapp myapp 创建一个应用&…

Spring Boot的核心优势及其应用详解

目录 前言1. Spring Boot的核心优势1.1 启动依赖的集成1.2 自动化配置 2. 内嵌服务器支持2.1 内嵌Tomcat服务器2.2 独立运行与便捷部署 3. 外部配置管理3.1 多环境支持3.2 配置优先级与外部化配置 4. Spring Boot的应用场景4.1 微服务架构4.2 云原生应用 结语 前言 在现代的Ja…

k8s Sidecar代理

Sidecar 代理是一种常见的设计模式,在 Kubernetes 和微服务架构中经常被用来增强服务的功能和隔离服务的职责。Sidecar 代理作为一个附属的进程或容器,通常与主应用容器一起部署在同一个 Pod 中,负责处理一些非业务的通用任务,比如…

网络:IP分片和组装

个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》《C》《Linux》《网络》 《redis学习笔记》 文章目录 前言16位标识,3位标志,13位片偏移分片组装总结 前言 对于IP分片和组装的总结 当一个IP数据报的大小超过网络的MTU(最…

面试题整理 3

总结了某公司面试遇到的值得整理记录的面试题,比较侧重于Redis方面。 目录 Redis持久化配置 RDB AOF Redis rdb日志文件路径编辑 命令行参数设置 Redis事务 Redis事务介绍 Redis事务阶段 watch监听 Mysql隔离级别 1.READ UNCOMMITTED 2.READ COMMITTED …

FFMPEG+Qt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频

FFMPEGQt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频 文章目录 FFMPEGQt 实时显示本机USB摄像头1080p画面以及同步录制mp4视频1、前言1.1 目标1.2 一些说明 2、效果3、代码3.1 思路3.2 工程目录3.3 核心代码 4、全部代码获取 1、前言 本文通过FFMPEG(7.0.2)与Qt(5.13.…

智能家居10G雷达感应开关模块,飞睿智能uA级别低功耗、超高灵敏度,瞬间响应快

在当今科技飞速发展的时代,智能家居已经逐渐成为人们生活中不可或缺的一部分。从智能灯光控制到智能家电的联动,每一个细节都在为我们的生活带来便利和舒适。而在众多智能家居产品中,10G 雷达感应开关模块以其独特的优势,正逐渐成…