强化学习-贝尔曼最优公式
贝尔曼最优公式数学理论与求解
提示:本章涉及一些定理等先验知识,故建议读者可以观看原视频,该篇不作任何的数学证明。
系列文章
文章目录
前沿
本章核心:1️⃣ 核心概念:optimal state value 和 optimal policy;2️⃣ 基础工具:贝尔曼最优公式Bellman optimality equation, BOE。本文目的:熟悉概念、掌握贝尔曼最优公式的数学原理以及学会求解贝尔曼最优公式。
一、最优策略(optimal policy)
1.1 什么是optimal policy?
最优策略(optimal policy)的定义如下:
A policy π ∗ \pi^* π∗ is optimal if v π ∗ ( s ) ≥ v π ( s ) v_{\pi^*}(s) \geq v_\pi(s) vπ∗(s)≥vπ(s) for all s s s and for any other policy π \pi π.
上述的意思是:如果对任意其他策略 π \pi π,对于所有状态 s s s 都有 v π ∗ ( s ) ≥ v π ( s ) v_{\pi^*}(s) \geq v_\pi(s) vπ∗(s)≥vπ(s),那么策略 π ∗ \pi^* π∗ 就是最优的。
由此产生的问题:1.
optimal policy是否存在?
存在,依据是:contraction mapping Theorem2.
optimal policy是否唯一?唯一,依据是:
contraction mapping Theorem3.
optimal policy是确定性的还是随机性的?确定性的
4. 如何得到
optimal policy?选取状态中最大的
action value作为下一步的action
二、贝尔曼最优公式(Bellman optimality equation, BOE)
2.1 贝尔曼最优公式
通过字面意思便可知:贝尔曼最优公式是上一章节中贝尔曼公式的特殊情况,其数学表达式如下:
- elementwise form:
v π ( s ) = m a x π Σ a π ( a ∣ s ) ( Σ r p ( r ∣ s , a ) r + γ Σ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) ) , ∀ s ∈ S = m a x π Σ π ( a ∣ s ) q ( s , a ) , ∀ s ∈ S \begin{aligned} v_\pi(s)&=\textcolor{blue}{\underset{\pi}{max}}\underset{a}\Sigma\textcolor{blue}{\pi(a|s)}(\underset{r}\Sigma p(r|s,a)r+\gamma\underset{s'}\Sigma p(s'|s,a)\textcolor{blue}{v_\pi(s')}), \quad \forall_s\in S \\ &=\textcolor{blue}{\underset{\pi}{max}}\Sigma\pi(a|s)q(s,a), \quad \forall_s\in S \end{aligned} vπ(s)=πmaxaΣπ(a∣s)(rΣp(r∣s,a)r+γs′Σp(s′∣s,a)vπ(s′)),∀s∈S=πmaxΣπ(a∣s)q(s,a),∀s∈S- matrix-vector form:
v = m a x π ( r π + γ P π v ) \begin{aligned} \textcolor{red}{ v = \underset{\pi}{max}(r_\pi + \gamma P_\pi v)} \end{aligned} v=πmax(rπ+γPπv)
2.2 如何求解贝尔曼最优公式?
2.2.1 求解贝尔曼最优公式前置知识
- 如何从一个等式中求解2个未知量?(如何处理等式右边的 m a x π max_\pi maxπ)
一个例子: x = m a x a ( 2 x − 1 − a 2 ) x = \underset{a}{max}(2x-1-a^2) x=amax(2x−1−a2),要想求解该等式,我们可以将得出上述等式的右侧可写为: m a x a ( 2 x − 1 − a 2 ) = m a x a ( 2 x − 1 ) 2 \underset{a}{max}(2x-1-a^2) =\underset{a}{max}(2x-1)^2 amax(2x−1−a2)=amax(2x−1)2,随后可得当 a = 0 a=0 a=0时等式最大,因此,对于可求得原等式的值为: a = 0 、 x = 1 a=0、x=1 a=0、x=1。
同理,: v π ( s ) = m a x π Σ π ( a ∣ s ) q ( s , a ) v_\pi(s)=\textcolor{blue}{\underset{\pi}{max}}\Sigma\pi(a|s)q(s,a) vπ(s)=πmaxΣπ(a∣s)q(s,a) 为了使右边等式取得最大值,只需要在当前的状态下选取最大的action value即可,对应策略 π \pi π的表示如下:
π = { 1 a = a ∗ 0 a ≠ a ∗ \pi=\left\{ \begin{aligned} 1\qquad a=a^*\\ 0\qquad a\neq a^* \end{aligned} \right. π={1a=a∗0a=a∗
这里 a ∗ a^* a∗表示在该状态下计算出来的最大的action value对应的动作,即 a ∗ = a r g m a x a q ( s ∣ a ) a^*=argmax_aq(s|a) a∗=argmaxaq(s∣a)。 - Contraction mapping theorem
1️⃣ fixed point: 如果对于一个函数映射关系 f : X → X f:X\rightarrow X f:X→X 有 f ( x ) = x , ( x ∈ X ) f(x)=x, (x\in X) f(x)=x,(x∈X) ,则 x x x是一个不动点;
2️⃣ contraction mapping (or contraction function): 如果函数 f f f满足 ∥ f ( x 1 ) − f ( x 2 ) ∥ ⩽ γ ∥ x 1 − x 2 ∥ , γ ∈ ( 0 , 1 ) \|f(x_1)-f(x_2)\|\leqslant\gamma\|x_1-x_2\|,\quad \gamma\in(0,1) ∥f(x1)−f(x2)∥⩽γ∥x1−x2∥,γ∈(0,1),那么函数 f f f是contraction mapping。
3️⃣contraction mapping的性质:- Existence: 存在不动点 x ∗ x^* x∗,满足 f ( x ∗ ) = x ∗ f(x^*)=x^* f(x∗)=x∗;
- Uniqueness: 不动点 x ∗ x^* x∗是唯一的;
- Algorithm: Consider a sequence { x k } \{x_k\} {xk} where x k + 1 = f ( x k ) x_{k+1} = f(x_k) xk+1=f(xk), then x k → x ∗ x_k\rightarrow x^* xk→x∗ as k → ∞ k\rightarrow\infty k→∞. Moreover, the convergence rate is exponentially fast.
2.2.2 求解贝尔曼最优公式
BOE表达式: v = m a x π ( r π + γ P π v ) v=max_\pi(r_\pi+\gamma P_\pi v) v=maxπ(rπ+γPπv),可改写为 f ( v ) : = m a x a ( r π + γ P π v ) f(v):=\underset{a}{max}(r_\pi+\gamma P_\pi v) f(v):=amax(rπ+γPπv),然后,贝尔曼最优公式变为: v = f ( v ) v=f(v) v=f(v)。因此,可以通过Contraction Mapping Theorem来求解贝尔曼最优公式,因为其满足该理论,即 f ( v ) f(v) f(v)是一个contraction mapping【证明过程感兴趣的可以查阅该作者的书籍,这里不再进行证明】。
小结及参考资料
- 小结
贝尔曼最优公式的两种表达方式如下:
- elementwise form: v π ( s ) = m π a x Σ a π ( a ∣ s ) ( Σ r p ( r ∣ s , a ) r + γ Σ s ′ p ( s ′ ∣ s , a ) v π ( s ′ ) ) , ∀ s ∈ S v_\pi(s)=\textcolor{blue}{\underset{\pi}max}\underset{a}\Sigma\textcolor{blue}{\pi(a|s)}(\underset{r}\Sigma p(r|s,a)r+\gamma\underset{s'}\Sigma p(s'|s,a)\textcolor{blue}{v_\pi(s')}), \quad \forall_s\in S vπ(s)=πmaxaΣπ(a∣s)(rΣp(r∣s,a)r+γs′Σp(s′∣s,a)vπ(s′)),∀s∈S
- matrix-vector form: v = m a x π ( r π + γ P π v ) \textcolor{red}{ v = \underset{\pi}{max}(r_\pi + \gamma P_\pi v)} v=πmax(rπ+γPπv)
以上就是今天要讲的内容,本文仅仅对
贝尔曼最优公式做了简单的梳理,强烈推荐大家去看原视频进行细节的理解。
- 参考资料
1、贝尔曼公式视频讲解
更多推荐
所有评论(0)