强化学习中的矢量化环境是什么?

Aym*_*yma 7 reinforcement-learning

我很难弄清楚应该使用什么以及何时使用矢量化环境。如果您能提供一个用例示例,那就太好了。

SB3 中矢量化环境的文档: https://stable-baselines3.readthedocs.io/en/master/guide/vec_envs.html

Rao*_*los 6

矢量化环境是一种将多个独立环境堆叠到单个环境中的方法。它允许在每个步骤的多个环境中训练代理,而不是在每个步骤的 1 个环境上执行和训练代理。

通常你也希望这些环境有不同的种子,以便获得更多样化的经验。这对于加快训练速度非常有用。

我认为它们被称为“向量化”,因为每个训练步骤代理都会观察多个状态(插入向量中),输出多个动作(每个环境一个),这些动作插入向量中,并接收多个奖励。因此“矢量化”一词

  • 它基本上允许在多个环境上并行训练代理。由于大多数强化学习算法都非常需要“经验”,因此并行训练多个环境可以使代理快速学习如何行为。此外,由于大多数时候环境的运行计算成本并不高,因此即使在简单的笔记本电脑中,同时运行它们的多个副本也变得很简单。 (2认同)