是否有可以扩展到大型问题的强化学习算法?

人工智能 强化学习
2021-10-23 23:28:15

给定一个大问题,值迭代和其他基于表的方法似乎需要太多的迭代才能开始收敛。是否有其他强化学习方法可以更好地扩展到大型问题并最大限度地减少一般的迭代量?

1个回答

这是一个很大的问题。我不会尝试介绍最先进的技术,但我会尝试介绍一些主要思想。

函数逼近[1]
扩大 RL 算法的基本策略是通过函数逼近来减小状态和/或动作空间的有效大小。例如,您可以使用比状态更少的参数来参数化您的值函数。然后优化将在更小的参数空间中进行,这可以大大加快。请注意,使用函数逼近几乎总是会让您失去任何收敛保证,否则您将在表格设置中获得。不过,它在实践中非常成功。

采样[2]
值迭代和其他动态规划算法在计算值函数时会扫描整个状态空间。相反,基于样本的方法会在访问状态时更新它们的值函数。这些包括蒙特卡洛和时间差异方法。采样使我们能够专注于状态的一个子集,从而将我们从获得潜在不相关状态的准确值估计所需的计算中解放出来。这在现实世界中是必不可少的,因为世界上几乎所有可能的状态都是不相关的,甚至是不可能达到的。

样本效率/经验重播
在其他条件相同的情况下,样本高效代理是在相同经验的情况下学习更多内容的代理。这样做可以减少学习时间,尤其是当时间瓶颈在于与环境交互时。提高样本效率的一种基本方法是使用类似DQN 论文中普及的体验重放缓冲区之类的东西来存储和重用体验另一种更新的算法称为Hindsight Experience Replay,它允许代理从其失败(没有奖励的轨迹)中学习更多信息,从而提高了样本效率。

基于模型的方法[3]
虽然在技术上也与样本效率有关(也许所有这些点都是?),但基于模型的方法非常重要,足以保证它们自己的部分。通常,代理事先并不知道 MDP 动态。因此,学习和维护 MDP 的估计通常是一个好主意。如果代理可以使用其内部世界模型来模拟体验,那么除了从实际体验中学习外,它还可以从模拟体验中学习(称为计划)。因为模拟经验比实际经验要便宜得多,这可以减少学习所需的时间。

搜索[4]
如果我们的价值估计是完美的,那么最佳行为只是移动到具有最高价值的相邻状态的问题。然而,这种情况几乎从未发生过,因此我们希望做出更明智的决策。一种称为前向搜索的方法是使用模型来考虑从当前状态开始的许多可能的轨迹。前向搜索最流行和最成功的例子是蒙特卡洛树搜索 (MCTS),它曾在AlphaGo Zero中使用过。因为搜索允许我们在不完美的价值估计下做出更好的决策,所以我们可以专注于更有希望的轨迹,节省时间和计算。

探索
只在给定状态下采取我们认为是“最佳”的行动通常不是一个好主意。当通过大型状态和/或动作空间对轨迹进行采样时,此策略可能会完全失败。采取探索性行动有助于确保发现高价值状态。决定何时探索以及采取哪些行动是活跃的研究领域。不过,一般来说,探索性行为是减少智能体对环境的不确定性的行为。

注入人类知识
最后,也许很明显,降低 RL 算法的时间复杂度可以通过为代理提供更多关于世界的信息来实现。这可以通过多种方式完成。例如,如果使用线性函数逼近,代理可以通过它使用的特征获得有用的信息。如果它使用模型,则可以使用合理的先验来初始化模型,用于奖励和转移概率分布。“奖励塑造”,即手动设计(密集)奖励函数以促进学习特定任务的做法,是一种更通用的方法。代理还可以通过逆强化学习模仿学习直接从人类演示中学习


参考资料所有未链接的参考资料均来自Sutton 和 Barto 的 RL 书中的
章节 [1] 第 9 章深入讨论线性函数逼近。 [2] 第 5 章和第 6 章讨论蒙特卡罗和时间差分方法。 [3] 第 8 章第一部分讨论基于模型的方法。 [4 ] MCTS 和一般搜索将在第 8 章的后半部分讨论。