### 理解策略和价值函数的强化学习

您有一个策略,它实际上是所有状态的动作概率分布。价值函数决定了实现最高奖励的最佳行动路线。

所以我有一个随机策略。我获得了价值函数。我根据价值函数用新的分布更新我的策略。我获得了这个新更新策略的价值函数,并再次重新评估。

根据这个定义,我难以理解价值迭代如何工作,我认为这是因为我对价值函数的理解有误。

价值函数不是最佳行动路线,它只是决定奖励的一系列行动吗?策略迭代是否只是寻找一个比当前奖励更高的价值函数,然后立即更新,这给出了我的状态的新动作分布(一个新的策略),然后对其每一个状态迭代进行,直到收敛?

在这种情况下,价值迭代是否在序列中的每个状态寻找单一的最佳可能行动(而不是一个仅仅更好的行动)?我在这里难以理解为什么不会更新策略?

我对策略和价值函数等的理解是否正确?

我认为我对策略的理解肯定是错误的:如果策略只是我所有状态的所有可能动作的分布,那么我并不完全确定“更新”它意味着什么。如果只是更新分布,那么如果它使用的是一个“更差”的分布,价值迭代是如何工作的,因为策略在初始化时不是随机的吗?我无法理解这些如何收敛并同样有效?


回答:

您有一个策略,它实际上是所有状态的动作概率分布。

是的

价值函数决定了实现最高奖励的最佳行动路线。

不是。价值函数告诉您,对于给定的策略,在状态s采取动作a的预期累积奖励是多少。

暂时忘记价值迭代和策略迭代。您应该尝试理解的两个事情是策略评估和策略改进。

  • 在策略评估中,您为给定的策略计算状态-价值函数(它告诉您在某个状态下并随后根据策略行动的预期累积奖励)。对于每个状态,您查看所有邻近状态并计算该状态下策略的预期值(根据策略概率加权的邻居值的总和)。您必须循环遍历所有状态反复进行此操作。这在极限情况下收敛到该策略的真实状态-价值函数(在实践中,当变化变得很小时,您会停止)。

  • 在策略改进中,您检查状态-价值函数,并在每个状态下问,根据价值函数我能采取的最佳行动是什么?当前策略采取的行动可能不会导致最高价值的邻居。如果不是这样,我们可以通过采取行动达到更好的邻居来轻易地制定一个更好的策略。由此产生的新策略更好(或至少一样好)。

策略迭代只是重复的策略评估和策略改进。

在价值迭代中,您截断了评估步骤。因此,与其遵循完整的评估过程直到收敛,您只进行一步查看邻近状态,并且不是在策略下采取预期,而是立即进行策略改进,通过存储最大邻居值。评估和改进是混合在一起的。您重复这个混合步骤,直到值的变化非常小。为什么这会收敛的主要思想是相同的;您在评估策略,然后改进它,直到它不再能被改进。

您可能有许多方法去理解策略和价值迭代。您可以在《强化学习:引言》第2版中阅读更多关于这种评估和改进框架的信息。我省略了一些关于折扣的重要细节,但希望总体图景现在更清晰了。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注