什么是自相关函数(Autocorrelation Function)?从直觉到扩散模型中的推导

什么是自相关函数(Autocorrelation Function)?从直觉到扩散模型中的推导
在研究扩散模型(Diffusion Models)的前向和逆向扩散过程时,我们会遇到随机微分方程(SDE)和布朗运动,其中一个关键术语是“自相关函数”(Autocorrelation Function)。在 SDE 的前向扩散过程中,比如:
dx(t)dt=f(x,t)+g(t)ξ(t),ξ(t)∼N(0,I)
\frac{dx(t)}{dt} = f(x, t) + g(t) \xi(t), \quad \xi(t) \sim \mathcal{N}(0, I)
dtdx(t)=f(x,t)+g(t)ξ(t),ξ(t)∼N(0,I)
文中 (https://arxiv.org/pdf/2403.18103) 提到,自相关函数 ( E[ξ(t)ξ(t′)]=δ(t−t′)E[\xi(t) \xi(t')] = \delta(t - t')E[ξ(t)ξ(t′)]=δ(t−t′) ) 是一个 Dirac 冲激函数(Delta Function)。这到底是什么意思?本篇博客将以直观的语言,面向具有深度学习背景的研究者,介绍自相关函数的概念、意义,并推导为何扩散模型中白噪声的自相关函数是 (δ(t−t′)\delta(t - t')δ(t−t′))。
自相关函数是什么?
自相关函数(Autocorrelation Function)是信号处理和随机过程中的一个工具,用来衡量一个随机信号(或随机过程)在不同时间点之间的相似性。对于一个随机过程 ( ξ(t)\xi(t)ξ(t) ),其自相关函数定义为:
Rξ(t,t′)=E[ξ(t)ξ(t′)]
R_\xi(t, t') = E[\xi(t) \xi(t')]
Rξ(t,t′)=E[ξ(t)ξ(t′)]
( ξ(t)\xi(t)ξ(t) ):某个时间 ( ttt ) 的随机变量。( E[⋅]E[\cdot]E[⋅] ):数学期望,计算两个时刻值的乘积的平均值。( t,t′t, t't,t′ ):两个不同的时间点。
直观理解
想象你在听一首歌的背景噪声:
如果噪声在 ( ttt ) 和 ( t′t't′ ) 很接近时听起来很像(高度相关),自相关函数值就大。如果 ( ttt ) 和 ( t′t't′ ) 相隔很远,噪声完全不像(不相关),值就接近 0。
自相关函数就像在问:“这个信号的现在和过去有多像?”
时间平稳性
如果 ( ξ(t)\xi(t)ξ(t) ) 是平稳随机过程(统计特性不随时间变化),自相关只依赖时间差 ( τ=t−t′\tau = t - t'τ=t−t′ ):
Rξ(τ)=E[ξ(t)ξ(t+τ)]
R_\xi(\tau) = E[\xi(t) \xi(t + \tau)]
Rξ(τ)=E[ξ(t)ξ(t+τ)]
自相关函数在扩散模型中的角色
在扩散模型的前向过程:
dx(t)dt=f(x,t)+g(t)ξ(t)
\frac{dx(t)}{dt} = f(x, t) + g(t) \xi(t)
dtdx(t)=f(x,t)+g(t)ξ(t)
( ξ(t)\xi(t)ξ(t) ) 是白噪声,表示布朗运动的“导数”(尽管严格来说不可导)。文中(https://arxiv.org/pdf/2403.18103)指出:
( ξ(t)∼N(0,I)\xi(t) \sim \mathcal{N}(0, I)ξ(t)∼N(0,I) ):每个时刻 ( ttt ) 的 ( ξ(t)\xi(t)ξ(t) ) 是独立同分布的高斯随机变量。自相关函数 ( E[ξ(t)ξ(t′)]=δ(t−t′)E[\xi(t) \xi(t')] = \delta(t - t')E[ξ(t)ξ(t′)]=δ(t−t′) )。
这意味着 ( ξ(t)\xi(t)ξ(t) ) 在不同时间点完全不相关,除非 ( t=t′t = t't=t′ ),此时相关性“无穷大”(用 (δ\deltaδ) 函数表示)。为什么会这样?下面我们来推导。
推导:为何 ( E[ξ(t)ξ(t′)]=δ(t−t′)E[\xi(t) \xi(t')] = \delta(t - t')E[ξ(t)ξ(t′)]=δ(t−t′) )?
1. 白噪声的定义
白噪声 ( ξ(t)\xi(t)ξ(t) ) 是一种理想化的随机过程,具有以下特性:
均值为零:( E[ξ(t)]=0E[\xi(t)] = 0E[ξ(t)]=0 )。独立性:对于任意 ( t≠t′t \neq t't=t′ ),( ξ(t)\xi(t)ξ(t) ) 和 ( ξ(t′)\xi(t')ξ(t′) ) 是独立的。方差无限大:在连续时间中,白噪声的功率谱是均匀的(白色),意味着瞬时方差理论上无穷大。
在扩散模型中,( ξ(t)∼N(0,I)\xi(t) \sim \mathcal{N}(0, I)ξ(t)∼N(0,I)) 表示每个时刻的噪声是标准正态分布,且各时刻独立。
2. 自相关的计算
自相关函数是:
Rξ(t,t′)=E[ξ(t)ξ(t′)]
R_\xi(t, t') = E[\xi(t) \xi(t')]
Rξ(t,t′)=E[ξ(t)ξ(t′)]
情况 1:( t≠t′t \neq t't=t′ )
因为 ( ξ(t)\xi(t)ξ(t) ) 是 i.i.d.(独立同分布),当 ( t≠t′t \neq t't=t′ ) 时:
E[ξ(t)ξ(t′)]=E[ξ(t)]E[ξ(t′)]=0⋅0=0
E[\xi(t) \xi(t')] = E[\xi(t)] E[\xi(t')] = 0 \cdot 0 = 0
E[ξ(t)ξ(t′)]=E[ξ(t)]E[ξ(t′)]=0⋅0=0
不同时刻的噪声完全不相关。
情况 2:( t=t′t = t't=t′ )
当 ( t=t′t = t't=t′ ) 时:
E[ξ(t)ξ(t)]=E[ξ(t)2]
E[\xi(t) \xi(t)] = E[\xi(t)^2]
E[ξ(t)ξ(t)]=E[ξ(t)2]
因为 ( ξ(t)∼N(0,1)\xi(t) \sim \mathcal{N}(0, 1)ξ(t)∼N(0,1) )(假设单位方差),其二阶矩为:
E[ξ(t)2]=Var(ξ(t))+(E[ξ(t)])2=1+0=1
E[\xi(t)^2] = \text{Var}(\xi(t)) + (E[\xi(t)])^2 = 1 + 0 = 1
E[ξ(t)2]=Var(ξ(t))+(E[ξ(t)])2=1+0=1
但在连续时间白噪声中,( ξ(t)\xi(t)ξ(t) ) 被认为是瞬时方差无穷大的理想化过程。这里的“1”是离散采样的结果,在连续极限下需要重新审视。
3. 布朗运动与白噪声的关系
实际上,( ξ(t)\xi(t)ξ(t) ) 是布朗运动 ( W(t)W(t)W(t) ) 的“导数”:
dW(t)=ξ(t)dt
dW(t) = \xi(t) dt
dW(t)=ξ(t)dt
布朗运动的增量 ( W(t)−W(s)∼N(0,t−s)W(t) - W(s) \sim \mathcal{N}(0, t - s)W(t)−W(s)∼N(0,t−s) ),其自相关为:
E[W(t)W(s)]=min(t,s)
E[W(t) W(s)] = \min(t, s)
E[W(t)W(s)]=min(t,s)
但 ( ξ(t)\xi(t)ξ(t) ) 作为 ( W(t)W(t)W(t) ) 的导数,其自相关需要通过增量的极限来定义。
考虑时间间隔 ( Δt\Delta tΔt ):
W(t+Δt)−W(t)=∫tt+Δtξ(s)ds
W(t + \Delta t) - W(t) = \int_t^{t + \Delta t} \xi(s) ds
W(t+Δt)−W(t)=∫tt+Δtξ(s)ds
两边平方并取期望:
E[(W(t+Δt)−W(t))2]=E[(∫tt+Δtξ(s)ds)2]=Δt
E[(W(t + \Delta t) - W(t))^2] = E\left[ \left( \int_t^{t + \Delta t} \xi(s) ds \right)^2 \right] = \Delta t
E[(W(t+Δt)−W(t))2]=E(∫tt+Δtξ(s)ds)2=Δt
展开积分:
E[∫tt+Δt∫tt+Δtξ(s)ξ(u)dsdu]=∫tt+Δt∫tt+ΔtE[ξ(s)ξ(u)]dsdu
E\left[ \int_t^{t + \Delta t} \int_t^{t + \Delta t} \xi(s) \xi(u) ds du \right] = \int_t^{t + \Delta t} \int_t^{t + \Delta t} E[\xi(s) \xi(u)] ds du
E[∫tt+Δt∫tt+Δtξ(s)ξ(u)dsdu]=∫tt+Δt∫tt+ΔtE[ξ(s)ξ(u)]dsdu
假设 ( E[ξ(s)ξ(u)]=R(s−u)E[\xi(s) \xi(u)] = R(s - u)E[ξ(s)ξ(u)]=R(s−u) ),则:
∫tt+Δt∫tt+ΔtR(s−u)dsdu=Δt
\int_t^{t + \Delta t} \int_t^{t + \Delta t} R(s - u) ds du = \Delta t
∫tt+Δt∫tt+ΔtR(s−u)dsdu=Δt
4. Dirac 冲激函数的引入
为了让上式成立,( R(s−u)R(s - u)R(s−u) ) 必须是一个非常“尖锐”的函数:
当 ( s≠us \neq us=u ) 时,( R(s−u)=0R(s - u) = 0R(s−u)=0 )(不相关)。当 ( s=us = us=u ) 时,( R(s−u)R(s - u)R(s−u) ) 需“无穷大”,且其积分等于 1。
Dirac 冲激函数 (δ(t−t′)\delta(t - t')δ(t−t′)) 满足这些要求:
∫−∞∞δ(t−t′)dt=1,δ(t−t′)=0 当 t≠t′
\int_{-\infty}^{\infty} \delta(t - t') dt = 1, \quad \delta(t - t') = 0 \text{ 当 } t \neq t'
∫−∞∞δ(t−t′)dt=1,δ(t−t′)=0 当 t=t′
令:
E[ξ(t)ξ(t′)]=δ(t−t′)
E[\xi(t) \xi(t')] = \delta(t - t')
E[ξ(t)ξ(t′)]=δ(t−t′)
验证:
∫tt+Δt∫tt+Δtδ(s−u)dsdu=∫tt+Δt1 ds=Δt
\int_t^{t + \Delta t} \int_t^{t + \Delta t} \delta(s - u) ds du = \int_t^{t + \Delta t} 1 \, ds = \Delta t
∫tt+Δt∫tt+Δtδ(s−u)dsdu=∫tt+Δt1ds=Δt
这与布朗运动增量的方差一致,因此:
E[ξ(t)ξ(t′)]=δ(t−t′)
E[\xi(t) \xi(t')] = \delta(t - t')
E[ξ(t)ξ(t′)]=δ(t−t′)
自相关函数是 (δ\deltaδ) 函数的意义
完全不相关:(δ(t−t′)\delta(t - t')δ(t−t′)) 表示 ( ξ(t)\xi(t)ξ(t) ) 在不同时刻无任何关联,只有 ( t=t′t = t't=t′ ) 时有贡献。白噪声特性:(δ\deltaδ) 函数对应功率谱的平坦性(白噪声),表示所有频率的能量均等。扩散模型中的应用:前向扩散过程用白噪声驱动,(δ\deltaδ) 函数确保噪声在时间上无结构,纯随机。
总结
自相关函数 ( E[ξ(t)ξ(t′)]E[\xi(t) \xi(t')]E[ξ(t)ξ(t′)] ) 衡量随机过程的时间相关性。在扩散模型中,白噪声 ( ξ(t)\xi(t)ξ(t) ) 的自相关为:
E[ξ(t)ξ(t′)]=δ(t−t′)
E[\xi(t) \xi(t')] = \delta(t - t')
E[ξ(t)ξ(t′)]=δ(t−t′)
这是因为 ( ξ(t)\xi(t)ξ(t) ) 是独立同分布的,且作为布朗运动的“导数”,其增量特性要求相关性集中在同一时刻。通过推导,我们看到 (δ\deltaδ) 函数完美捕捉了白噪声的瞬时随机性。对于深度学习研究者来说,这一性质是理解扩散过程随机驱动的关键!
注:推导简化了部分数学细节,强调直觉与结果。
后记
2025年3月9日15点15分于上海,在grok 3大模型辅助下完成。