卷积神经网络的底层是傅里叶变换
1
卷积神经网络与傅里叶变换、希尔伯特空间坐标变换的关系_卷积神经网络与傅里页变换之间的关系-CSDN博客
从卷积到图像卷积再到卷积神经网络,到底卷了什么?
一维信号卷积:当前时刻之前的每一个时刻是如何对当前时刻产生影响的
图像卷积:卷积核的理解:周围像素点是如何对当前像素点产生影响的,不同的卷积核就是规定了不同影响的关键
请添加图片描述
卷积神经网络:
第一步:识别局部特征,如上图的卷积核,具备提取特征的卷积核,保存某些特征,即对周围像素点的一个主动试探(不同卷积核主动选取)
在这里插入图片描述
总结:
1、对一维卷积来说(以吃饭和消化,求胃里食物剩量问题为例):是不稳定输入,稳定输出,求系统存量的问题
2、对于图像处理来说,一个卷积核就是规定了周围像素点是如何对当前像素点产生影响的。
3、不同的卷积核就是规定了不同影响的关键,如何筛选图像的特征
卷积神经网络与傅里叶变换
对输入图像8进行特征提取,分为不同的特征,这样就能区别于全连接神经网络,特征可以重复利用
(1)cnn中隐含的傅里叶变换
在这里插入图片描述
cnn的经过学习后的卷积运算过程,就可以理解为傅里叶变换,或者傅里叶级数展开,也即不同正交向量的加权和。卷积核就可以理解维正交向量。
(2)频域里的每一个点都是对全时域范围的特定信息的一个浓缩
在这里插入图片描述
(3)CNN感受野与加窗傅里叶变换的关系
变换域做到了与位置无关,但缺点却是全局感受能力太强了,引起变换域的变化波动过大,通过加窗傅里叶变换,可以约束这种全局感受能力。
而加窗后的傅里叶变换,就跟cnn感受野的设计很一致。这样就很能发现局部特征具有的一致性。
在这里插入图片描述
y-t与Y-w之间的关系:y-t是不同w下的所有y-t,也就是不同w下的正弦波的叠加。
(4)升维变换,来理解空间域和变换域公式
相同问题,在不同维度空间下表示的区别:二维空间的一条线,在无穷维/高维空间中,只需要一个点就行。
v1,v2,vn就是高维空间下的正交基,无穷维空间的一个点,就是这些正交基不同权重下的加权和(这个地方,变换域的绿色曲线和时域黄色曲线的物理意义是不同的,虽然形状相同,但我认为不能互相表示)
升维不是目的,目的是让二维空间的曲线降维(深度学习里面encoder产生latent space的作用)。
在这里插入图片描述
(5)希尔伯特空间(欧几里得空间的扩展)
将低维图像映射到高位空间的一个点,重点不是这个点本身,而是高维空间的点可以用向量进行等价表示。即低位数据可以表示为高维空间的一组向量(正交基的权重集合)。
在这里插入图片描述
从时域到频域,相当于在希尔伯特空间(高维空间)做了一次坐标变化。
dn所代表的正交向量,可以用一个具体的向量e^(iwt)表示,这就是傅里叶变换在希尔伯特空间下选择的特殊坐标系(坐标轴),或称选择的特殊正交基。
在这里插入图片描述
在这里插入图片描述
上述的表示更具一般性。而考虑傅里叶变换选择的正交基e^(iwt),其正交基的模为
在这里插入图片描述
所以,将无穷小的累加,转换为积分形式
(6)对傅里叶变换的修改
在这里插入图片描述
因为正弦余弦曲线是全局的,以正余弦作为基向量(锚点)去衡量信号,找到的特征,自然是一个全局的特征
那有没有办法对这个基进行修改,让其只考虑局部情况,而不再考虑全局情况?也就是问有窗口范围的基应该如何表示?
简单的方法就是构建一个分段函数g()
在这里插入图片描述
为了维持函数表示处处可微,改写函数g()为
在这里插入图片描述
a为方差,来决定窗口的大小;s为期望,来决定窗口的位置;n保持不变,代表选择的不同模式 / 不同基向量。这里面用高斯分布作g函数的变换,就是Gabor变换
这里不把窗口的大小作为变量,知识一个参数。因为任何一个具体的
在这里插入图片描述
窗口大小,都可以对应的完备的基(n来确定)。
在这里插入图片描述
Gabor变换完整表达,g函数的不同就代表了不同的变换
在这里插入图片描述
g函数为指数函数,则变化为拉普拉斯变换
在这里插入图片描述
如果窗口大小不再固定,也作为一个控制变量,可以根据频率动态变化,这就是小波变换
总结
各种变换的本质,就是在希尔伯特空间下选择了一组基向量,然后对原来的函数进行变换。
具体变换之后有什么特性,能做什么,关键看变换是基于的那组基有什么特点。
回归的最开始的cnn
两个目标:1.特征和位置无关,即位置不同,在变换域中式相同的表示;2.特征应该是局部的。
n代表着变换域下的不同频率,正交基
s代表着在时域上开出的窗口位置,只有把窗口开在相应波形的位置上,才能在变换域有明显的特征(权重)体现。
在这里插入图片描述
Gabor变换与cnn参数的对应关系:
黄色f(t):对应原始图片
红色f(n,s): 对应feature map,即基向量的权重
绿色s: 对应中心像素点的位置,卷积核的中心
模式(基向量)g_a(t-s)·e^(int):不同的卷积核,下图模式1到模式4。可由反向传播优化更新得到。
红色a(窗口大小):卷积核的大小,窗口的大小也是二维的
在这里插入图片描述
与卷积定理之间的关系
在这里插入图片描述
通过多层cnn的叠加,就可以将感受野覆盖到整个图片
https://blog.csdn.net/u014439531/article/details/131904485
卷积神经网络的底层是傅里叶变换,傅里叶变换的底层是希尔伯特空间坐标变换_哔哩哔哩_bilibili
从“卷积”、到“图像卷积操作”、再到“卷积神经网络”,“卷积”意义的3次改变_哔哩哔哩_bilibili
特征(Features)在机器学习和统计建模中,特征是指数据集中用于预测或分析的变量。特征可以是数值型(如年龄、价格、身高等)或分类型(如性别、产品类型、地区等)。
特征是模型用来做出预测或决策的基础。
轴(Axes)在图表或图形中,轴是用于表示数据维度的直线。在二维或三维空间中,轴通常用来表示数据的不同维度或特征。例如:
基上有眼睛,鼻子,脚三个坐标轴,眼睛,鼻子轴上的值很大,而脚的值很小,那机器就可以知道这可能是一张脸。而为什么基上这些轴代表了眼睛等等这样的特征?这是通过训练集和梯度下降学习出来的,人工无法去设定,机器慢慢就从大量训练中发现可以从这些角度去识别图片。
再谈怎么实现局部特征的提取不用考虑空间关系,这实际上可以从做卷积核操作的时候看出来。在用3*3这样的小卷积核而不是整个图片大小的卷积核去卷积的时候,已经就忽略了那些不在卷积核范围的数据了,
3*3的卷积核代表了一个3*3的局部特征,只对3*3这一小块的局部数据进行卷积,
池化层可以看作是滤波?在数字信号处理中,对数值求平均的过程其实就是一个低通FIR滤波器,把高频分量去掉。采集的信号中往往有噪声,大部分情况下噪声都是高频分量。也可以理解为给频域加窗,只保留幅度比较大的低频部分。
人脑是可以通过眼睛鼻子这些局部特征来识别。
卷积操作和傅里叶变换一样,是在希尔伯特空间的一种基变换。通过基变换,就可以将图标的特征表示出来。
基的每个坐标轴会代表一种特征,通过分析坐标轴上的值,也就是特征的权重就可以识别
基、核、坐标系、变换都是同一个东西的不同说法,其实就是编辑映射关系
相关文章:

卷积神经网络的底层是傅里叶变换
1 卷积神经网络与傅里叶变换、希尔伯特空间坐标变换的关系_卷积神经网络与傅里页变换之间的关系-CSDN博客 从卷积到图像卷积再到卷积神经网络,到底卷了什么? 一维信号卷积:当前时刻之前的每一个时刻是如何对当前时刻产生影响的 图像卷积&…...
Bootstrap 下拉菜单
Bootstrap 下拉菜单 Bootstrap 是一个流行的前端框架,它提供了许多预构建的组件,其中之一就是下拉菜单。下拉菜单是一个交互式元素,允许用户从一系列选项中选择一个。在本篇文章中,我们将详细介绍如何在 Bootstrap 中创建和使用下…...
计算机组成原理(计算机系统3)--实验一:WinMIPS64模拟器实验
一、实验目标: 了解WinMIPS64的基本功能和作用; 熟悉MIPS指令、初步建立指令流水执行的感性认识; 掌握该工具的基本命令和操作,为流水线实验做准备。 二、实验内容 按照下面的实验步骤及说明,完成相关操作记录实验…...
读书笔记~管理修炼-风险性决策:学会缩小风险阈值
假设你的团队为了提升业绩,提出了两个解决方案:A方案是通过营销提升老产品的利润;B方案是通过研发开拓新产品,你会怎么选? 我们先来分析下,其实无论是A方案还是B方案,都会遇到市场难题…...

VIVADO FIFO (同步和异步) IP 核详细使用配置步骤
VIVADO FIFO (同步和异步) IP 核详细使用配置步骤 目录 前言 一、同步FIFO的使用 1、配置 2、仿真 二、异步FIFO的使用 1、配置 2、仿真 前言 在系统设计中,利用FIFO(first in first out)进行数据处理是再普遍不过的应用了,…...
tcp粘包原理和解决
tcp粘包原理和解决 咱们先通过展示基于tcp 的cs端消息通信时的现象,带着问题再解释下面的tcp粘包问题。 一、原始代码 tcp 服务端代码 // socket_stick/server/main.gofunc process(conn net.Conn) {defer conn.Close()reader : bufio.NewReader(conn)var bu…...

C语言预处理艺术:编译前的魔法之旅
大家好,这里是小编的博客频道 小编的博客:就爱学编程 很高兴在CSDN这个大家庭与大家相识,希望能在这里与大家共同进步,共同收获更好的自己!!! 本文目录 引言正文一、预处理的作用与流程…...

C++算法第十六天
本篇文章我们继续学习动态规划 第一题 题目链接 978. 最长湍流子数组 - 力扣(LeetCode) 题目解析 从上图可见其实有三个状态 代码原理 注意:我们在分析题目的时候分析出来的是三个状态,分别是上升、下降、平坦,但是…...

计算机网络 (45)动态主机配置协议DHCP
前言 计算机网络中的动态主机配置协议(DHCP,Dynamic Host Configuration Protocol)是一种网络管理协议,主要用于自动分配IP地址和其他网络配置参数给连接到网络的设备。 一、基本概念 定义:DHCP是一种网络协议…...

归子莫的科技周刊#2:白天搬砖,夜里读诗
归子莫的科技周刊#2:白天搬砖,夜里读诗 本周刊开源,欢迎投稿。 刊期:2025.1.5 - 2025.1.11。原文地址。 封面图 下班在深圳看到的夕阳,能遇到是一种偶然的机会,能拍下更是一种幸运。 白天搬砖,…...

平滑算法 效果比较
目录 高斯平滑 效果对比 移动平均效果比较: 高斯平滑 效果对比 右边两个参数是1.5 2 代码: smooth_demo.py import numpy as np import cv2 from scipy.ndimage import gaussian_filter1ddef gaussian_smooth_array(arr, sigma):smoothed_arr = gaussian_filter1d(arr, s…...
Elasticsearch容器启动报错:AccessDeniedException[/usr/share/elasticsearch/data/nodes];
AccessDeniedException 表明 Elasticsearch 容器无法访问或写入数据目录 /usr/share/elasticsearch/data/nodes。这是一个权限问题。 问题原因: 1、宿主机目录权限不足:映射到容器的数据目录 /data/es/data 在宿主机上可能没有足够的权限供容器访问。 …...
【Linux系统编程】——深入理解 GCC/G++ 编译过程及常用选项详解
文章目录 1. GCC/G 编译过程预处理(Preprocessing)编译(Compilation)汇编(Assembly)连接(Linking) 静态链接与动态链接静态链接动态链接静态库和动态库 GCC 常用选项关于编译器的周边…...

Mac安装配置使用nginx的一系列问题
brew安装nginx https://juejin.cn/post/6986190222241464350 使用brew安装nginx,如下命令所示: brew install nginx 如下图所示: 2.查看nginx的配置信息,如下命令: brew info nginxFrom:xxx 这样的,是n…...
Vue3中使用组合式API通过路由传值详解
在Vue 3中,使用组合式API来传递路由参数是一种常见的需求。Vue Router 是 Vue.js 的官方路由管理工具,可以在不同的场景下通过多种方式传递和接收路由参数。下面将详细讲解几种常见的路由传值方式,并提供相应的代码示例。 1. 通过路由参数传…...

两分钟解决 :![rejected] master -> master (fetch first) , 无法正常push到远端库
目录 分析问题的原因解决 分析问题的原因 在git push的时候莫名遇到这种情况 若你在git上修改了如README.md的文件。由于本地是没有README.md文件的,所以导致 远端仓库git和本地不同步。 将远端、本地进行合并就可以很好的解决这个问题 注意:直接git pu…...
浏览器安全(同源策略及浏览器沙箱)
一、同源策略(Same Origin Policy) 1.定义 同源策略(Same - origin Policy)是一种浏览器的安全机制。它规定一个网页的脚本只能访问和操作与它同源的资源。这里的 “源” 包括协议(如 http、https)、域名&…...

w~Transformer~合集11
我自己的原文哦~ https://blog.51cto.com/whaosoft/12472192 #LightSeq 最高加速9倍!字节跳动开源8比特混合精度Transformer引擎,近年来,Transformer 已经成为了 NLP 和 CV 等领域的主流模型,但庞大的模型参数限制了它的高效训练和推理。…...

Coursera四门课备考入学考试
某学校入学考试复习用,刷到的话纯靠缘分,不方便回答多余问题 (博主本人waive掉了没有考过,但还是基本都学完了) 记录学习coursera的四门课(顺序Py在DS前,其他无所谓) Mathematics fo…...

Flink(八):DataStream API (五) Join
1. Window Join Window join 作用在两个流中有相同 key 且处于相同窗口的元素上。这些窗口可以通过 window assigner 定义,并且两个流中的元素都会被用于计算窗口的结果。两个流中的元素在组合之后,会被传递给用户定义的 JoinFunction 或 FlatJoinFunct…...
Vim 调用外部命令学习笔记
Vim 外部命令集成完全指南 文章目录 Vim 外部命令集成完全指南核心概念理解命令语法解析语法对比 常用外部命令详解文本排序与去重文本筛选与搜索高级 grep 搜索技巧文本替换与编辑字符处理高级文本处理编程语言处理其他实用命令 范围操作示例指定行范围处理复合命令示例 实用技…...

K8S认证|CKS题库+答案| 11. AppArmor
目录 11. AppArmor 免费获取并激活 CKA_v1.31_模拟系统 题目 开始操作: 1)、切换集群 2)、切换节点 3)、切换到 apparmor 的目录 4)、执行 apparmor 策略模块 5)、修改 pod 文件 6)、…...

shell脚本--常见案例
1、自动备份文件或目录 2、批量重命名文件 3、查找并删除指定名称的文件: 4、批量删除文件 5、查找并替换文件内容 6、批量创建文件 7、创建文件夹并移动文件 8、在文件夹中查找文件...

大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
Leetcode 3577. Count the Number of Computer Unlocking Permutations
Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...
【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)
1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...
Pinocchio 库详解及其在足式机器人上的应用
Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库,专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性,并提供了一个通用的框架&…...
代码随想录刷题day30
1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币,另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额,返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...
JS手写代码篇----使用Promise封装AJAX请求
15、使用Promise封装AJAX请求 promise就有reject和resolve了,就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

MacOS下Homebrew国内镜像加速指南(2025最新国内镜像加速)
macos brew国内镜像加速方法 brew install 加速formula.jws.json下载慢加速 🍺 最新版brew安装慢到怀疑人生?别怕,教你轻松起飞! 最近Homebrew更新至最新版,每次执行 brew 命令时都会自动从官方地址 https://formulae.…...