当前位置: 首页 > news >正文

《强化学习数学原理》学习笔记1——贝尔曼期望公式推导

首先看一下贝尔曼期望方程:
vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s],s∈Sv_\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma v_\pi(S_{t+1}) \mid S_t = s \right], \quad s \in \mathcal{S}vπ(s)=Eπ[Rt+1+γvπ(St+1)St=s],sS
要推导贝尔曼期望方程,首先要明确以下核心概念:

  • 状态价值函数 vπ(s)v_\pi(s)vπ(s) :在策略 π\piπ 下,从状态 sss 出发可以获得的累计折扣奖励的期望,即:
    vπ(s)=Eπ[Gt∣St=s](1)v_\pi(s) = \mathbb{E}_\pi \left[ G_t \mid S_t = s \right] \tag{1}vπ(s)=Eπ[GtSt=s](1)
    其中,Gt=Rt+1+γRt+2+γ2Rt+3+…G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \ldotsGt=Rt+1+γRt+2+γ2Rt+3+,是指“从时刻 ttt 开始,累积的折扣奖励”,γ∈[0,1)\gamma \in [0,1)γ[0,1)是折扣因子,用来调整模型对于近期和远期奖励的重视程度,避免回报发散到无穷大;
  • 策略π(a∣s)\pi(a \mid s)π(as):在状态 sss 下选择动作 aaa 的概率;
  • 状态转移概率p(s′∣s,a)p(s' \mid s,a)p(ss,a):在状态 sss 执行动作 aaa 后,转移到状态 s′s's 的概率;
  • 即时奖励(immediate reward)Rt+1R_{t+1}Rt+1:在状态 sss 执行动作 aaa 后,立即获得的奖励值。

从累积奖励 GtG_tGt 的公式中可以看出,GtG_tGt 可拆分为即时奖励 Rt+1R_{t+1}Rt+1后续累积奖励的折扣 γGt+1\gamma G_{t+1}γGt+1,即:

Gt=Rt+1+γGt+1(2)G_t = R_{t+1} + \gamma G_{t+1} \tag{2}Gt=Rt+1+γGt+1(2)

由式(1),对两边取 “在 St=sS_t = sSt=s 条件下的期望”,可得状态价值函数vπ(s)v_\pi(s)vπ(s)

vπ(s)=Eπ[Gt∣St=s]=Eπ[Rt+1+γGt+1∣St=s](3)v_\pi(s) = \mathbb{E}_\pi \left[ G_t \mid S_t = s \right] = \mathbb{E}_\pi \left[ R_{t+1} + \gamma G_{t+1} \mid S_t = s \right] \tag{3}vπ(s)=Eπ[GtSt=s]=Eπ[Rt+1+γGt+1St=s](3)

根据期望的线性性质 E[X+Y]=E[X]+E[Y]\mathbb{E}[X + Y] = \mathbb{E}[X] + \mathbb{E}[Y]E[X+Y]=E[X]+E[Y],式(3)可拆为:

vπ(s)=Eπ[Rt+1∣St=s]+γEπ[Gt+1∣St=s](4) v_\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} \mid S_t = s \right] + \gamma \mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] \tag{4}vπ(s)=Eπ[Rt+1St=s]+γEπ[Gt+1St=s](4)
此时我们分析一下 Eπ[Gt+1∣St=s]\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right]Eπ[Gt+1St=s]:

  • Gt+1G_{t+1}Gt+1:从时刻 t+1t + 1t+1 开始,往后所有时刻的“累积折扣奖励”总和;
  • Eπ[⋅∣St=s]\mathbb{E}_\pi \left[ \cdot \mid S_t = s \right]Eπ[St=s]:在策略 π\piπ 下,已知时刻 ttt 处于状态 sss 时,对某个量取期望;

同时引入一个变量:

  • vπ(s′)v_\pi(s')vπ(s):表示在时刻 t+1t+1t+1 ,策略 π\piπ 下,从状态 s′s's 出发,能拿到的累积折扣奖励的期望。

由式(1)很容易可以推导出:
vπ(s′)=Eπ[Gt+1∣St+1=s′](5)v_\pi(s') = \mathbb{E}_\pi \left[ G_{t+1} \mid S_{t+1} = s' \right] \tag{5}vπ(s)=Eπ[Gt+1St+1=s](5)
Eπ[Gt+1∣St=s]\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right]Eπ[Gt+1St=s] 做全概率展开,我们需要考虑:从时刻 ttt 处于状态 sss 出发,时刻 t+1t + 1t+1 会转移到哪个状态 St+1S_{t+1}St+1(因为状态转移是随机的,依赖策略 π\piπ 和转移概率 ppp)。

根据期望的全概率公式(对所有可能的后续状态 s′s's 求和),有:

Eπ[Gt+1∣St=s]=∑s′Eπ[Gt+1∣St=s,St+1=s′]⋅Pπ(St+1=s′∣St=s)(5)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] = \sum_{s'} \mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right] \cdot P_\pi \left( S_{t+1} = s' \mid S_t = s \right) \tag{5}Eπ[Gt+1St=s]=sEπ[Gt+1St=s,St+1=s]Pπ(St+1=sSt=s)(5)

其中:

  • ∑s′…\sum_{s'} \dotss :对 “时刻 t+1t + 1t+1 所有可能的状态 s′s's” 求和。
  • Eπ[Gt+1∣St=s,St+1=s′]\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right]Eπ[Gt+1St=s,St+1=s]:已知时刻 ttt 在 状态 sss 且时刻 t+1t + 1t+1 在状态 s′s's 时,Gt+1G_{t+1}Gt+1 的期望。
  • Pπ(St+1=s′∣St=s)P_\pi \left( S_{t+1} = s' \mid S_t = s \right)Pπ(St+1=sSt=s):已知时刻 ttt 在状态 sss 时,时刻 t+1t + 1t+1 转移到状态 s′s's 的概率。

根据马尔可夫性质,当已知 St+1=s′S_{t+1} = s'St+1=s 时,Gt+1G_{t+1}Gt+1 的期望与St=sS_t = sSt=s无关(因为 Gt+1G_{t+1}Gt+1 是从 t+1t + 1t+1 开始的累积奖励,仅依赖 t+1t + 1t+1 及之后的状态)。因此:

Eπ[Gt+1∣St=s,St+1=s′]=Eπ[Gt+1∣St+1=s′](6)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right] = \mathbb{E}_\pi \left[ G_{t+1} \mid S_{t+1} = s' \right] \tag{6}Eπ[Gt+1St=s,St+1=s]=Eπ[Gt+1St+1=s](6)

而根据式(5),Eπ[Gt+1∣St+1=s′]=vπ(s′)\mathbb{E}_\pi \left[ G_{t+1} \mid S_{t+1} = s' \right] = v_\pi(s')Eπ[Gt+1St+1=s]=vπ(s)。因此:

Eπ[Gt+1∣St=s,St+1=s′]=vπ(s′)(7)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s, S_{t+1} = s' \right] = v_\pi(s') \tag{7}Eπ[Gt+1St=s,St+1=s]=vπ(s)(7)
将式(7)代入式(5):

Eπ[Gt+1∣St=s]=∑s′vπ(s′)⋅Pπ(St+1=s′∣St=s)(8)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] = \sum_{s'} v_\pi(s') \cdot P_\pi \left( S_{t+1} = s' \mid S_t = s \right) \tag{8}Eπ[Gt+1St=s]=svπ(s)Pπ(St+1=sSt=s)(8)

注意到式(8)右边的求和式,正是对 vπ(St+1)v_\pi(S_{t+1})vπ(St+1)St=sS_t = sSt=s 条件下的期望(因为 St+1S_{t+1}St+1 是随机变量,取值为 s′s's,概率为 Pπ(St+1=s′∣St=s)P_\pi \left( S_{t+1} = s' \mid S_t = s \right)Pπ(St+1=sSt=s))。用期望符号表示即为:

∑s′vπ(s′)⋅Pπ(St+1=s′∣St=s)=Eπ[vπ(St+1)∣St=s](9)\sum_{s'} v_\pi(s') \cdot P_\pi \left( S_{t+1} = s' \mid S_t = s \right) = \mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right] \tag{9}svπ(s)Pπ(St+1=sSt=s)=Eπ[vπ(St+1)St=s](9)
结合式(8)和式(9)得:
Eπ[Gt+1∣St=s]=Eπ[vπ(St+1)∣St=s](10)\mathbb{E}_\pi \left[ G_{t+1} \mid S_t = s \right] = \mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right] \tag{10}Eπ[Gt+1St=s]=Eπ[vπ(St+1)St=s](10)
式(10)的核心思想可以理解为:状态价值函数本身就是 “从该状态出发的总奖励期望”,所以 “对未来总奖励的期望”,可以转化为 “对未来状态的价值的期望”。
要计算 Eπ[vπ(St+1)∣St=s]\mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right]Eπ[vπ(St+1)St=s],需考虑策略 π\piπ 选择动作状态转移概率 ppp 的联合作用:

  • 首先,策略 π\piπ 决定在状态 sss 下选择动作 aaa 的概率为 π(a∣s)\pi(a \mid s)π(as)
  • 之后,状态转移概率 p(s′∣s,a)p(s' \mid s, a)p(ss,a) 决定执行动作 aaa 后,从 sss 转移到 s′s's 的概率;
  • 最后,对所有可能的动作 aaa 和转移后的状态 s′s's 求和,得到期望。

因此:

Eπ[vπ(St+1)∣St=s]=∑aπ(a∣s)∑s′p(s′∣s,a)vπ(s′)(11)\mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right] = \sum_{a} \pi(a \mid s) \sum_{s'} p(s' \mid s, a) v_\pi(s') \tag{11}Eπ[vπ(St+1)St=s]=aπ(as)sp(ss,a)vπ(s)(11)
将式(11)带入式(4)可得:

Eπ[Gt∣St=s]⏟vπ(s)=Eπ[Rt+1∣St=s]+γ∑aπ(a∣s)∑s′p(s′∣s,a)vπ(s′)⏟Eπ[vπ(St+1)∣St=s](12)\underbrace{\mathbb{E}_\pi \left[ G_t \mid S_t = s \right]}_{v_\pi(s)} = \mathbb{E}_\pi \left[ R_{t+1} \mid S_t = s \right] + \gamma \underbrace{\sum_{a} \pi(a \mid s) \sum_{s'} p(s' \mid s, a) v_\pi(s')}_{\mathbb{E}_\pi \left[ v_\pi(S_{t+1}) \mid S_t = s \right]} \tag{12}vπ(s)Eπ[GtSt=s]=Eπ[Rt+1St=s]+γEπ[vπ(St+1)St=s]aπ(as)sp(ss,a)vπ(s)(12)

再利用期望的简洁表示 E[X∣Y=y]\mathbb{E}[X \mid Y = y]E[XY=y],可将上式简化为:

vπ(s)=Eπ[Rt+1+γvπ(St+1)∣St=s],s∈S(13)v_\pi(s) = \mathbb{E}_\pi \left[ R_{t+1} + \gamma v_\pi(S_{t+1}) \mid S_t = s \right], \quad s \in \mathcal{S} \tag{13}vπ(s)=Eπ[Rt+1+γvπ(St+1)St=s],sS(13)

这就是贝尔曼期望方程,它的含义是:“状态 sss 的价值,等于即时奖励 + 后续状态价值的折扣期望”。

http://www.dtcms.com/a/406627.html

相关文章:

  • 9.9元奶茶项目:matlab+FPGA的cordic算法(双曲线向量模式)计算对数log
  • 发布网站需要备案安徽省住房城乡建设厅官方网站
  • 初识MYSQL —— 数据库基础
  • PHP 8.5 升级指南 了解即将废弃的 11 个功能和完整迁移方案
  • 月饼杯II
  • OpenHarmony位置服务模块架构设计
  • 河南制作网站国外wordpress主题
  • C# WPF DataGrid 数据绑定时的单元格编辑类型模板
  • 天津微网站做年报的网站
  • Marin说PCB之POC电路layout设计仿真案例---13
  • 随堂笔记2025-925
  • 龙岩建网站wordpress php7 500
  • 阿里云 iis 多个网站建筑公司资质
  • Python读取MongoDB的JSON字典和列表对象转为字符串
  • 论证框架的四个核心问题(概念界定/基础理论/研究模型/研究假设)的因果链
  • IO流与网络编程
  • 案例18-新增搜索留言功能
  • Codeforces Round 1047 (Div. 3) F题题解记录
  • 基于 Redis 的分布式锁
  • 郑州视频网站建设wordpress登录去不了后台
  • 淮安做网站杨凯企业建站官网运营
  • django 使用绑定多个数据库实现数据的同步
  • 面试复习题---Android技术专家3
  • 云手机与人工智能之间的关系
  • 做网站对电脑要求高吗荆州市住房和城乡建设厅官方网站
  • Python 高效实现 PDF 转 Word:告别手动复制粘贴
  • 9.9元奶茶项目:matlab+FPGA的cordic算法(向量模式)计算相位角
  • 广州越秀公司网站建设电子商务基础网站建设与维护单项选择题
  • 网站技术培训学校世界知名网站
  • 专业做消防工程师的正规网站做网站百度推广多少钱