前言
要来到贝尔曼公式啦
正文
首先,我们知道,在强化学习中,return是选择policy的重要依据,那么我们有什么办法能通过数学的方式来描述这个比较呢?这就是我们用到贝尔曼公式的地方啦.
贝尔曼公式实际上就是动态规划方程,我觉得维基百科实际上讲的就非常的到位了
“贝尔曼方程(Bellman Equation)”也被称作“动态规划方程(Dynamic Programming Equation)”,由理查·贝尔曼(Richard Bellman)发现。贝尔曼方程是动态规划(Dynamic Programming)这种数学最佳化方法能够达到最佳化的必要条件。此方程将“决策问题在特定时间点的值”以“来自初始选择的报酬 及 由初始选择衍生的决策问题的值”的形式表示。藉这个方式将动态最佳化问题变成较简单的子问题,而这些子问题遵守由贝尔曼所提出的“最佳化原理”。
实际上这就是很多rl算法中的核心部分(以经典的q算法为例):
贝尔曼方程的数学原理可以这样理解:
-
即时回报:首先,我们考虑在当前状态s执行动作a后,环境给出的即时回报R(s,a)。
-
未来回报的折现:然后,我们需要考虑执行这个动作后,未来的所有可能回报。由于未来的回报是不确定的,我们需要用一个折现因子γ来表示未来的回报在当前价值中的比重。折现因子越小,表示我们越重视即时回报;折现因子越大,表示我们越看重长期回报。
-
最优策略:在Q学习中,我们希望找到一个最优策略,使得长期累积回报最大化。因此,我们需要在下一个状态′s′中选择一个能够带来最大未来回报的动作,即maxa′Q(s′,a′)。
-
递推关系:贝尔曼方程将当前状态下的Q值与下一个状态下的Q值联系起来,形成了一个递推关系。通过不断迭代这个方程,Q值会逐渐收敛到最优策略。
在实际的Q学习算法中,贝尔曼方程被用于Q值的更新过程,如下所示:
这里的α是学习率,用于控制新旧Q值的更新速度。通过这种方式,Q学习算法能够在探索环境的过程中不断学习并优化策略。
但是我们都知道,贝尔曼公式通常指离散时间(discrete-time)最佳化问题的动态规划方程。处理连续时间(continuous-time)最佳化问题上我们有新的方程和方法(这个之后说)。
尾声
好像就这些