[深度学习] 卷积神经网络“卷“在哪里?
🌈 博客个人主页:Chris在Coding
🎥 本文所属专栏:[深度学习]
❤️ 热门学习专栏:[Linux学习]
⏰ 我们仍在旅途
目录
1.卷积的定义
2.卷积的"卷"在哪里
3.什么又是卷积神经网络
4.卷积神经网络的第一层的作用及其与卷积的关系
5.卷积的三层含义
1.卷积的定义
卷积(Convolution)是数学和计算机科学中一种重要的操作,常用于信号处理、图像处理、神经网络等领域。在信号处理和图像处理中,卷积用于将两个信号或图像进行融合,生成一个新的输出信号或图像。在神经网络中,卷积层是一种常见的层类型,用于从输入数据中提取特征。
- 在离散情况下,卷积的定义为:
- 在连续情况下,卷积的定义为:
2.卷积的"卷"在哪里
卷积的名字来源于它的运算过程。在卷积操作中,我们将两个函数进行加权求和,并在不同的位置进行移位。这个过程可以类比为将一个函数“卷”到另一个函数上,并对其进行加权叠加。这种“卷”的过程使得卷积得名。
当然就这样说过于抽象抽象,我们不妨直接直接举个例子来感受:
咱就说那吃饭来说,分别描述了一个人的进食和消化过程。这个过程可以用两个函数来表示:
- f(t)函数描述了他待消化食物剩余情况
- g(t)函数描述了他的消化情况
- 我们假设一个人的消化过程是固定的函数,即g(t),食物剩余的百分比随时间的流逝都保持相同的变化
- 而相对应的待消化食物剩余量的函数f(t)则显得随机,不固定,这时由于我们会有随机的进食行为
这个时候,我们在已知在8点的时候我们吃了面条,10点时我们吃了面包,而12点时我们又进食了米饭
这个时候如果我们想要去求14点时肠胃中的剩余食物,即f(14)时,我们可以得到下面这个公式
此时胃里在下午14点剩下的东西则为米饭剩余量+面包剩余量+面条剩余量。也就是图片右边的三个公式之和
既然这样,我们可不可以推广一下这个计算方法?
如果现在要求的是任意t时刻胃里还剩多少东西
那其实就是要把把在t时刻之前,对应的每一个时间吃的食物的剩余量分别算出来,在进行相加。
这是不是就和我们前面的离散型卷积公式一模一样
也就是说,通过卷积操作,我们可以得到在某一时刻他胃里还剩下多少食物,这个过程就好像是将消化情况“卷”到进食情况上,然后根据位置和时间进行加权叠加,最终得到一个关于时间的函数,表示在每个时刻他的胃里还剩下多少食物。
在图像上体会x和t-x在图像上的对应关系
这时候我们我们把两个函数每个时刻对应相乘的点连接起来,会发现看起来十分别扭难受
如果这个时候我们把记函数翻转一下,会怎么样呢
是不是豁然开朗了,所以说啊卷积说得通俗一点,就是把记函数翻转一下,因为翻转了所以叫卷积
在这个问题的基础上我们甚至可以总结一下卷积的含义:
一个系统满足:
- 输入不稳定,对应f(t)
- 输出稳定,对应g(t)
那么我们就可以用卷积求系统的存量
3.什么又是卷积神经网络
卷积神经网络(Convolutional Neural Network,CNN)是一种深度学习模型,专门用于处理具有网格结构数据的任务,例如图像识别、语音识别和自然语言处理等。
就卷积神经网络识别图片而言,它之所以叫卷基神经网络就是因为在把图片交给神经网络之前,先要对图像进行一个卷积操作。
我们前面才总结了卷积的定义,也就是要找到那两个函数,一个输入不稳定和一个输出稳定
那就看看什么是卷积操作
具体来说,卷积操作的步骤如下:
-
卷积核与图像相乘: 将一个小的卷积核(通常是一个小的矩阵)应用于输入图像的局部区域,对应位置的像素值相乘。这相当于将卷积核覆盖在图像的局部区域上,并将卷积核中的值与图像中对应位置的像素值相乘。
-
相乘结果求和: 对相乘得到的结果进行求和,得到新的像素值。这个新的像素值表示了卷积核与图像局部区域之间的相似度或相关性。
-
扫描整个图像: 将卷积核在整个输入图像上移动,重复进行相乘和求和操作。这样就可以得到输出图像中的所有像素值。
-
处理边缘像素: 对于输出图像中的边缘像素,由于卷积核无法完全覆盖,因此可能无法进行完整的卷积操作。一种常见的处理方法是在进行卷积操作之前,对输入图像的边缘进行填充(通常使用零值填充),以确保输出图像与输入图像具有相同的大小。
这时候来看卷积操作,会发现我们之前所学习的f函数和g函数无法进行很好地理解和对应。
这个时候我们得换个视角重新深入理解卷积操作
回到一维问题,这里我们重新来理解一下卷积是什么.假如在t时刻有一个飓风,在x时刻有一只蝴蝶煽动翅膀,在飓风之前有很多蝴蝶对他产生影响,这个影响会随着时间的变化,他的影响力随着时间变化,这个变化就是g函数。
而这个卷积呢,其实就是在处理这个飓风发生的时候,它之前蝴蝶扇动翅膀对自己产生了多少的影响
那如果我们抛开具体的例子,我们是不是就可以这样来去理解卷积
在某一个时刻发生了一件事,而这件事的产生呢它是会受到之前发生很多事的影响的,就比如说在x时刻它发生了一件事,这件事会对t时刻产生影响
具体怎么影响呢?
它还要看从x时刻到t 时刻经历的时间,它会随着时间进行变化而规定
随时间如何变化呢?
就是g(t)函数,g(t)函数就规定了之前发生的一些事情,它随着时间影响力是如何变化的.当然不论是之前吃饭呢还是这个蝴蝶扇动翅膀.从直觉上看它的影响力都是随着时间减小的,但这不是必然的如果我们换一个其他例子.这就有可能随着时间在发生不同的变化甚至还可能是增长
甚至我们还可以把视野放的更广一点
假如说这个影响力的变化不是随着时间产生变化的,而是随着距离,就比如说在t位置发生了一件事
而对这个位置产生影响的是其他的很多位置,就比如说其中一个是x位置,那这样子,这个g(t)函数
它的横坐标也可能变成不是时间而是距离了
我们还是回到图像卷积操作,图像的卷积操作是什么
在图像上进行卷积操作,那会不会它就是在去看很多像素点,对某一个像素点是如何产生影响的呢?
blur操作,即降噪平滑操作.,就是认为目标像素点的值是周围值的平均数,即周围各点对它的影响是一样的,此处卷积核以3X3
为例。
什么是平滑操作?
平滑其实就是让周围的像素点和自己相差不要太大,从这个卷积核我们可以看到啊,它是在求平均值,什么是求平均?就是看到周围的像素点和你这个像素点相比啊,这个像素点的数值是不是太高了?如果太高了就拉低点,如果太低了那就拉高一点,如果是这样的话那卷积核就容易理解了它其实就是规定了周围的像素点是如何对当前像素点产生影响的.
那怎么来从数学上理解二维的卷积操作呢?
现在我们需要考虑(x-1,y-1)的像素点对选定的像素点(x,y)的影响,那我们应该找到他对应的像素值f(x-1,y-1),再乘上其对应的影响比例,即g函数中的值
如图,我们现在假设(x-1,y-1)是x时刻,而(x,y)是t时刻。吃饭的例子是需要用t-x,而此处类比过来则是x-(x-1)以及y-(y-1),那么则对应g(1,1)
同理,如果把所有的点对应的g函数的情况都计算出来就会如上图所示
其实可以根据箭头的对应关系看出,还是f函数和g函数的一一对应关系还是比较难看的但是此时,我们只需要对g函数的图像旋转180°,就会很清晰了
所以说呢,旋转前表现的是那个g函数,它不等于卷积核.它要旋转180度之后才是卷积核
卷积核它是可以扣在图像上直接相乘再相加,它其实是已经把旋转这个步骤啊给省略了
但是它本质上仍然是一个卷积运算
4.卷积神经网络的第一层的作用及其与卷积的关系
卷积操作,是卷积神经网络第一层的关键,这又有点像是人的视网膜,看到图像之后啊,先进行一个预处理,然后再交给大脑
卷机神经网络,一般是用来做图像识别的,就比如这种情况
输入图片里面的有差有圆,通过卷积神经网络就能识别出来,它们是x和o,但重点呢,不是识别这种规规整整的情况,而是像下面这样不规整的差和圆
这种情况我们人是能一眼就看出来的,但是交给计算机就不行了,因为计算机看到的都是这样的情况
像素点都是数字,当然了这里是把问题简化了一下认为一个像素就有两种情况1和-1
如果把像素点挨个进行比较的话,这就是两种东西是不一样的
其实我们仔细看的话,可以发现,两边的图像虽然不同,但是如果只看局部的话,还是有相同地方的
所以卷积神经网络识别图像的第一步,就是把图像的局部特征给调出来,把这些局部特征交给神经网络,由神经网络去判断
卷积还怎么还能去提取图像的局部特征呢?
我们之前所说的卷积核只是平滑卷积核,目的是让图像经过卷积操作后变得更加平滑朦胧。
但事实上,卷积操作还有很多的卷积核。
所以,卷积操作其实还有个功能,如果挑选的卷积和合适,最后就可以对图片进行过滤,把某些特征保存下来 而其他的特征就被过滤掉了。此时,卷积核被叫做过滤器,上图所展示的两个卷积核分别叫做垂直边界过滤器和水平边界过滤器。
当进行图像处理中的卷积操作时,可以将其理解为像素点之间的相互影响、试探和选择。卷积核就像是一个模板,它在图像上移动时,与每个像素点进行相乘再相加的操作,试图捕捉图像中的特征信息。在平滑卷积操作中,卷积核试图找到图像中的平滑区域,并通过调整像素点的值来使图像变得更加平滑。
在其他类型的卷积操作中,如边缘检测或特征提取,卷积核可能更注重捕捉图像中的不同特征,例如边缘、纹理或形状等。总的来说,卷积操作通过对周围像素点的主动试探和选择,帮助我们从图像中提取出有用的特征信息。(当我们不想考虑某个位置的时候,就可以把它设置成零而,需要重点考虑某个位置的时候,就可以把这个位置的权重设置的比较高,通过卷积核把周围有用的特征给保留了下来。)
回到前面识别x的那个问题,利用这三个卷积核就可以把三个特征都给找出来,分别是左上到右下,全是1. 还有x的位置都是1,以及从左下到右上都是1。
就比如说这种情况吧,就是完美匹配,计算出来的结果是1
而这种情况呢,就可以看出来了,它虽然也能匹配上,但不能算是完美匹配,最后计算的结果就是0.55
将整个图像,都进行一次这样的卷积操作之后,最后就包含了,与这个特征匹配的全部信息
然后再把三个特征的卷积核,都分别再操作一遍,接下来神经网络就开始干活了,神经网络通过对这些特征信息的判断就可以进行图像识别了
5.卷积的三层含义
- 第一层就是吃饭的例子里面一个系统,它有不稳定的输入,有稳定的输出,则可以通过卷积计算系统的存量
- 第二层就是图像处理,一个卷积核其实就是规定周围像素点对当前像素点会产生怎样的影响。
- 第三层就是一个过滤器的卷积核,规定了一个像素点会如何试探周围的像素点,以此筛选图像的特征。
不论哪一层,卷积在数学上其实是没有差别的,它们的意义都是相同的,但是利用到不同的地方,这意义就发生了改变。
最后一句话总结:卷积就是瞬时行为持续性后果的总和
相关文章:

[深度学习] 卷积神经网络“卷“在哪里?
🌈 博客个人主页:Chris在Coding 🎥 本文所属专栏:[深度学习] ❤️ 热门学习专栏:[Linux学习] ⏰ 我们仍在旅途 目录 1.卷积的定义 2.卷积的"卷"在哪里 3.什么又是卷积神…...

企业网络安全自查:总结报告与改进指南
按照网络和数据安全监督检查工作的要求, 现将网络信息安全自查阶段有关情况总结如下: 一、自查工作的组织开展情况 我单位始终高度重视网络与信息安全自查工作, 成立专项管理组织机构,深入学习贯彻相关文件精神,严格…...

怎么理解ping?这是我听过最好的回答
晚上好,我是老杨。 Ping这几个字母,已经深入网工人的骨髓了吧? 把Ping用到工作里,肯定不少人在用,但对Ping的了解和理解是不是足够深,取决了你能在工作里用到什么程度,能让它帮你到什么地步。…...

用户请求到响应可能存在的五级缓存
用户请求到响应可能存在的五级缓存 当用户在浏览器中输入URL进行访问时,请求并不是直接达到服务器,而是会经历多级缓存,以提高网络效率。本文将详细介绍用户请求到响应可能会经历的五个缓存级别:浏览器缓存,代理缓存&…...

云图极速版限时免费活动
产品介绍 云图极速版是针对拥有攻击面管理需求的用户打造的 SaaS 应用,致力于协助用户发现并管理互联网资产攻击面。 实战数据 (2023.11.6 - 2024.2.23) 云图极速版上线 3 个月以来,接入用户 3,563 家,扫描主体 19,961 个,累计发…...

vue3 vuex
目录 Vuex 是什么 什么是“状态管理模式”? 什么情况下我应该使用 Vuex? 使用方法: 提交载荷(Payload) 对象风格的提交方式 使用常量替代 Mutation 事件类型 Mutation 必须是同步函数 在组件中提交 Mutation …...

Java架构师之路三、网络通信:TCP/IP协议、HTTP协议、RESTful API、WebSocket、RPC等。
目录 TCP/IP协议: HTTP协议: RESTful API: WebSocket: RPC: UDP: HTTPS: 上篇:Java架构师之路二、数据库:SQL语言、关系型数据库、非关系型数据库、数据一致性、事…...

【C++】笔试训练(九)
目录 一、选择题二、编程题1、另类加法2、走方格的方案数 一、选择题 1、某函数申明如下 void Func(int& nVal1);有int a,下面使用正确的为() A Func(a) B Func(&a) C Func(*a) D Func(&(*a)) 答案:A 2、C语言中,类…...

模板注入 [BJDCTF2020]Cookie is so stable1
打开题目 有flag页面,有Hint页面 这里题目有提示,突破口是在cookie上面 经过测试发现有ssti注入: 抓包 判断模板注入类型的办法 输入 {{7*‘7’}} 回显49 输入{{7*‘7’}},返回49表示是 Twig 模块 输入{{7*‘7’}}࿰…...

2-18算法习题总结
二分查找问题 [COCI 2011/2012 #5] EKO / 砍树 题目描述 伐木工人 Mirko 需要砍 M M M 米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。 Mirko 的伐木…...

【软考高项】【英语知识】-- 单词积累
目录 一、常见计算机技术词汇 二、项目管理词汇 2.1 十大知识域 2.2 五大过程组 2.3 49个子过程 2.4 工具和技术汇总 2.5 输入和输出汇总 一、常见计算机技术词汇 序号中文英文1云计算Cloud computing2云存储Cloud storage3云服务Cloud service4软件即服务SaaS5平台即服…...

外包干了3个月,技术退步明显
先说一下自己的情况,本科生,19年通过校招进入广州某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…...

【ArcGIS微课1000例】0105:三维模型转体模型(导入sketchup转多面体为例)
文章目录 一、实验概述二、三维模型转多面体三、加载多面体数据四、注意事项一、实验概述 ArcGIS可以借助【导入3D文件】工具支持主流的三维模型导入。支持 3D Studio Max (.3ds)、VRML and GeoVRML 2.0 (.wrl)、SketchUp 6.0 (.skp)、OpenFlight 15.8 (.flt)、Collaborative …...

创建型设计模式 - 原型设计模式 - JAVA
原型设计模式 一 .简介二. 案例三. 补充知识 前言 这是我在这个网站整理的笔记,有错误的地方请指出,关注我,接下来还会持续更新。 作者:神的孩子都在歌唱 一 .简介 原型模式提供了一种机制,可以将原始对象复制到新对象࿰…...

Squid代理:APT、PyPI和Docker的内网穿透解决方案
如果你是在内网环境,并且你知道一台服务器可以链接外网,可以通过Squid代理的方式更新apt、pypi、docker源。 你可以通过在服务器A(172.16.16.122,可上外网)上设置代理服务器来实现服务器B通过服务器A访问外部APT源的需…...

MYSQL--触发器
一:介绍: 1.触发器实际上就是一种特殊的存储过程,两者都能够在MYSQL当中完成特定的功能,存储在服务器上的特殊SQL片段,可以重复进行使用,提高复用性的一种功能.但是触发器并不需要进行调用,在使用DML操作的时候会自动的调用相关的触发器操作 2.触发器能够对于DML操作当中的,删除…...

onnx 1.16 doc学习笔记四:python API-If和Scan
onnx作为一个通用格式,很少有中文教程,因此开一篇文章对onnx 1.16文档进行翻译与进一步解释, onnx 1.16官方文档:https://onnx.ai/onnx/intro/index.html](https://onnx.ai/onnx/intro/index.html), 如果觉得有收获&am…...

如何构建企业专属GPT
大语言模型(LLM)具有令人印象深刻的自然语言理解和生成能力, 2022年11月底OpenAI发布了ChatGPT,一跃成为人工智能AI领域的现象级应用。但由于LLM的训练数据集主要来源于互联网数据,企业私域信息并未被LLM所训练&#x…...

知识积累(二):损失函数正则化与权重衰减
文章目录 1. 欧氏距离与L2范数1.1 常用的相似性度量 2. 什么是正则化?参考资料 本文只介绍 L2 正则化。 1. 欧氏距离与L2范数 欧氏距离也就是L2范数 1.1 常用的相似性度量 1)点积 2)余弦相似度 3)L1和L2 2. 什么是正则化&…...

消息中间件-面试题
MQ选择 一、Kafka 1、消息队列如何保证消息可靠性 消息不重复 生产者控制消费者幂等消息不丢失 生产者发送,要确认broker收到并持久化broker确认消费者消费完,再删除消息2、kafka是什么 Kafka是一种高吞吐量、分布式、基于发布/订阅的消息中间件,是Apache的开源项目。broke…...

Python 将二维数组或矩阵变为三维
Python 将二维数组或矩阵变为三维 引言正文基础 拓展 引言 之前,我们已经介绍过了 Python 将一维数组或矩阵变为三维。然而,很多时候,我们也需要对二维矩阵进行操作,这里特来介绍一下如何将二维矩阵扩展为三维。 阅读这一篇前推…...

区块链与Solidity详细介绍及基本语法使用
一、区块链简介 区块链是一种分布式数据库技术,它以块的形式存储数据,并通过加密算法确保数据的安全性。每个块包含一系列交易,并通过哈希值与前一个块相连接,形成一个链式结构。这种结构使得数据难以被篡改,因为任何对…...

题目 1253: 老王赛马
题目描述: 赛马是一古老的游戏,早在公元前四世纪的中国,处在诸侯割据的状态,历史上称为“战国时期”。在魏国作官的孙膑,因为受到同僚庞涓的迫害,被齐国使臣救出后,到达齐国国都。 赛马是当时最受齐国贵族…...

【MATLAB源码-第144期】基于matlab的蝴蝶优化算法(BOA)无人机三维路径规划,输出做短路径图和适应度曲线。
操作环境: MATLAB 2022a 1、算法描述 蝴蝶优化算法(Butterfly Optimization Algorithm, BOA)是基于蝴蝶觅食行为的一种新颖的群体智能算法。它通过模拟蝴蝶个体在寻找食物过程中的嗅觉导向行为以及随机飞行行为,来探索解空间…...

地下管线管网三维建模工具MagicPipe3D V3.4.2发布
经纬管网建模系统MagicPipe3D,本地离线参数化构建地下管网三维模型(包括管道、接头、附属设施等),输出标准3DTiles服务、Obj模型等格式,支持Cesium、Unreal、Unity、Osg等引擎加载进行三维可视化、语义查询、专题分析&…...

糖尿病性视网膜病变(DR)的自动化检测和分期
糖尿病性视网膜病变(DR)的自动化检测和分期 提出背景DR的阶段及其特征 历年解法计算机视觉方法多分类方法 新的解法深度学习方法迁移学习大模型多模型集成全流程分析 总结特征1:图像分割特征2:疾病分级特征3:治疗建议生…...

C 标准库 - <errno.h>
在C语言编程中,<errno.h> 头文件扮演着至关重要的角色,它提供了一个全局变量 errno 以及一系列预定义宏,用于指示系统调用或库函数执行过程中发生的错误。这些宏有助于程序员诊断和处理运行时错误。 errno 变量 extern int errno;err…...

基于springboot+vue的房屋租赁管理系统(前后端分离)
博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 主要内容:毕业设计(Javaweb项目|小程序|Pyt…...

Sora----打破虚实之间的最后一根枷锁----这扇门的背后是人类文明的晟阳还是最后的余晖
目录 一.Sora出道即巅峰 二.为何说Sora是该领域的巨头 三.Sora无敌的背后究竟有怎样先进的处理技术 1.Spacetime Latent Patches 潜变量时空碎片,建构视觉语言系统 2.扩散模型与Diffusion Transformer,组合成强大的信息提取器 3.DiT应用于潜变量时…...

C语言之static关键字详解
C语言之static关键字详解_c语言static-CSDN博客 1.变量 2.局部变量和全局变量 3.变量的作用域 4.变量的生命周期 二、static关键字的作用 三、static关键字修饰局部变量 四、static关键字修饰全局变量 五、static关键字修饰函数...