本文是对 CS287-FA19 Advanced Robotics at UC Berkeley 课程
Lecture 3 Solving Continuous MDPs with Discretization 的个人解读
欢迎交流~
本文内容是关于上面这一页板书的理解
问题背景
一个(离散) MDP,包含:
- 状态集合: S S S
- 动作集合: A A A
- 转移概率: T ( s , a , s ′ ) = P ( s t + 1 = s ′ ∣ s t = s , a t = a ) T(s,a,s') = P(st+1 = s' | st = s, at = a) T(s,a,s′)=P(st+1=s′∣st=s,at=a)
- 即时奖励: R ( s , a , s ′ ) 或 R ( s , a ) R(s,a,s') 或 R(s,a) R(s,a,s′)或R(s,a)
- 折扣因子: γ ∈ [ 0 , 1 ] \gamma ∈ [0, 1] γ∈[0,1]
- 初始状态分布: μ 0 ( s ) = P ( s 0 = s ) μ₀(s) = P(s₀ = s) μ0(s)=P(s0=s)
目标是最大化期望的累积折扣奖励:
max π E [ ∑ t = 0 ∞ γ t R ( s t , a t , s t + 1 ) ] 其中 a t ∼ π ( ⋅ ∣ s t ) . \max_{\pi} \mathbb{E}\left[\sum_{t=0}^{\infty} \gamma^t R(s_t, a_t, s_{t+1})\right] \text{ 其中 } a_t \sim \pi(\cdot|s_t). πmaxE[t=0∑∞γtR(st,at,st+1)] 其中 at∼π(⋅∣st).
如何将求解最优策略的问题写成一个带有线性约束的优化问题❓
1. 占用测度 λ ( s , a ) \lambda(s,a) λ(s,a)的定义
在无限视域、带有折扣的设定下,定义占用测度(也称为折扣访问频率)为
λ ( s , a ) = ∑ t = 0 ∞ γ t P ( s t = s , a t = a ) , \lambda(s,a)\quad=\quad\sum_{t=0}^\infty\gamma^tP\big(s_t=s,\:a_t=a\big), λ(s,a)=t=0∑∞γtP(st=s,at=a),
即在策略 π \pi π下,带有折扣 γ t \gamma^t γt考虑了从 t = 0 t=0 t=0到无穷远将来时刻,“访问”到 ( s , a ) (s,a) (s,a)的"总权重"(概率累加并乘以折扣)。可以把它理解为:
- γ t \gamma^t γt 折扣因子相当于"越往后越不重要”。
- P ( s t = s , a t = a ) P( s_t= s, a_t= a) P(st=s,at=a) 是第 t t t 步处在状态 s s s 并采取动作 a a a 的概率。
在最优解中,这个 λ ∗ ( s , a ) \lambda^*(s,a) λ∗(s,a)会告诉我们在无限时间内 (带折扣权重)"总共"访问 ( s , a ) (s,a) (s,a)的度量。
2 将期望的累积奖励写成对 λ ( s , a ) \lambda(s,a) λ(s,a)的求和
原先的目标:
∑ t = 0 ∞ γ t E [ R ( s t , a t , s t + 1 ) ] \sum_{t=0}^{\infty}\gamma^{t}\mathbb{E}[R(s_t,a_t,s_{t+1})] ∑t=0∞γtE[R(st,at,st+1)].
现在把期望拆分到每个 ( s , a ) (s,a) (s,a) 上,
因为“某状态-动作”出现的概率正是 P ( s t = s , a t = a ) P(s_t=s,a_t=a) P(st=s,at=a)。
- 把时刻 t 的概率分量汇总到 λ ( s , a ) \lambda(s,a) λ(s,a):
∑ t = 0 ∞ γ t P ( s t = s , a t = a ) = λ ( s , a ) . \sum_{t=0}^{\infty}\gamma^{t}P(s_t=s,a_t=a)=\lambda(s,a). ∑t=0∞γtP(st=s,at=a)=λ(s,a). - 期望奖励的关键:当“状态为 s、动作为 a”发生后,下一步到达 s t + 1 s_{t+1} st+1 的分布是由转移概率 T ( s , a , s ′ ) T(s,a,s') T(s,a,s′) 给定,因此
E [ R ( s t , a t , s t + 1 ) ∣ s t = s , a t = a ] = ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) . \mathbb{E}[R(s_t,a_t,s_{t+1})|s_t=s,a_t=a]=\sum_{s'}T(s,a,s')R(s,a,s'). E[R(st,at,st+1)∣st=s,at=a]=∑s′T(s,a,s′)R(s,a,s′). - 因此:若考虑所有 ( s , a ) (s,a) (s,a)的访问,期望总奖励可写成
∑ s , a ∑ t = 0 ∞ γ t P ( s t = s , a t = a ) × E [ R ( s , a , s t + 1 ) ∣ s , a ] . \sum_{s,a}\sum_{t=0}^{\infty}\gamma^{t}P(s_t=s,a_t=a)\times\mathbb{E}[R(s,a,s_{t+1})|s,a]. ∑s,a∑t=0∞γtP(st=s,at=a)×E[R(s,a,st+1)∣s,a].
将上面期望替换成 ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) \sum_{s'}T(s,a,s')R(s,a,s') ∑s′T(s,a,s′)R(s,a,s′), 就得到
∑ s , a ( ∑ t = 0 ∞ γ t P ( s t = s , a t = a ) ) ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) . \sum_{s,a}( \sum_{t=0}^{\infty}\gamma^{t}P(s_t=s,a_t=a) )\sum_{s'}T(s,a,s')R(s,a,s'). ∑s,a(∑t=0∞γtP(st=s,at=a))∑s′T(s,a,s′)R(s,a,s′).
注意中间那一大括号正好是我们定义的 λ ( s , a ) \lambda(s,a) λ(s,a)。于是变成
∑ s , a , s ′ λ ( s , a ) T ( s , a , s ′ ) R ( s , a , s ′ ) . \sum_{s,a,s'}\lambda(s,a)T(s,a,s')R(s,a,s'). ∑s,a,s′λ(s,a)T(s,a,s′)R(s,a,s′).
这就是所谓的三重求和形式(对 s , a , s ′ s,a,s' s,a,s′的求和)。 - 故,最大化的目标可以改写为
max λ ( ⋅ , ⋅ ) ∑ s , a , s ′ λ ( s , a ) T ( s , a , s ′ ) R ( s , a , s ′ ) . \max_{\lambda(\cdot,\cdot)}\sum_{s,a,s'}\lambda(s,a)T(s,a,s')R(s,a,s'). maxλ(⋅,⋅)∑s,a,s′λ(s,a)T(s,a,s′)R(s,a,s′).
这样转化的含义是:如果你知道了“在策略 π \pi π下折扣访问 ( s , a ) (s,a) (s,a)的量是多少,就能直接算出这个策略对累积奖励的贡献,从而把“找最优策略”转换为“找一组 λ ∗ ( s , a ) \lambda*(s,a) λ∗(s,a)使这个和最大”。
线性规划等价
首先回顾线性规划的定义和要求,
线性规划(LP)通常的标准要素包括:
- 决策变量:我们要在它上面做最优决策;
- 目标函数:对决策变量的线性组合进行最大化或最小化;
- 约束:对决策变量的线性约束(包括不等式/等式);
- 非负性
对照我们的占用测度表达:
决策变量与目标函数
• 决策变量: λ ( s , a ) \lambda(s, a) λ(s,a)。
• 目标函数:
∑ s , a , s ′ λ ( s , a ) T ( s , a , s ′ ) R ( s , a , s ′ ) \sum_{s, a, s'} \lambda(s, a) T(s, a, s') R(s, a, s') s,a,s′∑λ(s,a)T(s,a,s′)R(s,a,s′)
这对 λ \lambda λ 来说是一个线性项,因为对每个 ( s , a ) , λ ( s , a ) (s, a), \lambda(s, a) (s,a),λ(s,a) 只是被一个常数( ∑ s ′ T ( s , a , s ′ ) R ( s , a , s ′ ) \sum_{s'} T(s, a, s') R(s, a, s') ∑s′T(s,a,s′)R(s,a,s′))乘了一下再加和起来。
约束项
流量平衡约束
在无限时域、折扣设定下,流量平衡约束常写作:
∀ s ′ : ∑ a ′ λ ( s ′ , a ′ ) = μ 0 ( s ′ ) + γ ∑ s , a λ ( s , a ) T ( s , a , s ′ ) . \forall s': \sum_{a'} \lambda(s',a') = \mu_0(s') + \gamma \sum_{s,a} \lambda(s,a) T(s,a,s'). ∀s′:a′∑λ(s′,a′)=μ0(s′)+γs,a∑λ(s,a)T(s,a,s′).
含义是:
(左侧)下一个时刻带折扣访问到状态 s ′ s' s′的总量",等于
(右侧)初始就处于 s ′ s' s′的量 + 从上一时刻各状态动作转移到 s’ 的量(再乘以折扣 λ \lambda λ)"。
在某种意义上,它像一个“流量守恒”:
- 左边:在状态 s’ 上的占用总和(对所有动作 a’ 求和,得到“访问状态 s’ 的折扣频率”)。
- 右边:初始分布 μ 0 ( s ′ ) μ₀(s') μ0(s′) + 从前一轮“状态 - 动作 ( s , a ) (s,a) (s,a)”里以概率 T ( s , a , s ′ ) T(s,a,s') T(s,a,s′) 跳到 s ′ s' s′的折扣流量。
• 线性规划约束:
∑ a ′ λ ( s ′ , a ′ ) − γ ∑ s , a λ ( s , a ) T ( s , a , s ′ ) = μ 0 ( s ′ ) , \sum_{a'} \lambda(s', a') - \gamma \sum_{s, a} \lambda(s, a) T(s, a, s') = \mu_0(s'), a′∑λ(s′,a′)−γs,a∑λ(s,a)T(s,a,s′)=μ0(s′),
是一个标准的线性等式约束( λ \lambda λ 仅以一次幂出现,与 λ ( s , a ) \lambda(s, a) λ(s,a) 成线性关系)。
• 非负性约束: λ ( s , a ) ≥ 0 \lambda(s, a) \geq 0 λ(s,a)≥0。
小结
所有这些都满足“线性规划”的结构:
- 目标是 c ⊤ x \mathbf{c}^\top \mathbf{x} c⊤x 形式;
- 约束是 A x = b A\mathbf{x} = \mathbf{b} Ax=b 或 A x ≤ b A\mathbf{x} \leq \mathbf{b} Ax≤b 之类的线性关系;
- 非负性 ( x ≥ 0 \mathbf{x} \geq 0 x≥0) 。
因此,把 MDP(在折扣条件下)最优策略问题转化为“占用测度形式的 LP”,是完全符合线性规划的要求的。
从最优解 λ ∗ \lambda^* λ∗得到最优策略
如果想取一个确定性策略(板书中直接记成 Π ∗ ( s ) = arg max a λ ( s , a ) \Pi^*(s)=\arg\max_a\lambda(s,a) Π∗(s)=argmaxaλ(s,a)),那就等价于选使 λ ∗ ( s , a ) \lambda^*(s,a) λ∗(s,a)最大的动作 a a a。