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

贝尔曼最优方程

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

最优策略

策略之间的大小关系

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

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

### 关于强化学习算法公式推导过程解释 #### 马尔可夫决策过程及其核心概念 马尔可夫决策过程(MDP)是描述具有序列决策问题的一种数学框架,在此过程中,环境的状态转移仅依赖当前状态和采取的动作而与之前的历史无关。MDP由五元组\( S, A, P_a(s,s'), R_a(s), \gamma \)定义[^1]: - \(S\)表示有限数量的状态集合; - \(A\)代表可用行动的集合; - \(P_a(s,s')=Pr(s_{t+1}=s'|s_t=s,a_t=a)\),即执行动作a后从状态s转移到状态s'的概率; - \(R_a(s)=E[r_{t+1}|s_t=s,a_t=a]\),指在给定状态下选取特定行为所获得奖励期望值; - \(\gamma\in[0,1]\)为折扣因子。 对于上述模型而言,目标是在长期累积回报最大化原则下找到最优策略π*使得V*(s)=max_π V^π(s),其中V^(s)称为状态价值函数,它衡量了遵循某项固定政策时处于某个位置所能带来的平均收益总和;Q^(s,a)则被命名为行动价值函数,用于评估采取某一具体措施后的即时效益加上后续可能获取的利益之加权均值。 #### 贝尔曼方程求解状态价值解析解 为了寻找最佳方案,可以利用贝尔曼最优化原理来构建递归关系式——贝尔曼方程: \[ V^\pi(s) = E_\pi[R_{t+1}+\gamma V^\pi(S_{t+1})|S_t=s], s∈S \] 该表达式揭示了一个重要性质:任意时刻下的预期未来报酬等于立即得到的部分加上下一刻起始点继续前进所带来的额外收获。当考虑无限时间范围内的累计奖赏并引入适当衰减系数γ(0<γ≤1)以防止数值爆炸现象发生,则有如下形式化表述方式: \[ Q^\pi(s,a) = r(s)+\gamma \sum_{s'\in S}\left[P_a(s',s) \cdot V^\pi(s')\right]=r(s)+\gamma \mathbb{E}_{s'}\left[V^\pi(s') | a, s\right] \] 这里特别强调的是,一旦确定了具体的方针指导方针π(a|s),就可以依据上列等价转换轻松计算出对应条件下各节点的价值量度V^(s)或Q^(s,a)。 #### 使用蒙特卡罗方法估计状态价值 除了理论上的精确解答外,实践中还经常采用随机模拟手段来进行近似估算。蒙特卡罗法就是一种基于大量样本路径的经验统计特性完成这一任务的有效途径之一。其基本思路是从初始设定出发按照既定规则逐步演化直至终止条件满足为止,并记录沿途经历过的每一个中间环节连同相应反馈得分情况作为观测数据集的一部分。经过多次重复实验积累足够多的信息之后再取平均值得到最终结果。这种方法尤其适用于那些难以直接求得封闭型解决方案的情形之下。 #### SAC算法中的对数概率公式推导 软Actor-Critic (SAC)是一种结合了最大熵强化学习理念的off-policy actor-critic deep RL算法。在此背景下,针对连续控制任务设计了一种特殊的重参数化技巧以便更高效地更新网络权重参数。具体来说就是在产生候选操作向量u~N(μθ(s),σθ²(s))的基础上应用双曲正切激活函数将其映射至合法区间[-1,+1]^D之内形成真实施加给外界影响的实际指令at=tanh(u)[^2]。 此时如果想要正确处理因变换引起的分布变化就需要调整原本单纯依靠高斯噪声建模得出的概率密度p(at|st;ψ)。为此引入辅助变量z=(ut−mean)/std并将原始输入重新构造成为新的联合空间(z,zt)。这样一来就能借助链式法则拆分整体结构从而实现逐层分离独立运算的目的了。整个流程大致如下所示[^2]: ```python import torch def log_prob(action_means, action_stds, actions): normal_dist = torch.distributions.Normal(action_means, action_stds) # Compute raw noise z from at and its probability density p_z. noises = torch.atanh(actions) log_p_noises = normal_dist.log_prob(noises).sum(-1) # Calculate the correction term due to tanh transformation. squashed_correction = torch.sum(torch.log(1 - actions ** 2 + 1e-6), dim=-1) return log_p_noises - squashed_correction ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值