MPPI 算法证明重构:基于无穷维泛函变分与 KL 散度的构造性推导

版权声明:版权所有
转载请联系:lvxiangyu11@gmail.com


我这里采用的信息论的方式证明,采用了 KL 散度,变分法对无穷维泛函求导,重要性采样。相较于《Information-Theoretic Model Predictive Control: Theory and Applications to Autonomous Driving》的原文证明方式,虽然缺少了"自由能 FFF\mathcal{F}FF本身就是最优控制代价的下界"的结论。但是我的这个证明方式更适合第一次学习。原文的证明方式基于猜测+验证,其证明使人看的会有常常有"你这是怎么得到的?你这是注意到的吗?那你注意力惊人"的慨叹!


证明如下:

MPPI 推导过程

1. 基准分布 P\mathbb{P}P:无控状态

想象小车不施加任何名义控制,仅由随机噪声驱动:

xt+1=f(xt,0⏟无控制)+ϵt,ϵt∼N(0,Σ)x_{t+1} = f(x_t, \underbrace{0}_{\text{无控制}} )+ \epsilon_t, \quad \epsilon_t \sim \mathcal{N}(0, \Sigma)xt+1=f(xt,无控制 0)+ϵt,ϵt∼N(0,Σ)

  • 物理意义 :P\mathbb{P}P 是纯随机游走轨迹的分布。
  • 表现:小车在起点附近随机乱晃,大概率会撞上障碍物,几乎无法到达目标点。

2. 受控分布 Q\mathbb{Q}Q:施加名义控制

施加控制序列 U={u0,...,uT−1}U = \{u_0, \dots, u_{T-1}\}U={u0,...,uT−1} 后,小车的运动变为:

xt+1=f(xt,ut⏟名义控制)+ϵt,ϵt∼N(0,Σ)x_{t+1} = f(x_t, \underbrace{u_t}_{\text{名义控制}}) + \epsilon_t, \quad \epsilon_t \sim \mathcal{N}(0, \Sigma)xt+1=f(xt,名义控制 ut)+ϵt,ϵt∼N(0,Σ)

  • 物理意义 :Q\mathbb{Q}Q 是带有偏向性的轨迹分布。
  • 表现 :控制量 utu_tut 像一股"力",将原本随机游走的小车向目标方向"推"。

3. 推导两者的关系

3.1 噪声反演

给定 xt→xt+1x_t \to x_{t+1}xt→xt+1 的转移,反推噪声实现值。同一段状态转移在两个分布下对应的噪声"解释"不同:

ϵtP=xt+1−f(xt,0)\epsilon_t^\mathbb{P} = x_{t+1} - f(x_t, 0)ϵtP=xt+1−f(xt,0)

ϵtQ=xt+1−f(xt,ut)=ϵtP−ut\epsilon_t^\mathbb{Q} = x_{t+1} - f(x_t, u_t) = \epsilon_t^\mathbb{P} - u_tϵtQ=xt+1−f(xt,ut)=ϵtP−ut

3.2 高斯概率密度函数

p(ϵ)=1(2π)n∣Σ∣exp⁡(−12ϵ⊤Σ−1ϵ)p(\epsilon) = \frac{1}{\sqrt{(2\pi)^n|\Sigma|}} \exp\left(-\frac{1}{2}\epsilon^\top \Sigma^{-1} \epsilon\right)p(ϵ)=(2π)n∣Σ∣ 1exp(−21ϵ⊤Σ−1ϵ)

3.3 变量代换

将 ϵtP\epsilon_t^\mathbb{P}ϵtP、ϵtQ\epsilon_t^\mathbb{Q}ϵtQ 分别代入高斯密度:

p(xt+1∣xt)∝exp⁡(−12(xt+1−f(xt,0))⊤Σ−1(xt+1−f(xt,0)))p(x_{t+1}|x_t) \propto \exp\left(-\frac{1}{2}(x_{t+1} - f(x_t, 0))^\top \Sigma^{-1} (x_{t+1} - f(x_t, 0))\right)p(xt+1∣xt)∝exp(−21(xt+1−f(xt,0))⊤Σ−1(xt+1−f(xt,0)))

q(xt+1∣xt)∝exp⁡(−12(xt+1−f(xt,ut))⊤Σ−1(xt+1−f(xt,ut)))q(x_{t+1}|x_t) \propto \exp\left(-\frac{1}{2}(x_{t+1} - f(x_t, u_t))^\top \Sigma^{-1} (x_{t+1} - f(x_t, u_t))\right)q(xt+1∣xt)∝exp(−21(xt+1−f(xt,ut))⊤Σ−1(xt+1−f(xt,ut)))

3.4 单步密度比

q(xt+1∣xt)p(xt+1∣xt)=exp⁡ ⁣(−12(ϵt−ut)⊤Σ−1(ϵt−ut))exp⁡ ⁣(−12ϵt⊤Σ−1ϵt)=exp⁡ ⁣(−12(ϵt⊤Σ−1ϵt−2ϵt⊤Σ−1ut+ut⊤Σ−1ut)+12ϵt⊤Σ−1ϵt)=exp⁡ ⁣(ϵt⊤Σ−1ut−12ut⊤Σ−1ut) \begin{aligned} \frac{q(x_{t+1}|x_t)}{p(x_{t+1}|x_t)} &= \frac{\exp\!\left(-\frac{1}{2}(\epsilon_t - u_t)^\top \Sigma^{-1} (\epsilon_t - u_t)\right)}{\exp\!\left(-\frac{1}{2}\epsilon_t^\top \Sigma^{-1} \epsilon_t\right)} \\[6pt] &= \exp\!\left(-\frac{1}{2}\left(\epsilon_t^\top \Sigma^{-1} \epsilon_t - 2\epsilon_t^\top \Sigma^{-1} u_t + u_t^\top \Sigma^{-1} u_t\right) + \frac{1}{2}\epsilon_t^\top \Sigma^{-1} \epsilon_t\right) \\[6pt] &= \boxed{\exp\!\left(\epsilon_t^\top \Sigma^{-1} u_t - \frac{1}{2}u_t^\top \Sigma^{-1} u_t\right)} \end{aligned} p(xt+1∣xt)q(xt+1∣xt)=exp(−21ϵt⊤Σ−1ϵt)exp(−21(ϵt−ut)⊤Σ−1(ϵt−ut))=exp(−21(ϵt⊤Σ−1ϵt−2ϵt⊤Σ−1ut+ut⊤Σ−1ut)+21ϵt⊤Σ−1ϵt)=exp(ϵt⊤Σ−1ut−21ut⊤Σ−1ut)

3.5 轨迹密度比

轨迹概率 = 各步转移概率之积(MDP),因此:

dQdP(τ)=∏t=0T−1q(xt+1∣xt)p(xt+1∣xt)=exp⁡ ⁣(∑t=0T−1(ϵt⊤Σ−1ut−12ut⊤Σ−1ut))\frac{d\mathbb{Q}}{d\mathbb{P}}(\tau) = \prod_{t=0}^{T-1} \frac{q(x_{t+1}|x_t)}{p(x_{t+1}|x_t)} = \exp\!\left(\sum_{t=0}^{T-1} \left(\epsilon_t^\top \Sigma^{-1} u_t - \frac{1}{2}u_t^\top \Sigma^{-1} u_t\right)\right)dPdQ(τ)=t=0∏T−1p(xt+1∣xt)q(xt+1∣xt)=exp(t=0∑T−1(ϵt⊤Σ−1ut−21ut⊤Σ−1ut))


4. 引入 KL 散度与正则化

原始最优控制问题为:

min⁡UJ,J=EQ[S(τ)],S(τ)≜ϕ(xT)+∑t=0T−1ℓ(xt,ut)\min_U J, \quad J = \mathbb{E}{\mathbb{Q}}[S(\tau)], \quad S(\tau) \triangleq \phi(x_T) + \sum{t=0}^{T-1} \ell(x_t, u_t)UminJ,J=EQ[S(τ)],S(τ)≜ϕ(xT)+t=0∑T−1ℓ(xt,ut)

直接优化较难,引入 KL 散度正则化项 λDKL(Q∥P)\lambda D_{KL}(\mathbb{Q}\|\mathbb{P})λDKL(Q∥P),得到:

L(Q)=EQ ⁣[S(τ)+λlog⁡dQdP]\mathcal{L}(\mathbb{Q}) = \mathbb{E}_{\mathbb{Q}}\!\left[S(\tau) + \lambda \log \frac{d\mathbb{Q}}{d\mathbb{P}}\right]L(Q)=EQ[S(τ)+λlogdPdQ]

两种等价视角:

min⁡QEQ[S]+λDKL(Q∥P)⏟正则化视角(MPPI 出发点)  ⟺  min⁡QEQ[S]s.t.DKL(Q∥P)≤c⏟约束优化视角, c是常数\underbrace{\min_{\mathbb{Q}} \mathbb{E}{\mathbb{Q}}[S] + \lambda D{KL}(\mathbb{Q} \| \mathbb{P})}{\text{正则化视角(MPPI 出发点)}} \iff \underbrace{\min{\mathbb{Q}} \mathbb{E}{\mathbb{Q}}[S] \quad \text{s.t.} \quad D{KL}(\mathbb{Q} \| \mathbb{P}) \le c}_{\text{约束优化视角, c是常数}}正则化视角(MPPI 出发点) QminEQ[S]+λDKL(Q∥P)⟺约束优化视角, c是常数 QminEQ[S]s.t.DKL(Q∥P)≤c

目标: 找到一个分布 Q\mathbb{Q}Q 使得轨迹期望代价尽量的小。

约束:Q\mathbb{Q}Q 不能距离 P\mathbb{P}P 太远,即控制量不能太大。


5. 变分法求解最优分布 Q∗\mathbb{Q}^*Q∗

这里的优化对象是 L(\\mathbb{Q}) ,,,\\mathbb{Q} 是轨迹 τ 的函数,我们对所有轨迹求优化,故此是一个无穷维泛函,对于无穷维泛函的微分(我们这里要极值条件来求出这个极值点,但泛函不能直接求导)采用在变分导数。

将期望展开为积分,并引入归一化约束的拉格朗日乘子 μ\muμ(这是变分微分的套路):

L(q)=∫ ⁣[S(τ)+λlog⁡q(τ)p(τ)]q(τ) dτ+μ ⁣(∫q(τ) dτ−1)=∫[S(τ)q(τ)+λq(τ)log⁡q(τ)−λq(τ)log⁡p(τ)]dτ+μ ⁣(∫q(τ) dτ−1)\begin{aligned} \mathcal{L}(q) &= \int \!\left[S(\tau) + \lambda \log \frac{q(\tau)}{p(\tau)}\right] q(\tau)\, d\tau + \mu\!\left(\int q(\tau)\, d\tau - 1\right)\\ &= \int \left[S(\tau) q(\tau) + \lambda q(\tau) \log q(\tau) - \lambda q(\tau) \log p(\tau)\right]d\tau + \mu\!\left(\int q(\tau)\, d\tau - 1\right)\\ \end{aligned}L(q)=∫[S(τ)+λlogp(τ)q(τ)]q(τ)dτ+μ(∫q(τ)dτ−1)=∫[S(τ)q(τ)+λq(τ)logq(τ)−λq(τ)logp(τ)]dτ+μ(∫q(τ)dτ−1)

对 q(τ)q(\tau)q(τ) 求变分导数,令其为0:

δLδq(τ)=δδq(τ)[S(τ)q(τ)+λq(τ)log⁡q(τ)−λq(τ)log⁡p(τ)+μq(τ)]=S(τ)+λ(log⁡q(τ)+1)−λlog⁡p(τ)+μ=S(τ)+λlog⁡q(τ)+λ−λlog⁡p(τ)+μ=S(τ)+λ(log⁡q(τ)−log⁡p(τ))+λ+μ=S(τ)+λlog⁡q(τ)p(τ)+λ⏟来自 d(qlog⁡q)/dq+μ⏟拉格朗日乘子=0\begin{aligned} \frac{\delta \mathcal{L}}{\delta q(\tau)} &= \frac{\delta}{\delta q(\tau)} \left[ S(\tau)q(\tau) + \lambda q(\tau)\log q(\tau) - \lambda q(\tau)\log p(\tau) + \mu q(\tau) \right] \\ &= S(\tau) + \lambda(\log q(\tau) + 1) - \lambda \log p(\tau) + \mu \\ &= S(\tau) + \lambda \log q(\tau) + \lambda - \lambda \log p(\tau) + \mu \\ &= S(\tau) + \lambda \left( \log q(\tau) - \log p(\tau) \right) + \lambda + \mu \\ &= S(\tau) + \lambda \log \frac{q(\tau)}{p(\tau)} + \underbrace{\lambda}{\text{来自 } d(q \log q)/dq} + \underbrace{\mu}{\text{拉格朗日乘子}} \\ &= 0 \end{aligned}δq(τ)δL=δq(τ)δ[S(τ)q(τ)+λq(τ)logq(τ)−λq(τ)logp(τ)+μq(τ)]=S(τ)+λ(logq(τ)+1)−λlogp(τ)+μ=S(τ)+λlogq(τ)+λ−λlogp(τ)+μ=S(τ)+λ(logq(τ)−logp(τ))+λ+μ=S(τ)+λlogp(τ)q(τ)+来自 d(qlogq)/dq λ+拉格朗日乘子 μ=0

解出:

q∗(τ)=p(τ)⋅exp⁡ ⁣(−1λS(τ)−1−μλ)q^*(\tau) = p(\tau)\cdot \exp\!\left(-\frac{1}{\lambda} S(\tau) - 1 - \frac{\mu}{\lambda}\right)q∗(τ)=p(τ)⋅exp(−λ1S(τ)−1−λμ)

由归一化条件 ∫q∗(τ) dτ=1\int q^*(\tau)\,d\tau = 1∫q∗(τ)dτ=1 确定常数,最终得到:

dQ∗(τ)=1ηexp⁡ ⁣(−S(τ)λ)dP(τ),η=EP ⁣[exp⁡ ⁣(−S(τ)λ)]\boxed{d\mathbb{Q}^*(\tau) = \frac{1}{\eta} \exp\!\left(-\frac{S(\tau)}{\lambda}\right) d\mathbb{P}(\tau), \quad \eta = \mathbb{E}_{\mathbb{P}}\!\left[\exp\!\left(-\frac{S(\tau)}{\lambda}\right)\right]}dQ∗(τ)=η1exp(−λS(τ))dP(τ),η=EP[exp(−λS(τ))]

这是Gibbs 分布。


推导过程:
q∗(τ)=p(τ)⋅exp⁡(−1λS(τ)−1−μλ)q^*(\tau) = p(\tau) \cdot \exp\left( -\frac{1}{\lambda} S(\tau) - 1 - \frac{\mu}{\lambda} \right)q∗(τ)=p(τ)⋅exp(−λ1S(τ)−1−λμ)Step 1:分离常数将指数中的常数项单独提出:q∗(τ)=p(τ)⋅exp⁡(−S(τ)λ)⋅exp⁡(−1−μλ)q^*(\tau) = p(\tau) \cdot \exp\left( -\frac{S(\tau)}{\lambda} \right) \cdot \exp\left( -1 - \frac{\mu}{\lambda} \right)q∗(τ)=p(τ)⋅exp(−λS(τ))⋅exp(−1−λμ)令 C≜exp⁡(−1−μλ)C \triangleq \exp(-1 - \frac{\mu}{\lambda})C≜exp(−1−λμ),这是一个与 τ\tauτ 无关的待定常数,于是:q∗(τ)=C⋅p(τ)⋅exp⁡(−S(τ)λ)q^*(\tau) = C \cdot p(\tau) \cdot \exp\left( -\frac{S(\tau)}{\lambda} \right)q∗(τ)=C⋅p(τ)⋅exp(−λS(τ))Step 2:用归一化条件确定 CCC由概率分布的归一化约束 ∫q∗(τ) dτ=1\int q^*(\tau) \, d\tau = 1∫q∗(τ)dτ=1,代入上式:∫C⋅p(τ)⋅exp⁡(−S(τ)λ) dτ=1\int C \cdot p(\tau) \cdot \exp\left( -\frac{S(\tau)}{\lambda} \right) \, d\tau = 1∫C⋅p(τ)⋅exp(−λS(τ))dτ=1C∫p(τ)⋅exp⁡(−S(τ)λ) dτ=1C \int p(\tau) \cdot \exp\left( -\frac{S(\tau)}{\lambda} \right) \, d\tau = 1C∫p(τ)⋅exp(−λS(τ))dτ=1注意到右边的积分正好是在 P\mathbb{P}P 下对 exp⁡(−S/λ)\exp(-S/\lambda)exp(−S/λ) 求期望:C⋅EP[exp⁡(−S(τ)λ)]=1C \cdot \mathbb{E}{\mathbb{P}} \left[ \exp\left( -\frac{S(\tau)}{\lambda} \right) \right] = 1C⋅EP[exp(−λS(τ))]=1因此:C=1EP[exp⁡(−S(τ)λ)]≜1ηC = \frac{1}{\mathbb{E}{\mathbb{P}} \left[ \exp\left( -\frac{S(\tau)}{\lambda} \right) \right]} \triangleq \frac{1}{\eta}C=EP[exp(−λS(τ))]1≜η1Step 3:代回得到最终结果q∗(τ)=1η⋅exp⁡(−S(τ)λ)⋅p(τ)q^*(\tau) = \frac{1}{\eta} \cdot \exp\left( -\frac{S(\tau)}{\lambda} \right) \cdot p(\tau)q∗(τ)=η1⋅exp(−λS(τ))⋅p(τ)改写成测度形式(两边乘以 dτd\taudτ):dQ∗(τ)=1ηexp⁡(−S(τ)λ)dP(τ),η=EP[exp⁡(−S(τ)λ)]\boxed{d\mathbb{Q}^*(\tau) = \frac{1}{\eta} \exp\left( -\frac{S(\tau)}{\lambda} \right) d\mathbb{P}(\tau), \quad \eta = \mathbb{E}_{\mathbb{P}} \left[ \exp\left( -\frac{S(\tau)}{\lambda} \right) \right]}dQ∗(τ)=η1exp(−λS(τ))dP(τ),η=EP[exp(−λS(τ))]

这个结果其实就是 Gibbs 分布(Boltzmann 分布) 的形式。η\etaη 是配分函数,起归一化作用;于是我们可以看到λ\lambdaλ 是"温度"参数,控制分布对代价 S(τ)S(\tau)S(τ) 的敏感程度------λ\lambdaλ 越小,低代价轨迹的权重越集中(越"冷");λ\lambdaλ 越大,分布越接近基准分布 P\mathbb{P}P(越"热")。


6. 从最优分布到控制律更新

在所有由控制序列参数化的分布 QU\mathbb{Q}_UQU 中,找最接近 Q∗\mathbb{Q}^*Q∗ 的:

U∗=arg⁡min⁡UDKL(Q∗∥QU)U^* = \arg\min_U D_{KL}(\mathbb{Q}^* \| \mathbb{Q}_U)U∗=argUminDKL(Q∗∥QU)

忽略与 UUU 无关的常数项,等价于:

U∗=arg⁡min⁡UDKL(Q∗∥QU)=arg⁡min⁡UEQ∗[log⁡dQ∗dQU](第一步:利用 KL 散度定义)=arg⁡min⁡UEQ∗[log⁡dQ∗dP−log⁡dQUdP](第二步:插入基准分布 P 做桥梁)=arg⁡min⁡UEQ∗[(−S(τ)λ−log⁡η)−∑t=0T−1(ϵt⊤Σ−1ut−12ut⊤Σ−1ut)](第三步:分别代入两项对数密度比)=arg⁡min⁡UEQ∗[−∑t=0T−1(ϵt⊤Σ−1ut−12ut⊤Σ−1ut)](第四步:去掉与 U 无关的常数项)=arg⁡min⁡UEQ∗[∑t=0T−1(12ut⊤Σ−1ut−ϵt⊤Σ−1ut)](第四步:对剩余项取负号进行整理)\begin{aligned} U^* &= \arg\min_U D_{KL}(\mathbb{Q}^*\|\mathbb{Q}U)\\ &= \arg\min_U \mathbb{E}{\mathbb{Q}^*}\left[ \log \frac{d\mathbb{Q}^*}{d\mathbb{Q}U} \right] & \text{(第一步:利用 KL 散度定义)} \\ &= \arg\min_U \mathbb{E}{\mathbb{Q}^*}\left[ \log \frac{d\mathbb{Q}^*}{d\mathbb{P}} - \log \frac{d\mathbb{Q}U}{d\mathbb{P}} \right] & \text{(第二步:插入基准分布 } \mathbb{P} \text{ 做桥梁)} \\ &= \arg\min_U \mathbb{E}{\mathbb{Q}^*}\left[ \left( -\frac{S(\tau)}{\lambda} - \log \eta \right) - \sum_{t=0}^{T-1} \left(\epsilon_t^\top \Sigma^{-1} u_t - \frac{1}{2} u_t^\top \Sigma^{-1} u_t\right) \right] & \text{(第三步:分别代入两项对数密度比)} \\ &= \arg\min_U \mathbb{E}{\mathbb{Q}^*}\left[ - \sum{t=0}^{T-1} \left(\epsilon_t^\top \Sigma^{-1} u_t - \frac{1}{2} u_t^\top \Sigma^{-1} u_t\right) \right] & \text{(第四步:去掉与 } U \text{ 无关的常数项)} \\ &= \arg\min_U \mathbb{E}{\mathbb{Q}^*}\left[ \sum{t=0}^{T-1} \left(\frac{1}{2} u_t^\top \Sigma^{-1} u_t - \epsilon_t^\top \Sigma^{-1} u_t\right) \right] & \text{(第四步:对剩余项取负号进行整理)} \end{aligned}U∗=argUminDKL(Q∗∥QU)=argUminEQ∗[logdQUdQ∗]=argUminEQ∗[logdPdQ∗−logdPdQU]=argUminEQ∗[(−λS(τ)−logη)−t=0∑T−1(ϵt⊤Σ−1ut−21ut⊤Σ−1ut)]=argUminEQ∗[−t=0∑T−1(ϵt⊤Σ−1ut−21ut⊤Σ−1ut)]=argUminEQ∗[t=0∑T−1(21ut⊤Σ−1ut−ϵt⊤Σ−1ut)](第一步:利用 KL 散度定义)(第二步:插入基准分布 P 做桥梁)(第三步:分别代入两项对数密度比)(第四步:去掉与 U 无关的常数项)(第四步:对剩余项取负号进行整理)

对每个时刻 ttt 对 utu_tut 求梯度并令其为零:

Σ−1ut−EQ∗[Σ−1ϵt]=0\Sigma^{-1} u_t - \mathbb{E}_{\mathbb{Q}^*}[\Sigma^{-1} \epsilon_t] = 0Σ−1ut−EQ∗[Σ−1ϵt]=0

ut∗=EQ∗[ϵt]\boxed{u_t^* = \mathbb{E}_{\mathbb{Q}^*}[\epsilon_t]}ut∗=EQ∗[ϵt]

结论 :最优控制等于在最优分布 Q∗\mathbb{Q}^*Q∗ 下噪声的期望。


7. 重要性采样

Q∗\mathbb{Q}^*Q∗ 无法直接采样,利用重要性采样将期望的测度从转到 P\mathbb{P}P 下计算:

ut∗=EQ∗[ϵt]=EP ⁣[ϵtexp⁡ ⁣(−S(τ)λ)]EP ⁣[exp⁡ ⁣(−S(τ)λ)]u_t^* = \mathbb{E}{\mathbb{Q}^*}[\epsilon_t] = \frac{\mathbb{E}{\mathbb{P}}\!\left[\epsilon_t \exp\!\left(-\frac{S(\tau)}{\lambda}\right)\right]}{\mathbb{E}_{\mathbb{P}}\!\left[\exp\!\left(-\frac{S(\tau)}{\lambda}\right)\right]}ut∗=EQ∗[ϵt]=EP[exp(−λS(τ))]EP[ϵtexp(−λS(τ))]

注意到分子分布都是对 P\mathbb{P}P求期望,我们可以使蒙托卡罗的方式代替这里求期望的积分 EP[g(τ)]≈1K∑k=1Kg(τ(k))\mathbb{E}{\mathbb{P}}[g(\tau)] \approx \frac{1}{K} \sum{k=1}^{K} g(\tau^{(k)})EP[g(τ)]≈K1∑k=1Kg(τ(k))。

用 KKK 条蒙特卡洛采样轨迹 τ(1),...,τ(K)∼P\tau^{(1)}, \dots, \tau^{(K)} \sim \mathbb{P}τ(1),...,τ(K)∼P 近似:

ut∗≈∑k=1Kw~(k)ϵt(k)u_t^* \approx \sum_{k=1}^K \tilde{w}^{(k)} \epsilon_t^{(k)}ut∗≈k=1∑Kw~(k)ϵt(k)

归一化权重为:

w~(k)=w(k)∑j=1Kw(j),w(k)=exp⁡ ⁣(−S(τ(k))λ)\tilde{w}^{(k)} = \frac{w^{(k)}}{\sum_{j=1}^K w^{(j)}}, \quad w^{(k)} = \exp\!\left(-\frac{S(\tau^{(k)})}{\lambda}\right)w~(k)=∑j=1Kw(j)w(k),w(k)=exp(−λS(τ(k)))

其中 w是 "这条轨迹有多值得信任"的得分: w(k)≜exp⁡(−S(τ(k))λ)w^{(k)} \triangleq \exp \left( -\frac{S(\tau^{(k)})}{\lambda} \right)w(k)≜exp(−λS(τ(k)))


重要性采样换测度的推导:

从5 中我们推得最优分布满足:dQ∗=1ηexp⁡(−S(τ)λ)dPd\mathbb{Q}^* = \frac{1}{\eta} \exp \left( -\frac{S(\tau)}{\lambda} \right) d\mathbb{P}dQ∗=η1exp(−λS(τ))dP也就是说,Q∗\mathbb{Q}^*Q∗ 相对于 P\mathbb{P}P 的 Radon-Nikodym 导数为:dQ∗dP(τ)=1ηexp⁡(−S(τ)λ)\frac{d\mathbb{Q}^*}{d\mathbb{P}}(\tau) = \frac{1}{\eta} \exp \left( -\frac{S(\tau)}{\lambda} \right)dPdQ∗(τ)=η1exp(−λS(τ))

对任意函数 g(τ)g(\tau)g(τ),换测度公式给出:
EQ∗[g(τ)]=∫g(τ)dQ∗(τ)=∫g(τ)⋅dQ∗dPdP(τ)=EP[g(τ)⋅dQ∗dP]\mathbb{E}{\mathbb{Q}^*}[g(\tau)] = \int g(\tau) d\mathbb{Q}^*(\tau) = \int g(\tau) \cdot \frac{d\mathbb{Q}^*}{d\mathbb{P}} d\mathbb{P}(\tau) = \mathbb{E}{\mathbb{P}} \left[ g(\tau) \cdot \frac{d\mathbb{Q}^*}{d\mathbb{P}} \right]EQ∗[g(τ)]=∫g(τ)dQ∗(τ)=∫g(τ)⋅dPdQ∗dP(τ)=EP[g(τ)⋅dPdQ∗]

这就是换测度的核心:在 Q∗\mathbb{Q}^*Q∗ 下对 ggg 求期望,等于在 P\mathbb{P}P 下对 g⋅dQ∗dPg \cdot \frac{d\mathbb{Q}^*}{d\mathbb{P}}g⋅dPdQ∗ 求期望。

代入令 g(τ)=ϵtg(\tau) = \epsilon_tg(τ)=ϵt,代入 R-N 导数:EQ∗[ϵt]=EP[ϵt⋅1ηexp⁡(−S(τ)λ)]=1ηEP[ϵtexp⁡(−S(τ)λ)]\mathbb{E}{\mathbb{Q}^*}[\epsilon_t] = \mathbb{E}{\mathbb{P}} \left[ \epsilon_t \cdot \frac{1}{\eta} \exp \left( -\frac{S(\tau)}{\lambda} \right) \right] = \frac{1}{\eta} \mathbb{E}{\mathbb{P}} \left[ \epsilon_t \exp \left( -\frac{S(\tau)}{\lambda} \right) \right]EQ∗[ϵt]=EP[ϵt⋅η1exp(−λS(τ))]=η1EP[ϵtexp(−λS(τ))]再把归一化常数 η=EP[exp⁡(−S(τ)λ)]\eta = \mathbb{E}{\mathbb{P}} \left[ \exp \left( -\frac{S(\tau)}{\lambda} \right) \right]η=EP[exp(−λS(τ))] 代入分母,即得:EQ∗[ϵt]=EP[ϵtexp⁡(−S(τ)λ)]EP[exp⁡(−S(τ)λ)]\mathbb{E}{\mathbb{Q}^*}[\epsilon_t] = \frac{\mathbb{E}{\mathbb{P}} \left[ \epsilon_t \exp \left( -\frac{S(\tau)}{\lambda} \right) \right]}{\mathbb{E}_{\mathbb{P}} \left[ \exp \left( -\frac{S(\tau)}{\lambda} \right) \right]}EQ∗[ϵt]=EP[exp(−λS(τ))]EP[ϵtexp(−λS(τ))]

此外
ut∗=EP[ϵtexp⁡(−S(τ)λ)]EP[exp⁡(−S(τ)λ)]=∫ϵt⋅exp⁡(−S(τ)λ)dP(τ)∫exp⁡(−S(τ)λ)dP(τ)≈1K∑k=1Kϵt(k)⋅exp⁡(−S(τ(k))λ)1K∑k=1Kexp⁡(−S(τ(k))λ)=1K∑k=1Kϵt(k)⋅w(k)1K∑k=1Kw(k)(exp 记为w)=∑k=1Kw(k)ϵt(k)∑j=1Kw(j)\begin{aligned} u_t^* &= \frac{\mathbb{E}{\mathbb{P}} \left[ \epsilon_t \exp \left( -\frac{S(\tau)}{\lambda} \right) \right]}{\mathbb{E}{\mathbb{P}} \left[ \exp \left( -\frac{S(\tau)}{\lambda} \right) \right]} \\ &= \frac{\displaystyle\int \epsilon_t \cdot \exp \left( -\frac{S(\tau)}{\lambda} \right) d\mathbb{P}(\tau)}{\displaystyle\int \exp \left( -\frac{S(\tau)}{\lambda} \right) d\mathbb{P}(\tau)} \\ &\approx \frac{\displaystyle\frac{1}{K} \sum_{k=1}^{K} \epsilon_t^{(k)} \cdot \exp \left( -\frac{S(\tau^{(k)})}{\lambda} \right)}{\displaystyle\frac{1}{K} \sum_{k=1}^{K} \exp \left( -\frac{S(\tau^{(k)})}{\lambda} \right)} \\ &= \frac{\displaystyle\frac{1}{K} \sum_{k=1}^{K} \epsilon_t^{(k)} \cdot w^{(k)}}{\displaystyle\frac{1}{K} \sum_{k=1}^{K} w^{(k)}} & \text{(exp 记为w)}\\ &= \frac{\displaystyle\sum_{k=1}^{K} w^{(k)} \epsilon_t^{(k)}}{\displaystyle\sum_{j=1}^{K} w^{(j)}} \end{aligned}ut∗=EP[exp(−λS(τ))]EP[ϵtexp(−λS(τ))]=∫exp(−λS(τ))dP(τ)∫ϵt⋅exp(−λS(τ))dP(τ)≈K1k=1∑Kexp(−λS(τ(k)))K1k=1∑Kϵt(k)⋅exp(−λS(τ(k)))=K1k=1∑Kw(k)K1k=1∑Kϵt(k)⋅w(k)=j=1∑Kw(j)k=1∑Kw(k)ϵt(k)(exp 记为w)

这里的w就是每条轨迹的权重


8. 数值稳定性处理

实际计算中,exp⁡(−S/λ)\exp(-S/\lambda)exp(−S/λ) 容易数值溢出。标准做法是减去最小代价:

β=min⁡kS(τ(k))\beta = \min_k S(\tau^{(k)})β=kminS(τ(k))

w(k)=exp⁡ ⁣(−S(τ(k))−βλ)w^{(k)} = \exp\!\left(-\frac{S(\tau^{(k)}) - \beta}{\lambda}\right)w(k)=exp(−λS(τ(k))−β)

此操作不改变归一化后的权重 w~(k)\tilde{w}^{(k)}w~(k),但有效避免了数值溢出问题。

Q.E.D.

相关推荐
2301_818419012 小时前
C++中的解释器模式变体
开发语言·c++·算法
ab1515172 小时前
3.25完成*23、*24、*28、*30、*33、*38、*39、*40
算法
颜酱2 小时前
回溯算法实战练习(3)
javascript·后端·算法
小王不爱笑1324 小时前
G1 GC 的核心基础:Region 模型的补充细节
java·jvm·算法
小王不爱笑1325 小时前
三色标记算法
算法
小O的算法实验室5 小时前
2026年AST SCI1区TOP,基于速度障碍法的多无人机三维避障策略,深度解析+性能实测
算法·论文复现·智能算法·智能算法改进
U-52184F695 小时前
深入理解“隐式共享”与“写时复制”:从性能魔法到内存深坑
java·数据库·算法
pp起床6 小时前
Part02:基本概念以及基本要素
大数据·人工智能·算法
lzh200409196 小时前
红黑树详解
算法