深度强化学习课程文档
贝尔曼方程:简化我们的价值估计
加入 Hugging Face 社区
并获得增强的文档体验
开始使用
贝尔曼方程:简化我们的价值估计
贝尔曼方程简化了我们的状态价值或状态-动作价值计算。

根据我们目前所学,我们知道,如果计算(一个状态的价值),我们需要计算从该状态开始的收益,然后永远遵循该策略。(我们在以下示例中定义的策略是贪婪策略;为简化起见,我们不折现奖励)。
因此,要计算,我们需要计算预期奖励的总和。因此

然后,要计算,我们需要计算从该状态开始的收益.

所以你可能已经注意到,我们正在重复计算不同状态的价值,如果你需要对每个状态值或状态-动作值都这样做,这可能很繁琐。
与其计算每个状态或每个状态-动作对的预期收益,不如使用贝尔曼方程。 (提示:如果你知道什么是动态规划,这非常相似!如果你不知道,别担心!)
贝尔曼方程是一个递归方程,其工作方式如下:不是从头开始计算每个状态的收益,我们可以将任何状态的价值视为
即时奖励+ 下一个状态的折现价值 ( ) .

如果我们回到我们的例子,我们可以说状态 1 的价值等于我们从该状态开始的预期累积收益。

计算状态 1 的价值:如果代理从状态 1 开始,并在所有时间步遵循策略,则奖励的总和。
这等同于= 即时奖励+ 下一个状态的折现价值

为简单起见,这里我们不折现,所以伽马 = 1。但是你将在本单元的 Q-Learning 部分学习一个伽马 = 0.99 的例子。
- 的价值= 即时奖励+ 下一个状态的折现价值 ( ).
- 等等。
总而言之,贝尔曼方程的思想是,我们不是将每个价值计算为预期收益的总和(这是一个漫长的过程),而是将价值计算为即时奖励 + 下一个状态的折现价值的总和。
在进入下一部分之前,思考一下伽马在贝尔曼方程中的作用。如果伽马值非常低(例如 0.1 甚至 0)会发生什么?如果伽马值是 1 会发生什么?如果伽马值非常高,例如一百万,会发生什么?
< > 在 GitHub 上更新