Delta Lab中国 · 广州

最优贝尔曼方程推导

• 4 分钟阅读 • 计算

一、 核心定义与准备

  1. 最优动作-价值函数 Q\*(st,at)Q_\*(s_t, a_t) 的定义:

    在状态 St=stS_t = s_t 采取动作 At=atA_t = a_t 之后,遵循最优策略 π\*\pi^\* 所能获得的期望最大累积折扣回报:

    Q∗(st,at)=max⁡πEπ[Ut  |  St=st,At=at]Q_*(s_t, a_t) = \max_{\pi} \mathbb{E}_{\pi} \left[ U_t \;\middle\vert{}\; S_t = s_t, A_t = a_t \right]
  2. 累积折扣回报 UtU_t 的递归展开:

    从 tt 时刻开始的未来回报定义为:

    Ut=Rt+γRt+1+γ2Rt+2+…U_t = R_t + \gamma R_{t+1} + \gamma^2 R_{t+2} + \dots

    提取公因式 γ\gamma,可以将其写成前后时刻的递归形式:

    Ut=Rt+γ(Rt+1+γRt+2+… )⏟Ut+1=Rt+γUt+1U_t = R_t + \gamma \underbrace{(R_{t+1} + \gamma R_{t+2} + \dots)}_{U_{t+1}} = R_t + \gamma U_{t+1}

二、 逐步推导过程

第一步:代入回报的递归式

将 Ut=Rt+γUt+1U_t = R_t + \gamma U_{t+1} 代入 Q∗(st,at)Q_*(s_t, a_t) 的期望定义中:

Q∗(st,at)=ERt,St+1,…[Rt+γUt+1  |  St=st,At=at]Q_*(s_t, a_t) = \mathbb{E}_{R_t, S_{t+1}, \dots} \left[ R_t + \gamma U_{t+1} \;\middle\vert{}\; S_t = s_t, A_t = a_t \right]

利用期望的线性性质,将公式拆分为两项:

Q∗(st,at)=ERt,St+1[Rt  |  St=st,At=at]+γ ESt+1,…[Ut+1  |  St=st,At=at]Q_*(s_t, a_t) = \mathbb{E}_{R_t, S_{t+1}} \left[ R_t \;\middle\vert{}\; S_t = s_t, A_t = a_t \right] + \gamma \, \mathbb{E}_{S_{t+1}, \dots} \left[ U_{t+1} \;\middle\vert{}\; S_t = s_t, A_t = a_t \right]

第二步:应用全期望公式处理第二项

对于第二项中的未来回报 Ut+1U_{t+1},其期望高度依赖于下一时刻系统到达的状态 St+1S_{t+1}。根据全期望公式,我们按 St+1S_{t+1} 的所有可能取值进行条件化展开:

E[Ut+1  |  St=st,At=at]=ESt+1[E[Ut+1  |  St=st,At=at,St+1=st+1]  |  St=st,At=at]\mathbb{E} \left[ U_{t+1} \;\middle\vert{}\; S_t = s_t, A_t = a_t \right] = \mathbb{E}_{S_{t+1}} \left[ \mathbb{E} \left[ U_{t+1} \;\middle\vert{}\; S_t = s_t, A_t = a_t, S_{t+1} = s_{t+1} \right] \;\middle\vert{}\; S_t = s_t, A_t = a_t \right]

根据马尔可夫决策过程(MDP)的马尔可夫性质,一旦下一状态 St+1=st+1S_{t+1} = s_{t+1} 已知,未来的轨迹就与过去的 St,AtS_t, A_t 条件独立。因此:

E[Ut+1  |  St=st,At=at,St+1=st+1]=E[Ut+1  |  St+1=st+1]\mathbb{E} \left[ U_{t+1} \;\middle\vert{}\; S_t = s_t, A_t = a_t, S_{t+1} = s_{t+1} \right] = \mathbb{E} \left[ U_{t+1} \;\middle\vert{}\; S_{t+1} = s_{t+1} \right]

此时,内层的期望恰好就是在状态 St+1S_{t+1} 下遵循最优策略的期望回报,即最优状态价值 V∗(St+1)V_*(S_{t+1})(或者将其与动作结合):

第三步:引入最优动作与贪婪选择(max⁡\max 操作)

在最优策略下,智能体在下一状态 St+1S_{t+1} 必然会选择那个能让未来价值最大化的动作。也就是说,下一时刻的动作不再是按某种概率随机抽取,而是进行了贪婪最大化:

max⁡A∈AQ∗(St+1,A)\max_{A \in \mathcal{A}} Q_*(S_{t+1}, A)

因此,原本对未来动作的期望被 max⁡\max 算子所取代。整个第二项关于未来的期望化简为:

ESt+1[max⁡A∈AQ∗(St+1,A)  |  St=st,At=at]\mathbb{E}_{S_{t+1}} \left[ \max_{A \in \mathcal{A}} Q_*(S_{t+1}, A) \;\middle\vert{}\; S_t = s_t, A_t = a_t \right]

三、 合并得到最终的最优贝尔曼方程

将推导出的各部分重新组合:

Q∗(st,at)=ERt,St+1[Rt+γ⋅max⁡A∈AQ∗(St+1,A)  |  St=st,At=at]Q_*(s_t, a_t) = \mathbb{E}_{R_t, S_{t+1}} \left[ R_t + \gamma \cdot \max_{A \in \mathcal{A}} Q_*(S_{t+1}, A) \;\middle\vert{}\; S_t = s_t, A_t = a_t \right]

写成更紧凑的求和/积分展开形式(明确写出环境的状态转移概率 p(st+1,r∣st,at)p(s_{t+1}, r \mid s_t, a_t))为:

Q∗(st,at)=∑st+1∑rp(st+1,r∣st,at)[r+γ⋅max⁡A∈AQ∗(st+1,A)]Q_*(s_t, a_t) = \sum_{s_{t+1}} \sum_{r} p(s_{t+1}, r \mid s_t, a_t) \left[ r + \gamma \cdot \max_{A \in \mathcal{A}} Q_*(s_{t+1}, A) \right]

:bulb: 核心结论总结

文章标签: 计算

上一篇 : AI生成PPT的5种方案
下一篇 : 算力如何选择
留言