趋近智
训练复杂的强化学习智能体,特别是那些在大状态空间上使用深度神经网络或需要大量环境交互的智能体,常常会超出单机计算的能力。正如本章前面关于优化部分所讨论的,扩展学习过程变得很有必要。分布式强化学习提供了并行计算的技术,主要侧重于加速两个主要瓶颈:环境交互(数据收集)和模型训练(梯度计算)。借助多台机器或多个处理单元,我们可以大幅减少训练出高效策略所需的实际运行时间。
"强化学习中最耗时的方面之一是与环境交互以收集经验。模拟器可能运行缓慢,且交互本身受时间限制。一种常见且有效的方法是使用多个“执行器”进程并行化这个数据收集过程。"
每个执行器运行一个环境实例,并使用当前策略的副本与其交互。这些执行器独立并并行运行,收集轨迹(状态、动作、奖励、下一状态的序列)。收集到的经验随后被汇总,通常发送给一个中心学习器或共享经验回放缓冲区。
典型的分布式数据收集配置。多个执行器并行与环境实例交互,将收集到的经验发送到中心经验回放缓冲区,该缓冲区将数据提供给学习器进行策略更新。更新后的策略会定期分发回执行器。
这种方法显著增加了单位时间收集到的经验量。IMPALA 和 SEED RL 等架构非常依赖这一原理。
第二个主要瓶颈是训练代表策略和/或价值函数的神经网络。随着模型变大和数据集(经验回放缓冲区)增长,梯度计算和参数更新变得计算密集。这里可以应用分布式深度学习的标准技术。
分布式训练中的数据并行。一个数据批次被拆分到多个设备上,每个设备都持有一个模型副本。梯度在本地计算,然后进行汇总,之后再更新所有副本上的模型参数。
有几种有影响力的架构结合了分布式数据收集和训练原理:
异步优势Actor-Critic (A3C): 早期成功的分布式方法之一。A3C 使用多个工作器,每个工作器都有自己的环境实例和模型副本。工作器根据其交互在本地计算梯度,并异步更新一个中心全局模型。虽然它开创了先河,但异步更新可能导致工作器使用“过时”策略(未反映最新更新的策略),与同步方法相比,这可能导致不稳定或次优收敛。它通常不使用经验回放缓冲区。
同步优势Actor-Critic (A2C): 一种同步变体,在这种变体中协调器等待所有执行器完成一段经验收集。梯度被计算(通常在执行器上或中心地),并在对中心模型应用单个更新步骤之前进行平均。这通常比 A3C 带来更稳定的训练和更好的硬件利用率(特别是 GPU),但可能受限于最慢的工作器。
IMPALA (重要性加权Actor-Learner架构): 专为大规模并行设计。它显著分离了执行和学习。许多执行器运行策略的不同版本(落后于学习器),并将轨迹发送到中心学习器。学习器以大批次处理这些轨迹,使用一种称为 V-trace 的离策略校正技术来弥补策略滞后。这使得数据吞吐量极高。
SEED RL (可扩展、高效的深度强化学习): 优化加速器(GPU/TPU)的使用。执行器只专注于环境步骤,并将观测值发送到中心学习器。运行在加速器上的学习器执行模型推断(为所有执行器计算动作)和训练更新(梯度计算)。这最大限度地减少了通信(只发送观测值和动作,而不是频繁发送完整的模型参数或梯度),并使强大的加速器得到高利用。
A3C 和 SEED RL 架构的简化比较。A3C 使用工作器计算自己的梯度并进行异步更新。SEED RL 将模型推断和训练集中在加速器上,执行器主要处理环境交互。
实施分布式强化学习系统会带来一些特有挑战:
分布式系统对于扩展强化学习的实现能力非常有帮助。通过仔细权衡不同并行策略之间的利弊,并借助合适的框架,您可以在比单机更具挑战性的问题上更高效地训练更复杂的智能体。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造