基于动态规划的强化学习

基于动态规划的强化学习

一、MDP目标和策略

相关概念

目标:选择能够最大化累积奖励期望的动作

E [ R ( s 0 ) + γ R ( s 1 ) + γ 2 R ( s 2 ) + ⋯   ] \mathbb{E}{[R(s_{0})+\gamma R(s_{1}) + \gamma^{2} R(s_{2})+\cdots]} E[R(s0)+γR(s1)+γ2R(s2)+]

γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]是未来奖励的折扣因子,使得和未来奖励相比起来智能体更重视即时奖励

以金融为例,今天的$1比明天的$1更有价值

给定一个特定的策略

π ( s ) : S → A \pi{(s)}:S \rightarrow A π(s):SA

即,在状态 s s s下采取动作 a = π ( s ) a=\pi{(s)} a=π(s)

给定策略 π \pi π定义价值函数

V π ( s ) = E [ R ( s 0 ) + γ R ( s 1 ) + γ 2 R ( s 2 ) + ⋯ ∣ s 0 = s , π ] {V^{\pi}{(s)}}={\mathbb{E}{[R(s_{0})+{\gamma}R(s_{1})+{\gamma^{2}}R(s_{2})+\cdots|s_{0}=s,\pi]}} Vπ(s)=E[R(s0)+γR(s1)+γ2R(s2)+s0=s,π]

即,给定起始状态和根据策略 π \pi π 采取动作时的累积奖励期望

价值函数的Bellman等式

给策略 π \pi π 定义价值函数

在这里插入图片描述

最优价值函数

对状态 s s s 来说的最优价值函数是所有策略可获得的最大可能折扣奖励的和

V ∗ ( s ) = max ⁡ π V π ( s ) {V^{*}(s)=\max\limits_{\pi}{V^{\pi}(s)}} V(s)=πmaxVπ(s)

最优价值函数的Bellman等式

V ∗ ( s ) = R ( s ) + max ⁡ a ∈ A γ ∑ s ′ ∈ S P s a ( s ′ ) V ∗ ( s ′ ) {V^{*}(s)}={R(s)+\max\limits_{a\in A}{\gamma\sum\limits_{s' \in S}{P_{sa}(s')V^{*}(s')}}} V(s)=R(s)+aAmaxγsSPsa(s)V(s)

最优策略
π ∗ ( s ) = arg ⁡ max ⁡ a ∈ A ∑ s ′ ∈ S P s a ( s ′ ) V ∗ ( s ′ ) {\pi^{*}(s)}={\arg\max\limits_{a \in A}{\sum\limits_{s' \in S}{P_{sa}(s')V^{*}(s')}}} π(s)=argaAmaxsSPsa(s)V(s)

对状态 s s s 和策略 π \pi π

V ∗ ( s ) = V π ∗ ( s ) ≥ V π ( s ) {V^{*}(s)}={V^{\pi^{*}}(s)\geq V^{\pi}(s)} V(s)=Vπ(s)Vπ(s)

二、价值迭代和策略迭代

价值函数和策略相关

V π ( s ) = R ( s ) + γ ∑ s ′ ∈ S P s π ( s ) V π ( s ′ ) {V^{\pi}(s)}={R(s)+\gamma\sum\limits_{s' \in S}{P_{s\pi{(s)}}V^{\pi}(s')}} Vπ(s)=R(s)+γsSPsπ(s)Vπ(s)

π ( s ) = arg ⁡ max ⁡ a ∈ A ∑ s ′ ∈ S P s a ( s ′ ) V π ( s ′ ) {\pi{(s)}}={\arg\max\limits_{a \in A}{\sum\limits_{s' \in S}{P_{sa}(s')V^{\pi}(s')}}} π(s)=argaAmaxsSPsa(s)Vπ(s)

可以对最优价值函数最优策略执行迭代更新

  • 价值迭代
  • 策略迭代

三、价值迭代

对于一个动作空间和状态空间有限的MDP

∣ S ∣ < ∞ , ∣ A ∣ < ∞ |S|<\infty,|A|<\infty S<,A<

价值迭代过程

  1. 对每个状态 s s s ,初始化 V ( s ) = 0 V(s)=0 V(s)=0
  2. 重复以下过程直到收敛
    对每个状态,更新
    $ V ( s ) = R ( s ) + max ⁡ a ∈ A γ ∑ s ′ ∈ S P s a ( s ′ ) V ( s ′ ) {V(s)}={R(s)+\max\limits_{a \in A}{\gamma\sum\limits_{s' \in S}{P_{sa}(s')V(s')}}} V(s)=R(s)+aAmaxγsSPsa(s)V(s)

注意:在以上的计算中没有明确的策略,只局限于数值计算

同步/异步价值迭代

同步价值迭代: 同步的价值迭代会储存两份价值函数的拷贝

  1. S S S 中的所有状态 s s s
    V n e w ( s ) ← max ⁡ a ∈ A ( R ( s ) + γ ∑ s ′ ∈ S P s a ( s ′ ) V o l d ( s ′ ) ) {V_{new}(s)}\leftarrow\max\limits_{a \in A}{\left(R(s)+\gamma\sum\limits_{s' \in S}{P_{sa}{(s')}V_{old}{(s')}}\right)} Vnew(s)aAmax(R(s)+γsSPsa(s)Vold(s))

  2. 更新
    V o l d ( s ) ← V n e w ( s ) {V_{old}{(s)}}\leftarrow{V_{new}{(s)}} Vold(s)Vnew(s)

需要两倍的空间进行存储

异步价值迭代: 异步价值迭代只储存一份价值函数

  1. S S S 中的所有状态 s s s
    V ( s ) ← max ⁡ a ∈ A ( R ( s ) + γ ∑ s ′ ∈ S P s a ( s ′ ) V ( s ′ ) ) {V(s)}\leftarrow{\max\limits_{a \in A}{\left(R(s)+\gamma\sum\limits_{s' \in S}{P_{sa}{(s')}V(s')}\right)}} V(s)aAmax(R(s)+γsSPsa(s)V(s))

在中间过程中,可能会有些值提前被更新,导致更新不一致
只需要存储一份价值函数,存在更新紊乱

价值迭代例子:最短路径

在这里插入图片描述

四、策略迭代

对于一个动作空间和状态空间有限的MDP

∣ S ∣ < ∞ , ∣ A ∣ < ∞ |S|<\infty,|A|<\infty S<,A<

策略迭代过程

  1. 随机初始化策略 π \pi π
  2. 重复以下过程直到收敛
    1. V : = V π V:=V^{\pi} V:=Vπ
    2. 对每个状态,更新
      π ( s ) = arg ⁡ max ⁡ s ′ ∈ S P s a ( s ′ ) V ( s ′ ) \pi{(s)}={\arg\max\limits_{s' \in S}{P_{sa}{(s')}V(s')}} π(s)=argsSmaxPsa(s)V(s)

更新价值函数会很耗时,即计算 V π V^{\pi} Vπ这个步骤需要很大的计算量

策略评估

  • 估计 V π V^{\pi} Vπ
  • 迭代的评估策略

策略改进

  • 生成 π ′ ≥ π \pi'\geq\pi ππ
  • 贪心策略改进

在这里插入图片描述

在这里插入图片描述

举例:策略评估

在这里插入图片描述

  • 非折扣MDP( γ = 1 \gamma=1 γ=1
  • 非终止状态: 1 , … , 14 1,\dots,14 1,,14
  • 两个终止状态(灰色方格)
  • 如果动作指向所有方格以外,则这一步不动
  • 奖励均为-1,直到到达终止状态
  • 智能体的策略为均匀随机策略

π ( n ∣ ⋅ ) = π ( e ∣ ⋅ ) = π ( s ∣ ⋅ ) = π ( w ∣ ⋅ ) = 0.25 {\pi(n|\cdot)}={\pi(e|\cdot)}={\pi(s|\cdot)}={\pi(w|\cdot)}=0.25 π(n)=π(e)=π(s)=π(w)=0.25

在这里插入图片描述

在这里插入图片描述

五、比较价值迭代和策略迭代

  1. 价值迭代是贪心更新法,局部性上进行更新,没有真正意义上去计算 V(、pi)
  2. 策略迭代中,用Bellman等式更新价值函数代价很大
  3. 对于空间较小的MDP,策略迭代通常很快收敛
  4. 对于空间较大的MDP,价值迭代更实用(效率更高)
  5. 如果没有状态转移循环,最好使用价值迭代

六、常见问题

价值迭代的同步更新和异步更新在收敛速度和效果上会有区别吗?
  • 异步更新的收敛一般收敛快一些。但是如果没有达到收敛,异步更新得到的部分状态的价值可能和ground truth差距较大,不敢直接用来构建policy。原因是异步更新可能使得部分状态更新的不如别的状态快。
为什么空间较小的MDP,策略迭代收敛很快;而空间较大,价值迭代更实用?
  • 策略迭代是对于策略的直接优化,所以在空间较小的MDP上可以收敛很快,但是策略本身是基于当前状态动作的分布;
  • 价值迭代是对于通过对状态评估间接得出最优的策略,价值迭代本身是基于状态的分布,所以更加稳定高效。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值