【强化学习理论】贝尔曼最优方程公式推导

贝尔曼最优方程

强化学习的目标是找到一个最优策略,使得智能体从初始状态出发后,能够获得最大的期望回报(这个最大是相对我们能找到的所有策略来说的)。

最优策略

策略之间的大小关系

策略之间的优劣通过最终获得的期望回报的大小来评判。

这样定义策略之间的大小关系:对于状态空间中的所有状态 s s s,使用策略 π 1 \pi_1 π1获得的价值 V π 1 ( s ) V^{\pi_1}(s) Vπ1(s)比使用策略 π 2 \pi_2 π2获得的价值 V π 2 ( s ) V^{\pi_2}(s) Vπ2(s)都大或者至少相等,那就认为策略 π 1 \pi_1 π1优于策略 π 2 \pi_2 π2。即 ∀ s ∈ S \forall s \in S sS,有 V π 1 ( s ) ≥ V π 2 ( s ) V^{\pi_1}(s) \geq V^{\pi_2}(s) Vπ1(s)Vπ2(s),则 π 1 ≥ π 2 \pi_1 \geq \pi_2 π1π2

最优策略的定义

最优策略,记作 π ∗ \pi^* π。当存在一个策略,它在状态空间中的所有状态 s s s都能获得最大(或者至少不弱于其他策略)的 V ( s ) V(s) V(s)值,这个策略就是最优策略。

最优策略可能有多个。

最优状态价值函数

最优状态价值函数,记作 V ∗ ( s ) V^*(s) V(s),指智能体使用最优策略得到的状态价值函数。即:
V ∗ ( s ) = max ⁡ V π ( s ) , ∀ s ∈ S V^{*}(s) = \max V^{\pi}(s), \forall s \in S V(s)=maxVπ(s),sS

最优动作价值函数

最优动作价值函数,记作 Q ∗ ( s , a ) Q^*(s,a) Q(s,a),指智能体使用最优策略得到的动作价值函数。即:
Q ∗ ( s , a ) = max ⁡ Q π ( s , a ) , ∀ s ∈ S , a ∈ A Q^*(s,a) = \max Q^{\pi}(s,a), \forall s \in S, a \in A Q(s,a)=maxQπ(s,a),sS,aA

最优状态价值函数与最优动作价值函数的关系

关系1

V ∗ ( s ) = max ⁡ a ∈ A Q ∗ ( s , a ) V^*(s) = \max_{a \in A} Q^*(s, a) V(s)=aAmaxQ(s,a)

如何理解这一关系?
在这里插入图片描述

在上图中,当智能体来到状态 s s s时,假设接下来它能做的动作只有2个,一个是 a 1 a_1 a1,另一个是 a 2 a_2 a2,并且根据智能体目前的经验来看,采取动作 a 1 a_1 a1后,能够得到的最优价值 Q ∗ ( s , a 1 ) Q^*(s,a_1) Q(s,a1)(这里的 Q Q Q带了“ ∗ * ”,表示在使用最优策略的前提下,智能体从状态-动作对 ( s , a 1 ) (s,a_1) (s,a1)出发后能够获得的最优价值);采取动作 a 2 a_2 a2后,能够得到的最优价值 Q ∗ ( s , a 2 ) Q^*(s,a_2) Q(s,a2)(这里的 Q Q Q带了“ ∗ * ”,表示在使用最优策略的前提下,智能体从状态-动作对 ( s , a 2 ) (s,a_2) (s,a2)出发后能够获得的最优价值)。如果智能体想要获得尽可能大的价值(回报的期望),那它肯定会采取与更高价值相关的那个动作,以获得两个 Q Q Q值中最大的那个(图中的弧线表示取最大值)。而这也正是最优策略所做的事情。因此,使用最优策略时,在状态 s s s下, V ∗ ( s ) = max ⁡ Q ∗ ( s , a ) V^*(s) = \max Q^*(s, a) V(s)=maxQ(s,a)

关系2

Q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V ∗ ( s ′ ) Q^*(s, a) = r(s, a) + \gamma \sum_{s^{\prime} \in S} p(s^{\prime}|s,a)V^*(s^{\prime}) Q(s,a)=r(s,a)+γsSp(ss,a)V(s)

如何理解这一关系?

在这里插入图片描述

在上图中,当智能体在状态 s s s时已经采取了动作 a a a,假设接下来它采取动作 a a a后可以去到的状态只有2个,一个是 s 1 s_1 s1,另一个是 s 2 s_2 s2,并且根据智能体目前的经验来看,采取状态 s 1 s_1 s1后,能够得到的最优价值 V ∗ ( s 1 ) V^*(s_1) V(s1)(这里的 V V V带了“ ∗ * ”,表示在使用最优策略的前提下,智能体从状态 s s s出发后能够获得的最优价值);采取状态 s 2 s_2 s2后,能够得到的最优价值是 V ∗ ( s 2 ) V^*(s_2) V(s2)(这里的 V V V带了“ ∗ * ”,表示在使用最优策略的前提下,智能体从状态 s 2 s_2 s2出发后能够获得的最优价值)。如果智能体想要获得尽可能大的价值(回报的期望),那它肯定会采取与更高价值相关的那个状态。但是,由于在选择动作后,能够到达哪个状态是无法确定的、智能体没法控制(智能体能根据策略控制自己采取什么动作,但是采取动作后会到达什么状态就要受充满随机性的环境的影响了),有 p ( s 1 ∣ s , a ) p(s_1|s,a) p(s1s,a)的概率到达状态 s 1 s_1 s1,有 p ( s 2 ∣ s , a ) p(s_2|s,a) p(s2s,a)的概率到达状态 s 2 s_2 s2。那既然不能控制到达哪个状态,即使知道哪个状态对应的最优价值更大也用处不大,也没法保证就能到达那个最优价值更大的状态,那就根据到达状态的概率对可能到达的所有下一状态的最优价值求平均吧(所以图片中没有画弧线了,因为没有把握求最大),再加上环境给予的即时奖励。因此,使用最优策略时,在状态 s s s已经采取动作 a a a的情况下, Q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ∈ S p ( s ′ ∣ s , a ) V ∗ ( s ′ ) Q^*(s,a) = r(s,a) + \gamma \sum_{s \in S}p(s^{\prime}|s,a)V^*(s^{\prime}) Q(s,a)=r(s,a)+γsSp(ss,a)V(s)

贝尔曼最优方程

(两种类型的函数都有各自的两种贝尔曼最优方程表达形式,涉及到 p ( s ′ ∣ s , a ) p(s^{\prime}|s,a) p(ss,a) p ( s ′ , r ∣ s , a ) p(s^{\prime},r|s,a) p(s,rs,a)的关系)

最优状态价值函数的贝尔曼最优方程

方程1

将上文中的关系2代入上文中的关系1,可以得到:
V ∗ ( s ) = max ⁡ a ∈ A r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) V ∗ ( s ′ ) V^*(s) = \max_{a \in A} \quad r(s,a) + \gamma \sum_{s^{\prime} \in S}p(s^{\prime}|s,a)V^*(s^{\prime}) V(s)=aAmaxr(s,a)+γsSp(ss,a)V(s)
此式即为最优状态价值函数的贝尔曼最优方程。

方程2

根据 p ( s ′ ∣ s , a ) p(s^{\prime}|s,a) p(ss,a) p ( s ′ , r ∣ s , a ) p(s^{\prime},r|s,a) p(s,rs,a)的关系,此式也可以写成如下形式:
V ∗ ( s ) = max ⁡ a ∈ A ∑ r ∈ R r ∑ s ′ ∈ S p ( s ′ , r ∣ s , a ) + γ ∑ s ′ ∈ S , r ∈ R p ( s ′ , r ∣ s , a ) V ∗ ( s ′ ) = max ⁡ a ∈ A ∑ s ′ ∈ S , r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ V ∗ ( s ′ ) ] \begin{aligned} V^*(s) =& \max_{a \in A} \quad \sum_{r \in R}r \sum_{s^{\prime} \in S}p(s^{\prime},r|s,a) + \gamma \sum_{s^{\prime} \in S, r \in R}p(s^{\prime}, r |s,a)V^*(s^{\prime}) \\ =& \max_{a \in A} \sum_{s^{\prime} \in S, r \in R}p(s^{\prime}, r|s,a)\left[ r+ \gamma V^*({s^{\prime}}) \right] \end{aligned} V(s)==aAmaxrRrsSp(s,rs,a)+γsS,rRp(s,rs,a)V(s)aAmaxsS,rRp(s,rs,a)[r+γV(s)]

最优动作价值函数的贝尔曼最优方程

方程1

将上文中的关系1代入上文中的关系2,可以得到:
Q ∗ ( s , a ) = r ( s , a ) + γ ∑ s ′ ∈ S p ( s ′ ∣ s , a ) max ⁡ a ′ ∈ A Q ∗ ( s ′ , a ′ ) Q^*(s,a) = r(s,a) + \gamma \sum_{s^{\prime} \in S}p(s^{\prime} | s,a)\max_{a^{\prime} \in A} Q^*(s^{\prime},a^{\prime}) Q(s,a)=r(s,a)+γsSp(ss,a)aAmaxQ(s,a)
此式即为最优动作价值函数的贝尔曼最优方程。

方程2

根据 p ( s ′ ∣ s , a ) p(s^{\prime}|s,a) p(ss,a) p ( s ′ , r ∣ s , a ) p(s^{\prime},r|s,a) p(s,rs,a)的关系,此式也可以写成如下形式:
Q ∗ ( s , a ) = ∑ r ∈ R r ∑ s ′ ∈ S p ( s ′ , r ∣ s , a ) + γ ∑ s ′ ∈ S , r ∈ R p ( s ′ , r ∣ s , a ) max ⁡ a ′ ∈ A Q ∗ ( s ′ , a ′ ) = ∑ s ′ ∈ S , r ∈ R p ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ ∈ A Q ∗ ( s ′ , a ′ ) ] \begin{aligned} Q^*(s,a) &= \sum_{r \in R}r \sum_{s^{\prime} \in S} p(s^{\prime},r | s,a) + \gamma \sum_{s^{\prime} \in S, r \in R}p(s^{\prime},r|s,a) \max_{a^{\prime} \in A} Q^*(s^{\prime}, a^{\prime}) \\ &= \sum_{s^{\prime} \in S, r \in R} p(s^{\prime},r | s,a) \left[ r + \gamma \max_{a^{\prime} \in A}Q^*(s^{\prime}, a^{\prime}) \right] \end{aligned} Q(s,a)=rRrsSp(s,rs,a)+γsS,rRp(s,rs,a)aAmaxQ(s,a)=sS,rRp(s,rs,a)[r+γaAmaxQ(s,a)]
最优状态价值函数和最优动作价值函数的方程2长得很像,但是 max ⁡ \max max的位置不同。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值