卷积神经网络 - 卷积的互相关

news/2025/3/20 4:40:22/

一、卷积核翻转

一句话直击本质

卷积核翻转就是把卷积核(比如[1,2,3])倒过来变成[3,2,1]后再滑动计算,这是严格数学定义的要求,但深度学习中的卷积实际上跳过了这一步。

直观理解步骤分解

场景设定

假设我们要用卷积核检测心电图中的「下降沿」模式:

  • 原始信号[0.5, 1.0, 0.8, 0.3]

  • 目标模式:从高到低的下降(对应核值[1, 0, -1]

两种操作对比
步骤严格数学卷积深度学习实际做法(互相关)
1. 处理核翻转核 → [-1, 0, 1]直接使用原核 [1, 0, -1]
2. 计算位置10.5×(-1) + 1.0×0 + 0.8×1 = 0.30.5×1 + 1.0×0 + 0.8×(-1) = -0.3
3. 计算位置21.0×(-1) + 0.8×0 + 0.3×1 = -0.71.0×1 + 0.8×0 + 0.3×(-1) = 0.7
关键发现
  • 两种方法的结果数值相反但模式一致

  • 深度学习通过训练自动调整核的正负号,因此无需手动翻转

图解翻转过程

假设卷积核为 [a, b, c]

数学卷积翻转核 → [c, b, a]△| 时间反演(想象倒放电影)
输入信号: [x1, x2, x3, x4]|        |卷积核滑动方向

物理意义:模拟系统对历史输入的响应(先发生的信号先衰减)

为什么数学定义要翻转核?

根源:系统响应理论

假设敲鼓时:

  • 在 t=0 时刻敲击 → 鼓声强度随时间衰减为 [0.8, 0.5, 0.2]

  • 输入信号:t=0 敲1下,t=1 敲2下 → [1, 2]

严格卷积计算总响应:

翻转核 [0.2, 0.5, 0.8] → 变为 [0.8, 0.5, 0.2]
计算:
t=0: 1×0.8 = 0.8  
t=1: 1×0.5 + 2×0.8 = 0.5+1.6=2.1  
t=2: 1×0.2 + 2×0.5 = 0.2+1.0=1.2  
t=3: 2×0.2 = 0.4

结果 [0.8, 2.1, 1.2, 0.4] 准确反映了声波叠加效果。

深度学习的巧妙之处

虽然跳过了手动翻转,但通过反向传播自动学习核参数:

  • 假设理论最优核是翻转后的 [c, b, a]

  • 实际训练中,网络会学到 [c, b, a] 的等效参数

  • 相当于把翻转操作融入参数学习过程

总结记忆

严格数学卷积深度学习卷积
核处理必须翻转不翻转
物理意义系统响应历史输入的累积效应模式匹配
参数意义固定物理含义数据驱动的自适应参数
计算示例信号处理、物理学CNN图像识别、NLP

口诀
"数学卷积要翻转,深度学习直接算,
网络自有调参法,殊途同归效果赞。"

二、互相关

理解卷积计算中的 互相关(Cross-Correlation)是掌握卷积本质的关键。我们可以通过一个直观的对比来理清二者的关系:

(一)数学定义对比

1. 互相关(实际CNN中的"卷积")

2. 严格数学卷积

关键差异
卷积需要翻转核(Kernel),而互相关直接使用原始核。

(二)直观示例演示

场景:检测水平边缘

输入矩阵

[[10, 10,  0,  0],[10, 10,  0,  0],[10, 10,  0,  0],[10, 10,  0,  0]]

核(边缘检测器)

[[ 1,  0, -1],[ 1,  0, -1],[ 1,  0, -1]]
计算对比:
操作类型核处理方式计算位置(2,2)的结果输出意义
互相关直接使用原始核10×1 +10×0 +0×(-1) +
10×1 +10×0 +0×(-1) +
10×1 +10×0 +0×(-1) = 30
检测到强右侧边缘
真卷积先上下左右翻转核核变为:
[[-1, 0, 1],
[-1, 0, 1],
[-1, 0, 1]]
会得到-30(左侧边缘)

(三)关键理解要点

1. 深度学习中的实践
  • CNN实际执行的是互相关,但约定俗成称为"卷积"

  • 原因:通过训练自动学习核参数,翻转不影响模型能力

  • 效果等价性:学习到的核会自动适应未翻转的版本

2. 可视化对比
输入信号: [a, b, c, d, e]
核:      [x, y, z]互相关计算位置:a·x + b·y + c·z  b·x + c·y + d·z  c·x + d·y + e·z真卷积计算位置:a·z + b·y + c·x  b·z + c·y + d·x  c·z + d·y + e·x
3. 物理意义差异
互相关真卷积
适用场景模式匹配(找相似)系统响应计算
典型应用特征检测(CNN)信号滤波
输出意义"原始位置相关性强度""历史影响的叠加"

(四)为什么CNN使用互相关?

  1. 参数学习优势
    核的翻转可以通过训练自动补偿,不影响特征提取能力

  2. 实现简化
    省去翻转核的步骤,提升计算效率

  3. 直观匹配
    保持核原始方向性,便于可视化理解(如边缘检测器的效果)

(五)实例理解(模板匹配)

假设要在心电图信号中寻找特定波形:

原始信号: [0.2, 0.5, 1.0, 0.8, 0.3]
目标波形: [1.0, 0.8, 0.3] (正常心跳下降沿)互相关计算结果:
位置1: 0.2×1.0 + 0.5×0.8 + 1.0×0.3 = 0.2+0.4+0.3=0.9  
位置2: 0.5×1.0 + 1.0×0.8 + 0.8×0.3 = 0.5+0.8+0.24=1.54  
位置3: 1.0×1.0 + 0.8×0.8 + 0.3×0.3 = 1+0.64+0.09=1.73 → 最大响应

→ 最大响应位置3精确对应目标波形出现的位置

(六)总结记忆

互相关 = 不翻转核的卷积
在深度学习中:

  • 操作本质是互相关

  • 称为卷积是历史惯例(这也是为什么和卷积的数学定义并不一致)

  • 通过参数学习消除翻转影响

记忆口诀
"卷积核翻转,互相关照搬,
深度学习中,实际用相关。"

三、为何互相关直接使用原始核,卷积核的翻转可以通过训练自动补偿?

核心结论

神经网络通过反向传播调整卷积核的权重,使得即使不手动翻转核,学习到的参数也会自动等效于翻转后的效果
(就像你不用手动调整放大镜的左右方向,大脑会自动适应镜像画面)

分步解释

1. 数学等价性

示例

  • 原始核(未翻转):[1, 0, -1](检测右边缘)

  • 网络可能学到:[-1, 0, 1](等效翻转后的核,检测左边缘)
    最终效果一致,只是特征方向不同。

2. 参数空间的对称性
  • 权重符号对称性:若严格卷积需要核翻转后的参数 W,网络可以通过学习 −W 的镜像参数,在反向传播中达到相同效果。

  • 特征组合补偿:后续全连接层或激活函数可以补偿符号差异(例如 ReLU 对正负号的非对称处理)。

案例演示
假设理想边缘检测核应为翻转后的 [−1, 0, 1]

  • 若网络使用未翻转的 [1, 0, −1],输出值符号相反

  • 但下一层权重 Wnext 可学习为 −1,使得 Wnext⋅(−x)=x,结果与理想情况一致。

3. 训练过程可视化

假设输入信号和理想核为:

输入: [a, b, c, d]  
理想翻转核: [w2, w1, w0](严格卷积)
实际使用核: [w0, w1, w2](互相关)

反向传播时梯度更新:

网络会自动将 w0​ 更新为理想 w2,w2​ 更新为理想 w0​,实现参数位置的对称调整。

具体实例验证

任务:检测信号中的上升沿(低→高跳变)
  • 输入序列[2, 4, 6, 3, 1]

  • 严格卷积核(需翻转):[-1, 1] → 翻转后为 [1, -1]

  • 互相关核(不翻转):直接使用 [-1, 1]

计算结果对比

位置严格卷积(翻转核)互相关(原始核)
12×1 + 4×(-1) = -22×(-1) +4×1 = 2
24×1 +6×(-1) = -24×(-1)+6×1 = 2
36×1 +3×(-1) = 36×(-1)+3×1 = -3
43×1 +1×(-1) = 23×(-1)+1×1 = -2

观察

  • 严格卷积的负响应对应互相关的正响应

  • 若网络通过训练将后续权重乘以 -1,两种操作等价

深层原理

1. 参数自由度

卷积核的每个权重是独立可学习的自由度,翻转操作只是参数排列顺序的变化,网络通过调整参数值可覆盖所有可能的排列组合。

2. 损失函数的对称性

对于大多数损失函数(如交叉熵、MSE),参数的全局符号翻转不会改变损失值:

L(W)=L(−W)(在某些网络结构中)

3. 特征层级组合

深层网络通过多级卷积和非线性激活,可以组合低层特征的任意方向性模式,最终高层特征对底层核翻转具有鲁棒性。

现实类比

想象你要训练一只机器狗踢足球:

  • 严格方法:要求它必须先迈左腿再迈右腿

  • 实际训练:不规定迈腿顺序,但奖励进球行为
    最终机器狗可能学会「先右腿再左腿」的等效动作,达到同样进球效果。

总结

卷积核翻转的自动补偿本质是深度学习的参数学习能力覆盖了手工设计核的所有可能性。通过梯度下降和反向传播,网络会找到与严格卷积等效的参数配置,这正是深度学习免于手工设计特征的核心优势所在。


http://www.ppmy.cn/news/1580502.html

相关文章

OpenHarmony 开源鸿蒙北向开发——3.配置SDK

安装、配置完成之后我们就要配置SDK。 我们创建工程后,点击右上角设置 进入设置 进入OpenHarmony SDK,选择编辑 这里配置一下SDK安装位置 点击完成 这里我们API版本勾选第一个即可 确认安装 勾选接受 这里要等一会 安装完成后,点击完成

HTML 新手入门:从零基础到搭建第一个静态页面(一)

开启 HTML 学习之旅 在互联网的广袤世界中,网页是我们与信息交互的主要窗口。而 HTML,作为构建网页的基石,就像是搭建房屋的砖块,是网页开发中不可或缺的基础。无论你是对网页开发充满好奇的小白,还是渴望系统学习前端…

冒泡排序:古老算法中的智慧启示

在计算机科学浩瀚的星空中,排序算法犹如璀璨的星辰,而冒泡排序恰似其中最朴实无华的一颗。这个诞生于计算机发展初期的经典算法,以其简单直观的逻辑原理,成为每个程序员启蒙阶段必经的试炼场。当我们凝视这个看似笨拙的排序方法时…

vscode中修改快捷键

以ctrle为例,在shell终端中ctrla为光标到行首,ctrle为光标到行尾; 快捷键设置会冲突,也时常会因为下载各种vscode插件莫名其妙失效。 在 Visual Studio Code (VS Code) 中,你可以通过修改键盘快捷键设置来将 CtrlE 绑…

ollama API 本地调用

ollama API 本地调用 前提条件,ollama 已经启动了模型,查看 ollama 中的 model 名称 ollama list使用 openai 调用 from openai import OpenAI import openaiopenai.api_key ollama openai.base_url http://localhost:11434/v1/def get_completion(pro…

如何搭建一个安全经济适用的TRS交易平台?

TRS(总收益互换)一种多方参与的投资方式,也是绝对收益互换(total return swap)的一种形式。 它是一种衍生合约,是一种金融衍生品的合约,是指交易双方在协议期间将参照资产的总收益转移给信用保…

python语言写的一款pdf转word、word转pdf的免费工具

Word 与 PDF 文件转换工具 这是一个简单的 Web 应用程序,允许用户将 Word 文档转换为 PDF 文件,或将 PDF 文件转换为 Word 文档。 功能特点 - Word (.docx) 转换为 PDF - PDF 转换为 Word (.docx) - 简单易用的 Web 界面 - 即时转换和下载 - 详细的…

分享vue好用的pdf 工具实测

vue3-pdf-app: 带大纲,带分页,带缩放,带全屏,带打印,带下载,带旋转 下载依赖: yarn add vue3-pdf-appornpm install vue3-pdf-app 配置类: 创建文件 pdfConfig.ts /…