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

贝尔曼最优方程

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

最优策略

策略之间的大小关系

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

这样定义策略之间的大小关系:对于状态空间中的所有状态 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的位置不同。

<think>好的,我现在需要回答用户关于贝尔曼最优方程的问题。首先,我需要回忆贝尔曼最优方程的相关知识,确保自己理解正确。贝尔曼方程强化学习中是一个基础概念,但用户特别问到的是贝尔曼最优方程,所以需要明确它和普通贝尔曼方程的区别。 首先,贝尔曼方程是用来计算状态值函数或动作值函数的,它表达了当前状态的值和后续状态的值之间的关系。而贝尔曼最优方程则更进一步,用于找到最优策略下的值函数,也就是在最优策略下的状态值或动作值。因此,贝尔曼最优方程的核心作用应该是帮助确定最优策略,通过迭代求解得到最优值函数,从而导出最优策略。 接下来,我需要组织回答的结构。用户可能希望知道贝尔曼最优方程的定义、用途、形式以及可能的应用场景。要确保回答清晰,分点说明,可能还需要举例帮助理解。 需要确认贝尔曼最优方程的具体数学表达式。对于状态值函数的贝尔曼最优方程,应该是V*(s) = max_a [R(s,a) + γΣP(s'|s,a)V*(s')],而动作值函数的Q*(s,a) = R(s,a) + γΣP(s'|s,a)max_a' Q*(s',a')。这里可能需要用LaTeX公式展示,但根据用户之前的指示,数学表达式需要用$...$或$$...$$格式,并且独立公式单独成段。 同时,需要解释每个符号的含义,例如R是奖励,γ是折扣因子,P是状态转移概率等。还要说明这个方程的意义,即通过迭代更新直到收敛,可以找到最优策略对应的值函数,从而确定最优策略。 可能还需要对比普通贝尔曼方程最优方程的区别。普通贝尔曼方程是针对某个特定策略的,而最优方程则是寻找所有可能策略中的最大值,确保策略是最优的。 此外,用户可能想知道贝尔曼最优方程的应用场景,比如在值迭代算法中如何使用它来求解最优策略,或者为什么它是强化学习算法如Q-learning的基础。可能需要提到动态规划和模型已知的情况,因为贝尔曼方程通常假设已知环境模型,但在无模型的情况下,如Q
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值