欢迎来到我的博客

Hi, 我是 Qiqi Wu,一名热衷于技术与生活分享的博主, 我的兴趣包括统计机器学习,强化学习,机器人,slam和sfm。

从随机微分方程SDE到扩散模型

随机微分方程 (SDE) 一般的微分方程可以表示为: $$\frac{d\textbf{x}}{dt} = f(\textbf{x},t)$$几乎所有更高阶的微分方程都可以转化为这种一阶形式。例如,一个二阶系统(如牛顿第二定律 $F=ma$)可以通过引入辅助变量(令速度 $v = \dot{x}$),将其改写为两个一阶方程组成的向量形式: $$\frac{d}{dt} \begin{bmatrix} x \\ v \end{bmatrix} = \begin{bmatrix} v \\ \frac{F}{m} \end{bmatrix}$$ 然而,在许多现实世界的系统中,存在随机性或不确定性,这时我们需要引入随机微分方程 (SDE) 来描述这些系统。 随机微分方程在传统微分方程的基础上,加入了一个随机过程项,通常表示为Wiener过程。一个典型的随机微分方程形式为: $$d\textbf{x} = f(\textbf{x},t)dt + g(\textbf{x},t)d\textbf{W}_t$$ 其中$f(\mathbf{x}_t, t)$ 是漂移项。$g(t)$ 是扩散项。$\text{d}\mathbf{W}_t$是标准维纳过程。 例如,在slam系统中, imu传感器的bias可以建模为一个随机游走过程: $$d\textbf{b} = \sigma d\textbf{W}_t$$ 其离散化形式为: $$ \mathbf{b}_{k+1} = \mathbf{b}_k + \mathbf{W}_{b,k}, \quad \mathbf{W}_{b,k} \sim \mathcal{N}(0, \Delta t \sigma_{b}^2 ) \\ $$该式描述了bias的方差在每个时间步长 $\Delta t$ 上的变化, 随时间步长线性增长,$\sigma$ 控制了随机游走的强度, 这意味着,随着时间推移,不确定性的范围以时间平方根的速率扩散。 推导福克-普朗克方程 (FPE) 随机微分方程 (SDE) 描述了系统状态的随机演化,而福克-普朗克方程 (FPE) 则描述了系统状态概率密度函数 (PDF) 随时间的变化。通过从 SDE 推导 FPE,我们可以理解系统状态的统计行为。 维纳过程具有以下核心统计特性, 增量 $dW_t = W_{t+dt} - W_t$ 服从正态分布: ...

December 17, 2025