当前位置:   article > 正文

深度强化学习(DRL)算法 附录 2 —— 策略迭代和价值迭代_迭代次数 drl 和奖励值

迭代次数 drl 和奖励值

马尔可夫决策过程(MDP)

马尔可夫链(具有马尔可夫性质的随机过程)+ A(动作:会导致状态转移) + R(奖励:衡量动作的好坏)

动态特性

定义如下概率:

p ( s ′ , r ∣ s , a ) ≜ P ( S t + 1 = s ′ , R t + 1 = r ∣ S t = s , A t = a ) p(s^{\prime}, r | s, a) \triangleq {P}({S_{t+1}=s^{\prime}, R_{t+1}=r | S_t=s, A_t=a}) p(s,rs,a)P(St+1=s,Rt+1=rSt=s,At=a)

那么状态转移概率(系统自身):

p ( s ′ ∣ s , a ) = ∑ r ∈ R p ( s , r ∣ s , a ) p(s^{\prime} |s, a)=\sum_{r \in R} p(s, r | s, a) p(ss,a)=rRp(s,rs,a)

策略表示(Policy)

策略: π \pi π

确定性策略: a ≜ π ( s ) a\triangleq \pi(s) aπ(s)

随机性策略: π ( a ∣ s ) ≜ P ( A t = a ∣ S t = s ) \pi(a|s)\triangleq P(A_t = a | S_t = s) π(as)P(At=aSt=s)

回报

用来评估在 s t s_t st 时刻的策略的好坏,我们定义在 s t s_t st 时刻的回报为:

G t = R t + 1 + γ R t + 2 + γ 2 R t + 3 + . . . , γ ∈ [ 0 , 1 ] G_t = R_{t+1} + \gamma R_{t+2} + \gamma^{2} R_{t+3} + ... , \gamma \in [0,1] Gt=Rt+1+γRt+2+γ2Rt+3+...,γ[0,1]

价值函数

回报的期望就是价值函数,通俗的说就是回报的平均数(因为从 s 出发的路径会像树枝一样散开)
state-value:
v π ( s ) = E [ G t ​ ∣ S t ​ = s ] v_\pi(s) = E[G_t​∣S_t​=s] vπ(s)=E[GtSt=s]

action-value:
q π ( s , a ) = E [ G t ∣ S t = s , A t = a ] q_\pi(s,a) = E[G_t | S_t=s, A_t = a] qπ(s,a)=E[GtSt=s,At=a]

state-value 和 action-value 的关系:
v π ( s ) = ∑ a π ( a ∣ s ) q π ( s , a ) v_\pi(s) = \sum_a \pi(a \mid s) q_\pi(s, a) vπ(s)=aπ(as)qπ(s,a) (如果 π \pi π 是确定性策略,两个值相等) (1)

q π ( s , a ) = ∑ r , s ′ p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] q_\pi(s, a) = \sum_{r, s'}p(s', r | s, a)[r + \gamma v_\pi(s')] qπ(s,a)=r,sp(s,rs,a)[r+γvπ(s)]
(2)

贝尔曼期望方程

即把(2)带入(1),把 (1)带入(2)产生的两个等式
得到 v(s) 和 v(s‘)以及 q(s,a) 和 q(s’, a’) 的关系,这就是贝尔曼方程的核心思想。

贝尔曼最优方程

最优价值函数:

v ∗ ≜ m a x π v π ( s ) v_{*} \triangleq max_\pi v_\pi(s) vmaxπvπ(s)

q ∗ ( s , a ) ≜ m a x π q π ( s , a ) q_{*}(s,a) \triangleq max_\pi q_\pi(s,a) q(s,a)maxπqπ(s,a)

最优策略:
π ∗ ≜ a r g m a x π v π ( s ) \pi_* \triangleq argmax_\pi v_\pi(s) πargmaxπvπ(s) = a r g m a x π q π ( s , a ) argmax_{\pi}q_\pi(s,a) argmaxπqπ(s,a)
由(1)(2)知:

v ∗ = m a x π q π ( s , a ) v_* = max_\pi q_\pi(s,a) v=maxπqπ(s,a)
(3)

q ∗ = ∑ r , s ′ p ( s ′ , r ∣ s , a ) [ r + γ v ∗ ( s ′ ) ] q_* = \sum_{r, s'}p(s', r | s, a)[r + \gamma v_*(s')] q=r,sp(s,rs,a)[r+γv(s)]
(这里不能把求和替换成 max 的原因是,我们只能让 v* 最优,因为 p 由系统决定,我们无法决定)(4)即把(3)带入(4),把 (4)带入(3)产生的两个等式
和贝尔曼方程一样,得到 v*(s) 和 v*(s‘)以及 q*(s,a) 和 q*(s’, a’) 的关系,这就是贝尔曼最优方程的核心思想。

策略迭代

在 MDP 已知的情况下

策略评估(PE)

知道 pi,我们需要评估出对应的 v 和 q 值。

  • 解析解
    使用线性代数的方式解线性方程组:V = R + γ \gamma γP V
  • 迭代解
    因为贝尔曼期望方程是不动点方程,所以可以迭代求解。
    vk -> vk+1,k-> ∞ \infty ,一直迭代下去,可以收敛。

策略改进(PI)

根据 v 和 q ,我们构造出 pi’ 优于 pi。

  • 策略改进定理
    给定 pi,pi’,如果 ∀ s ∈ S \forall s \in S sS ,有 q ( s , π ′ ( s ) ) ≥ v π ( s ) q(s, \pi'(s)) \geq v_\pi(s) q(s,π(s))vπ(s) ,那么则有 $ ∀s∈S$ , v π ′ ( s ) ≥ v π ( s ) v_{\pi'}(s) \geq v_{\pi}(s) vπ(s)vπ(s)
  • 贪心策略
    π ′ ( s ) = a r g m a x a q π ( s , a ) \pi'(s) = argmax_a q_\pi(s,a) π(s)=argmaxaqπ(s,a)(满足策略改进定理)
    所以 pi -> PE -> q(或者 v) -> PI -> pi’ 一直循环下去,就可以得到 v*。

价值迭代

PE 只进行一步的策略迭代。

异步价值迭代

PE 和 PI 不是先后顺序,比如 V 里面的一个值更新了一步,没有等到其他 v 更新,就直接进行 PI 了。

参考

  1. 阿姆姆姆姆姆姆姆:深度强化学习(DRL)算法 附录1 —— 贝尔曼公式
  2. https://www.bilibili.com/medialist/play/97068901?from=space&business=space_series&business_id=594040&desc=1&spm_id_from=333.999.0.0
  3. http://incompleteideas.net/book/RLbook2020.pdf
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/552125
推荐阅读
相关标签
  

闽ICP备14008679号