强化学习的数学原理-03贝尔曼最优公式
时策略又会发生变化,策略会变得非常短视,更具体地说策略只会关注。求解贝尔曼最优公式就是已知红色量求出上面公式中黑色的量。有了上面的压缩映射定理就可以解决贝尔曼最优公式了。求解不动点的算法:这是一个迭代式的算法,不断令。,同时收敛的速度会非常快(以指数的速度收敛),这样导致的结果可能是采用的策略根本到达不了。这个方程,求解这个方程就需要下面的知识了。,那么贝尔曼最优公式就可以利用上面的。基于上面的定
文章目录
最优策略和公式推导
首先定义一个策略比另一个策略好:
v π 1 ( s ) ≥ v π 2 ( s ) f o r a l l s ∈ S v_{\pi_{1}}(s) \ge v_{\pi_{2}}(s) \quad for \quad all \quad s \in S vπ1(s)≥vπ2(s)foralls∈S
如何有上面式子成立,那么就说 π 1 优于 π 2 \pi_1优于\pi_2 π1优于π2
基于上面的定义,于是就可以定义最优
对于所有的状态s,和所有的策略 π \pi π都有下面的式子成立
v π ∗ ( s ) ≥ v π ( s ) v_{\pi_*}(s) \ge v_{\pi}(s) vπ∗(s)≥vπ(s)
那么 π ∗ \pi_* π∗就是最优的(optimal)
贝尔曼最优公式:
v ( s ) = max π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) + γ ∑ s ′ p ( s ′ ∣ s , a ) v ( s ′ ) ) , ∀ s ∈ S = max π ∑ a π ( a ∣ s ) q ( s , a ) , ∀ s ∈ S \begin{align*} v(s)&=\max_{\pi}\sum_{a}\pi(a \mid s)\left( \sum_rp(r \mid s, a) + \gamma \sum_{s^{'}} p(s^{'} \mid s, a)v(s^{'}) \right), \forall s \in S \\ &= \max_{\pi} \sum_a \pi(a \mid s) q(s, a), \forall s \in S \\ \end{align*} v(s)=πmaxa∑π(a∣s) r∑p(r∣s,a)+γs′∑p(s′∣s,a)v(s′) ,∀s∈S=πmaxa∑π(a∣s)q(s,a),∀s∈S
对于贝尔曼最优公式实际上是一个最优化问题
我们已知的有 p ( r ∣ s , a ) , p ( s ′ ∣ s , a ) p(r \mid s, a), p(s^{'} \mid s, a) p(r∣s,a),p(s′∣s,a)
v ( s ) , v ( s ′ ) v(s),v(s^{'}) v(s),v(s′)是未知的并且需要求解的
对于贝尔曼公式 π \pi π是已知到,对于贝尔曼最优公式 π \pi π是未知的需要求解的。
贝尔曼最优公式的矩阵形式
v = max π ( r π + γ P π v ) v= \max_{\pi} (r_{\pi} + \gamma P_{\pi} v) v=πmax(rπ+γPπv)
- 贝尔曼最优公式(BOE)非常elegant,它的形式非常简介,可以刻画最优的策略和最优的state value
右侧最优化问题
如何求解贝尔曼最优公式?
考虑下面的问题:
t w o v a r i b l e x , a ∈ R . two \: varible \: x, a \in \mathbb{R}. twovariblex,a∈R.
x = max a ( 2 x − 1 − a 2 ) . x=\max_a(2x-1-a^2). x=amax(2x−1−a2).
上面的式子中也是含有两个未知量
先看右边的部分当 a = 0 a=0 a=0时达到最大值 2 x − 1 2x-1 2x−1
然后将 a = 0 a=0 a=0带入等式右边得到 x = 2 x − 1 x=2x-1 x=2x−1于是就求解出了 x = 1 x=1 x=1
于是 a = 0 , x = 1 a=0,x=1 a=0,x=1就是这个公式的解.
下面解决贝尔曼最优方程
v ( s ) = max π ∑ a π ( a ∣ s ) q ( s , a ) v(s)=\max_{\pi}\sum_a\pi(a \mid s) q(s,a) v(s)=πmaxa∑π(a∣s)q(s,a)
考虑我们有3个 q q q也就是 q 1 、 q 2 、 q 3 ∈ R q_1、q_2、q_3 \in \mathbb{R} q1、q2、q3∈R找 c 1 ∗ 、 c 2 ∗ 、 c 3 ∗ c_1^*、c_2^*、c_3^* c1∗、c2∗、c3∗使得 c 1 q 1 + c 2 q 2 + c 3 q 3 c_1q_1+c_2q_2+c_3q_3 c1q1+c2q2+c3q3最大
也就是
max c 1 、 c 2 、 c 3 c 1 q 1 + c 2 q 2 + c 3 q 3 , w h e r e c 1 + c + c 3 = 1 , a n d c 1 、 c 2 、 c 3 ≥ 0 \max_{c_1、c_2、c_3}c_1q_1+c_2q_2+c_3q_3, where \: c_1+c_+c_3=1 ,and \: c_1、c_2、c_3 \ge 0 c1、c2、c3maxc1q1+c2q2+c3q3,wherec1+c+c3=1,andc1、c2、c3≥0
为了不失一般性这里假设一个最大值,假设 q 3 ≥ q 1 , q 2 q_3 \ge q_1,q_2 q3≥q1,q2,于是最优解就是 c 1 ∗ = 0 、 c 2 ∗ = 0 、 c 3 ∗ = 1 c_1^*=0、c_2^*=0、c_3^*=1 c1∗=0、c2∗=0、c3∗=1
通过上面的例子就可以知道如果 q q q值确定,如何求解上面的 π \pi π

公式求解以及最优性
贝尔曼最优公式的矩阵形式
v = max π ( r π + γ P π v ) v=\max_{\pi}(r_{\pi}+\gamma P_{\pi}v) v=πmax(rπ+γPπv)
我们把贝尔曼最优公式写成一个函数形式
f ( v ) : = max π ( r π + γ P π v ) f(v) := \max_{\pi}(r_{\pi} + \gamma P_{\pi} v) f(v):=πmax(rπ+γPπv)
于是最优公式就化成了
v = f ( v ) v=f(v) v=f(v)
[ f ( v ) ] s = m a x π ∑ a π ( a ∣ s ) q ( s , a ) , s ∈ S \left[ f(v) \right]_s = max_{\pi}\sum_a\pi(a \mid s)q(s,a), s \in S [f(v)]s=maxπa∑π(a∣s)q(s,a),s∈S
这里的 f ( v ) f(v) f(v)实际上是一个向量,因为每个状态对应一个 s t a t e v a l u e state \: value statevalue,而每一个 s t a t e v a l u e state \: value \: statevalue都对应一个 f ( v ) f(v) f(v)
于是问题就转化成了求解 v = f ( v ) v=f(v) v=f(v)这个方程,求解这个方程就需要下面的知识了。
Contraction mapping theorem(压缩映射定理)
关于这个定义的详细介绍在这 | 中文数学 Wiki | Fandom
在说压缩映射定理之前需要引入一些概念
Fixed point(不动点):
x ∈ X i s a f i x e d p o i n t o f f : X → X i f x \in X \: is \: a \: fixed \: point \: of \: f : \: X \rightarrow X \: if x∈Xisafixedpointoff:X→Xif
f ( x ) = x f(x) = x f(x)=x
然后 x x x就被称为一个不动点。
Contraction mapping or Contractive function: f i s a c o n t r a c t i o n m a p p i n g i f f \: is \: a \: contraction \: mapping \: if fisacontractionmappingif:
∣ ∣ f ( x 1 ) − f ( x 2 ) ∣ ∣ ≤ γ ∣ ∣ x 1 − x 2 ∣ ∣ , w h e r e γ ∈ ( 0 , 1 ) \mid \mid f(x_1) - f(x_2) \mid \mid \le \gamma \mid \mid x_1 - x_2\mid \mid, \:where \: \gamma \in (0, 1) ∣∣f(x1)−f(x2)∣∣≤γ∣∣x1−x2∣∣,whereγ∈(0,1)

Theorem(Contraction Mapping Thorem):
对于任何形如 x = f ( x ) x=f(x) x=f(x)的等式,如果 f f f是一个contraction mapping,那么有:
存在性:存在一个不动点 x ∗ x^* x∗满足 f ( x ∗ ) = x ∗ f(x^*) = x^* f(x∗)=x∗。
唯一性:不动点 ( f i x e d p o i n t ) (fixed point) (fixedpoint)是唯一的。
求解不动点的算法:这是一个迭代式的算法,不断令 x k + 1 = f ( x k ) x_{k+1}=f(x_k) xk+1=f(xk),当 k → ∞ k \rightarrow \infty \: k→∞时 x k → x ∗ x_k \rightarrow x^* \: xk→x∗,同时收敛的速度会非常快(以指数的速度收敛)
解决贝尔曼最优公式
有了上面的压缩映射定理就可以解决贝尔曼最优公式了
v = f ( v ) = max π ( r π + γ P v ) v=f(v)=\max_{\pi}(r_{\pi + \gamma Pv}) v=f(v)=πmax(rπ+γPv)
为了应用压缩映射定理,首先需要证明下式中 γ ∈ ( 0 , 1 ) \gamma \in (0,1) γ∈(0,1)
∣ ∣ f ( v 1 ) − f ( v 2 ) ∣ ∣ ≤ γ ∣ ∣ v 1 − v 2 ∣ ∣ \mid \mid f(v_1) - f(v_2) \mid \mid \le \gamma \mid \mid v_1 - v_2 \mid \mid ∣∣f(v1)−f(v2)∣∣≤γ∣∣v1−v2∣∣
这个是可以得到证明的。
知道了 f f f是一个 c o n t r a c t i o n m a p p i n g contraction \: mapping contractionmapping,那么贝尔曼最优公式就可以利用上面的 c o n t r a c t i o n m a p p i n g t h o r e m contraction \: mapping \: thorem contractionmappingthorem解决了。

分析最优策略(analyzing optimal policies)
v ( s ) = max π ∑ a π ( a ∣ s ) ( ∑ r p ( r ∣ s , a ) r + γ ∑ s ′ p ( s ′ ∣ s , a ) v ( s ′ ) ) v(s) = \max_{\pi} \sum_a \pi(a \mid s) \left( \sum_r \color{red}p(r \mid s, a) r \color{black} + \color{red} \gamma \color{black} \sum_{s{'}} \color{red} p(s^{'} \mid s, a) \color{black} v(s^{'}) \color{black}\right) v(s)=πmaxa∑π(a∣s)(r∑p(r∣s,a)r+γs′∑p(s′∣s,a)v(s′))
求解贝尔曼最优公式就是已知红色量求出上面公式中黑色的量
公式中的三个量决定了optimal policy
- Reward design: r r r
- System model: p ( s ′ ∣ s , a ) , p ( r ∣ s , a ) p(s^{'} \mid s, a) \:, \: p(r \mid s, a) p(s′∣s,a),p(r∣s,a)
- Discount rate: γ \gamma γ
- v ( s ) , v ( s ′ ) , π ( a ∣ s ) v(s), v(s^{'}),\pi(a \mid s) v(s),v(s′),π(a∣s)都是未知量待计算
-
当 γ \: \gamma \: γ比较大的时候,会比较远视,当 γ \: \gamma \: γ比较小的时候则会比较短时,获得的 r e t u r n \: return \: return主要由短期的 r e w a r d \: reward \: reward决定。当 γ \: \gamma \: γ变为 0 \: 0 \: 0时策略又会发生变化,策略会变得非常短视,更具体地说策略只会关注 i m m e d i a t e r e w a r d immediate \: reward immediatereward,这样导致的结果可能是采用的策略根本到达不了 t a r g e t target target
-
改变 r e w a r d reward reward也会导致策略改变。
下面观察如果对 r e w a r d \: reward \: reward进行线性变换会发生什么? r → a r + b r \rightarrow ar + b r→ar+b
- 实际上进行线性变换是不会改变最优策略的。
- 这个问题实际上并不关注 r e w a r d reward reward的绝对性,更加关注 r e w a r d reward reward的相对性。

关于无意义的绕路:因为有 d i s c o u n t r a t e \: discount \: rate \: discountrate的存在,会导致后面得到的 r e w a r d \: reward \: reward打折扣
Summary

更多推荐

所有评论(0)