【深度学习基础】互相关与卷积的本质区别及在深度学习中的应用

​ 在卷积神经网络(CNN)中,我们经常使用卷积操作来提取图像特征。但严格来说,深度学习框架中实际执行的往往是互相关操作。本文将详细剖析互相关和卷积的数学本质与区别,并说明为什么在深度学习中这两者几乎可以互换。

一、 互相关(Cross-correlation)

​ 互相关是一种在两个信号之间寻找相似性的操作。

​ 对于图像而言,可以理解为:将一个卷积核(filter)在图像上滑动,并在每个局部区域与卷积核做点积,提取特征。

1.1 二维互相关公式

​ 给定图像输入 X∈RM×N\mathbf{X} \in \mathbb{R}^{M\times N}X∈RM×N,卷积核 W∈RU×V\mathbf{W} \in \mathbb{R}^{U\times V}W∈RU×V,互相关运算定义为:
yij=∑u=1U∑v=1Vwuv⋅xi+u−1,j+v−1 y_{ij}=\sum_{u=1}^U \sum_{v=1}^V w_{uv} \cdot x_{i+u-1,j+v-1} yij=u=1∑Uv=1∑Vwuv⋅xi+u−1,j+v−1

​ 其中,yijy_{ij}yij 表示输出特征图在位置 (i,j)(i,j)(i,j) 的值。

1.2 示例

​ 假设输入数组为:
X=012345678,W=0123 \mathbf{X} = \begin{bmatrix} 0 & 1 & 2 \\ 3 & 4 & 5 \\ 6 & 7 & 8 \end{bmatrix},\quad \mathbf{W} = \begin{bmatrix} 0 & 1 \\ 2 & 3 \end{bmatrix} X= 036147258 ,W=0213

​ 互相关第一个输出元素计算如下:
0×0+1×1+3×2+4×3=19 0\times0 + 1\times1 + 3\times2 + 4\times3 = 19 0×0+1×1+3×2+4×3=19

​ 在互相关运算过程中,卷积窗口从输入数组的左上方开始,按从左往右、从上到下的顺序滑动,每次滑动都会将窗口中的输入子数组与核数组按元素相乘再求和,得到输出数组中相应位置的元素。依次计算每个位置的输出,得到完整的输出矩阵。

二、卷积(Convolution)

​ 卷积与互相关的公式几乎一样,但有一个关键区别:卷积会在滑动之前将卷积核进行水平和垂直翻转。

  • 数学表示为:

yij=∑u=1U∑v=1Vwuv⋅xi−u+1,j−v+1 y_{ij} = \sum_{u=1}^U \sum_{v=1}^V w_{uv} \cdot x_{i-u+1, j-v+1} yij=u=1∑Uv=1∑Vwuv⋅xi−u+1,j−v+1

​ 当卷积核旋转180°时,原本位于左上角的元素 w11w_{11}w11 会对应输入局部区域的右下角元素 xi−1+1,j−1+1=xi,jx_{i-1+1, j-1+1} = x_{i,j}xi−1+1,j−1+1=xi,j。

​ 或者更直观地表示为:
Y=W∗X=rot180(W)⊗X \mathbf{Y} = \mathbf{W} * \mathbf{X} = \text{rot180}(\mathbf{W}) \otimes \mathbf{X} Y=W∗X=rot180(W)⊗X

​ 其中,rot180(W) 表示将卷积核旋转180度。

三、互相关与卷积的关系

特性 互相关 卷积
核是否翻转 是(水平+垂直)
计算方式 滑动窗口逐元素相乘求和 滑动窗口逐元素相乘求和(核先翻转)
特征提取能力 不受翻转影响 不受翻转影响
深度学习中使用 实际使用 常用名称

注意:在深度学习中,大多数框架(如 PyTorch、TensorFlow)执行的实际上是互相关,但为了历史和习惯仍称为"卷积"。核是否翻转并不影响特征提取能力。

四、总结

  • 互相关:直接在图像上滑动卷积核计算点积,寻找局部相似性。
  • 卷积:在滑动前翻转卷积核,公式上与互相关略有不同。
  • 深度学习实践:为了方便和统一术语,互相关通常也被称为卷积。
  • 关键点 :翻不翻转卷积核不影响特征提取效果,只是数学上的约定不同。
相关推荐
AcaDesign42 分钟前
国家/省部市级科技奖答辩PPT_科技进步奖_自然科学奖_技术发明奖|WordinPPT
大数据·人工智能·科技·powerpoint
Ai-_Man3 小时前
希望大家能推荐一款软件,可以直接把文心生成的代码变流程图,提高办公效率
人工智能·ai·小程序·流程图
AI02265 小时前
探秘AI Agent软件公司:开启智能时代的创新引擎
人工智能
fīɡЙtīиɡ ℡7 小时前
AI 应用系统设计
java·开发语言·人工智能
小淮AI7 小时前
国际教育课程的本土化探索:以枫叶教育三十年为观察样本
大数据·人工智能
又折桃枝换酒钱7 小时前
VisCoder2:构建多语言可视化编码智能体(翻译与解读)
人工智能·信息可视化
AI绘画哇哒哒7 小时前
【建议收藏!】35岁后端血泪忠告,这3类人别硬转Agent(过来人亲述)
java·人工智能·后端·ai·程序员·大模型·agent
Chengbei118 小时前
DSH渗透测试插件dsh-pentest全新升级!适配DeepSeek Harness,可视化探索链路,一键搭建轻量化AI渗透测试环境。
人工智能·web安全·网络安全·微信·小程序·系统安全·安全架构
QN1幻化引擎8 小时前
DalinX Phi 性能突破:跨层秩保持对齐与意识涌现度量的实证研究
人工智能·ai·架构·agi·asi