据我了解,Q-learning 和策略梯度 (PG) 是用于解决 RL 问题的两种主要方法。虽然 Q-learning 旨在预测在特定状态下采取的特定动作的奖励,但策略梯度直接预测动作本身。
然而,这两种方法对我来说似乎相同,即预测一个动作的最大奖励(Q-learning)等同于预测直接采取该动作的概率(PG)。损失反向传播的方式有什么不同吗?
据我了解,Q-learning 和策略梯度 (PG) 是用于解决 RL 问题的两种主要方法。虽然 Q-learning 旨在预测在特定状态下采取的特定动作的奖励,但策略梯度直接预测动作本身。
然而,这两种方法对我来说似乎相同,即预测一个动作的最大奖励(Q-learning)等同于预测直接采取该动作的概率(PG)。损失反向传播的方式有什么不同吗?
然而,这两种方法似乎与我相同,即预测一个动作的最大奖励(Q-learning)等同于预测直接采取该动作的概率(PG)。
这两种方法在理论上都是由马尔可夫决策过程结构驱动的,因此使用相似的符号和概念。此外,在简单的可解环境中,您应该期望这两种方法产生相同或至少等效的最优策略。
但是,它们在内部实际上是不同的。这些方法之间最根本的区别在于它们如何处理动作选择,无论是在学习时还是作为输出(学习策略)。在 Q-learning 中,目标是通过找到最大值从一组离散的动作中学习单个确定性动作。通过策略梯度和其他直接策略搜索,目标是学习从状态到动作的映射,该映射可以是随机的,并且在连续动作空间中起作用。
因此,策略梯度方法可以解决基于值的方法无法解决的问题:
大而连续的动作空间。然而,对于基于值的方法,这仍然可以通过离散化来近似——这不是一个糟糕的选择,因为策略梯度中的映射函数在实践中必须是某种近似器。
随机政策。基于价值的方法无法解决最优策略是随机的、需要特定概率的环境,例如剪刀/纸/石头。这是因为在 Q 学习中没有可训练的参数来控制动作概率,TD 学习中的问题表述假设确定性代理可以是最优的。
然而,像 Q-learning 这样的基于价值的方法也有一些优势:
简单。您可以将 Q 函数实现为简单的离散表,这可以保证收敛。没有表格版本的策略梯度,因为您需要一个映射函数,它也必须具有相对于的平滑梯度。
速度。自举的 TD 学习方法通常比必须纯粹从环境中采样以评估进度的方法更快地学习策略。
您可能会关心使用一种或其他方法的其他原因:
您可能想知道流程运行时的预计回报,以帮助与代理相关的其他计划流程。
问题的状态表示更容易适用于价值函数或策略函数。价值函数可能与状态具有非常简单的关系,而策略函数非常复杂且难以学习,反之亦然。
一些最先进的 RL 求解器实际上同时使用了这两种方法,例如 Actor-Critic。这结合了价值和策略梯度方法的优势。
OpenAI的本教程对不同的 RL 方法进行了很好的比较。
我将尝试总结 Q-Learning 和 Policy Gradient 方法之间的区别:
目标函数
开启与关闭策略
稳定性和样品效率