上周比较忙,这节讲贝尔曼方程

1.1.4 贝尔曼方程

贝尔曼方程是强化学习中用来计算状态或状态-动作对长期回报的数学公式。它有两种主要形式:

状态价值函数的贝尔曼方程:计算从某个状态开始遵循策略的期望总回报,比如在迷宫中,某个位置值多少钱。

动作价值函数的贝尔曼最优方程:计算从某个状态采取特定动作后遵循最优策略的期望回报,帮助选择最佳动作。

如何工作:

它通过递归方式工作:某个状态的价值等于即时奖励加上未来状态的折扣价值。例如,在游戏中,当前一步的奖励是10分,下一状态的价值是5分,折扣因子是0.9,那么当前状态的价值可能是10 + 0.9 × 5 = 14.5。

为什么重要:

贝尔曼方程让代理能处理不确定环境,比如环境随机变化。它是值迭代、Q学习等算法的基础,广泛用于训练AI玩游戏或机器人导航。贝尔曼方程不仅用于强化学习,在金融优化中也有类似的应用,但定义不同,比如金融中不涉及折扣因子。

马尔可夫决策过程(MDP)是强化学习的核心框架,用于建模代理与环境的交互,其中贝尔曼方程是评估策略质量和寻找最优策略的关键工具。

我们上边讲过MDP由状态空间 S 、动作空间 A 、转移概率 P 、奖励函数 R 和折扣因子 γ 组成。代理的目标是找到一个策略 π ,从每个状态开始遵循该策略,最大化期望总回报。策略 π 是一个从状态到动作的映射,可以是确定性的或随机的。

总回报通常定义为从当前时间步开始,未来所有时间步的奖励总和,公式为:

草履虫也能学会的强化学习系列(4)_递归

其中γ 是折扣因子,确保无限期问题的收敛。

折扣因子γ 的选择影响模型对未来奖励的重视程度。

贝尔曼方程由理查德·贝尔曼(Richard Bellman)提出,是动态规划的基础。它提供了一种递归方式来计算状态价值函数Vπ(s)或动作价值函数Qπ(s,a) ,这些函数是强化学习算法的核心。

贝尔曼方程有以下两种形式:

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

定义:状态价值函数Vπ(s) 表示从状态 s 开始,遵循策略 π 后,代理所能获得的期望总回报。

数学表示:

草履虫也能学会的强化学习系列(4)_递归_02

或者展开为:

草履虫也能学会的强化学习系列(4)_强化学习_03

π(a∣s) 是策略 π 在状态 s 下选择动作 a 的概率。

P(s'|s,a) 是从状态 s 采取动作 a 后转移到状态 s′的概率。

R(s,a,s') 是从状态 s 采取动作 a 转移到 s′ 时的奖励。

γ 是折扣因子,介于 0 和 1 之间。

这个方程表明,某个状态的价值等于所有可能动作的加权平均,每个动作的价值又依赖于转移到下一状态的奖励和未来状态的价值。

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

定义:动作价值函数 Qπ(s,a) 表示从状态 s 开始,首先采取动作 a ,然后遵循策略 π ,代理所能获得的期望总回报。

数学表示:

草履虫也能学会的强化学习系列(4)_强化学习_04

或者展开为:

草履虫也能学会的强化学习系列(4)_迭代_05

一个状态-行动对 (s, a) 的价值,等于所有可能的下一个状态 s' 的价值的期望值,而下一个状态的价值又取决于策略 π 在该状态下选择不同行动的概率以及这些行动对应的动作价值。

最优形式(贝尔曼最优方程):

草履虫也能学会的强化学习系列(4)_强化学习_06

其中 Q∗(s,a) 是最优动作价值函数,反映了采取动作 a 后遵循最优策略的期望回报,贝尔曼最优方程,用于 寻找最优策略 。 它的意义为,一个状态-行动对 (s, a) 的最优价值,等于所有可能的下一个状态 s' 的最优价值的期望值,而下一个状态的最优价值,是通过在下一个状态选择 最优行动 来达成的。

为什么需要贝尔曼方程?

递归计算:贝尔曼方程通过递归的方式将问题分解,使得我们无需从头计算每个状态的总回报(这可能涉及无限多的未来步骤)。它避免了从头计算每个状态的期望回报,而是用即时奖励加上折扣的未来价值。

动态规划的基础:贝尔曼方程是动态规划算法(如值迭代和策略迭代)的基础,这些算法通过迭代更新价值函数来找到最优策略。

处理不确定性:在强化学习中,环境通常是随机的(即转移概率 P(s'|s,a) 可能小于 1)。贝尔曼方程通过期望处理这种不确定性。