为什么在强化学习的学习阶段 100% 探索不好?

人工智能 强化学习 探索-开发-权衡
2021-10-25 04:33:32

为什么我们不能在前 1000 集中让我们的代理只执行探索?

这将有更好的机会覆盖整个空间状态。然后,在剧集数之后,我们可以决定利用。

1个回答

为什么我们不能在前 1000 集中让我们的代理只进行探索

你可以这样做。学习简单随机策略的价值函数或执行离策略更新时都可以这样做。当以一种安全的方式(例如在模拟中)从头开始学习环境时,从完全随机的行为中收集一组初始数据是很正常的。这种随机数据的数量会有所不同,通常代理不会从完全随机切换到基于计算值作为一个步骤的完全确定性,而是会逐渐这样做。

这将有更好的机会覆盖整个空间状态

这将取决于问题的性质。对于非常简单的问题,它可能会探索足够的空间来学习。然而,对于许多问题,这只是一个起点,不足以涵盖对最优控制感兴趣的部分空间。

当行为完全随机时,代理可能需要很长时间才能完成一集,并且可能永远不会完成它的第一集。因此,您可能要等待很长时间才能收集前 1000 个此类剧集的数据。这种环境的一个例子是一个大迷宫 - 代理将在迷宫中来回移动,一次又一次地重新访问相同的部分,理论上它可能已经在学习不重复它的错误。

在某些环境中,完全随机的行为会导致早期失败,并且永远不会体验到环境中可用的积极奖励。这方面的一个例子可能是机器人学习在钢丝绳上保持平衡并从一端到达另一端。它会在一些随机动作后脱落,1000 集的知识很少。

理想情况下,您正在寻找的状态空间覆盖范围应该包括通过空间的最佳路径 - 至少在学习期间的某个时间点(不一定是开始)。这不必出现在一个完美的情节中,因为强化学习 (RL) 中值函数的更新规则最终会分配正确的值并在数据中找到这条最优路径。但是,收集的数据确实需要在所有备选方案中包含有关此最佳路径的信息,以便 RL 中的方法可以评估和选择它。在简单的环境中随机行动可能足以获得这些数据,但在环境更复杂时变得极不可能。

然后在剧集数之后,我们可以决定利用

同样,这可能适用于非常简单的环境,您通过随机行动收集了足够的信息来构建有用的价值函数。但是,如果随机行动没有找到足够多的最佳路径,那么利用可以做的最好的事情就是根据收集的数据找到一些局部最优值。

我建议您自己体验一下这种差异:设置一个玩具示例环境,并用它来比较在纯探索和纯开发之间移动的不同方法。您将需要运行许多实验(每个组合可能 100 次,平均)以消除随机性,并且您可以绘制结果以查看每种方法的学习效果 - 例如多少时间步(计算时间步,而不是情节,如果您对样本效率感兴趣)代理学习所需的时间,以及它是否真的找到了正确的最佳行为。请记住,特定结果仅适用于您选择的环境 - 因此您可能还希望在小范围的环境中进行此比较。