我正在阅读 Sutton & Barto 的强化学习,在第 3.2 节中,他们指出马尔可夫决策过程中的奖励始终是标量实数。同时,我听说了将功劳分配给行动以获得奖励的问题。向量奖励不会让智能体更容易理解动作的效果吗?具体来说,一个向量,其中不同的分量代表奖励的不同方面。例如,驾驶汽车的智能体可能有一个奖励分量用于平稳驾驶和一个奖励分量用于保持在车道上(这些都是相互独立的)。
为什么强化学习的奖励总是一个标量?
如果您有多种类型的奖励(例如,R1 和 R2),那么就不再清楚什么是最佳的行动方式:一种行动方式会使 R1 最大化,而另一种行动方式会使 R2 最大化。因此,最优策略、价值函数等都是未定义的。当然,您可以说您想要最大化,例如 R1+R2 或 2R1+R2 等。但在这种情况下,您又回到了一个标量数。
按照您的建议,将奖励分成多个组件仍然可以用于其他目的,例如,在您需要学习预测这些奖励的设置中。但是为了确定最佳操作,您需要将其归结为单个标量。
而不是刘等人的调查。以上推荐,我建议您阅读以下调查论文以了解 MORL 的概述(免责声明 - 我是这方面的合著者,但我真的认为这是对该领域的更有用的介绍)
Roijers, DM, Vamplew, P., Whiteson, S. 和 Dazeley, R. (2013)。多目标顺序决策的调查。人工智能研究杂志,48,67-113。
在我看来,Liu 等人的调查仅列出并简要描述了当时存在的 MORL 算法。该领域没有更深入的分析。由于包括我自己在内的其他几位作者的公然抄袭,他们论文的原始版本也被撤回,这可以在此处得到证实。
我们的调查通过描述使用单目标 RL 的代理可能无法提供满足用户需求的令人满意的解决方案的 3 个场景,为多目标方法的需求提供了论据。简而言之,这些是
未知权重场景,其中目标之间所需的权衡事先不知道,因此为了有效,代理必须学习对应于不同权衡的多个策略,然后在运行时选择与当前匹配的策略偏好(例如,当目标对应于随着时间相对价格变化的不同成本时,可能会出现这种情况);
奖励向量的标量化不可行的决策支持场景(例如,在主观偏好的情况下,它无法明确量化),因此代理需要学习一组策略,然后将这些策略呈现给将选择他们的首选选项,并且
已知权重场景,其中目标之间的期望权衡是已知的,但其性质是回报是非累加的(即,如果用户的效用函数是非线性的),因此基于标准的单目标方法贝尔曼方程不能直接应用。
我们根据它们需要的策略数量(单策略或多策略)、支持的效用/标量函数的形式(线性或非线性)以及是否允许确定性或随机策略,提出了MORL 问题的分类,以及将此与 MO 算法需要输出的一组解的性质联系起来。然后使用该分类法对现有的 MO 规划和 MORL 方法进行分类。
最后一项重要贡献是确定最大化预期标化回报 (ESR)或标化预期回报 (SER)之间的区别。前者适用于我们关心每个单独事件中的结果(例如,在治疗患者时 - 患者只会关心他们自己的个人经历),而如果我们关心平均回报率,则 SER 是合适的多集。事实证明,这是一个比我在调查时预期的要重要得多的问题,Diederik Roijers 和他的同事从那时起对其进行了更仔细的研究(例如,多目标强化学习用于期望收益的效用)
马尔可夫决策问题通常用奖励函数定义,在这些情况下,奖励应该是标量实数值。这使得强化学习 (RL) 更容易,例如在定义策略时,很清楚状态中 Q 因子的最大值是多少。
正如您可能还意识到的那样,在实践中,问题通常具有我们希望同时优化的多个目标。这称为多目标优化,相关的 RL 领域是多目标强化学习 (MORL)。如果您可以访问论文Liu, Xu, Hu: Multiobjective Reinforcement Learning: A Comprehensive Overview (2015),您可能有兴趣阅读它。(编辑:正如彼得在他的回答中指出的那样,这篇论文的原始版本被发现是对其他各种作品的抄袭。请参阅他的回答以获得更好的资源。)
上述论文将处理多重奖励的方法分为两类:
- 单一目标策略,其中多个奖励以某种方式聚合为一个标量值。这可以通过赋予奖励权重,使某些目标成为约束并优化其他目标,对目标进行排名并按顺序优化它们等来完成。(注意:根据我的经验,奖励的加权总和并不是一个好的目标,因为它可能会以非常强制的方式结合两个完全不相关的目标。)
- 帕累托策略,目标是找到帕累托最优策略或帕累托前沿。在这种情况下,我们将奖励保持为一个向量,并可以计算一个复合 Q 因子,例如:并且可能必须修改函数以选择 Pareto 意义上的最大值。
最后,我认为重要的是要提醒您,所有这些方法实际上都取决于用例以及您真正想要实现的目标,并且没有一种解决方案适合所有人。即使找到了合适的方法,您也可能会发现自己花时间调整超参数,以便您的 RL 代理在一个特定场景中执行您希望它执行的操作,并在稍微不同的场景中执行其他操作。(例如,在高速公路上接管与在乡村道路上接管)。