深度强化学习课程文档

设计多智能体系统

Hugging Face's logo
加入 Hugging Face 社区

并获得增强的文档体验

开始使用

设计多智能体系统

在本节中,你将观看 Brian Douglas 制作的这段关于多智能体的精彩介绍。

在这段视频中,Brian 谈到了如何设计多智能体系统。他特别举了一个吸尘器多智能体系统,并提出了问题:它们如何相互协作

我们有两种解决方案来设计这种多智能体强化学习系统 (MARL)。

去中心化系统

Decentralized
来源:多智能体强化学习简介

在去中心化学习中,每个智能体独立于其他智能体进行训练。在给定的例子中,每个吸尘器都学习尽可能多地清理地方,而不关心其他吸尘器(智能体)正在做什么

好处是,由于智能体之间不共享信息,这些吸尘器可以像我们训练单个智能体一样进行设计和训练

这里的想法是,我们的训练智能体将把其他智能体视为环境动态的一部分。而不是作为智能体。

然而,这种技术的主要缺点是它会使环境变得非平稳,因为随着其他智能体也在环境中交互,底层的马尔可夫决策过程会随时间变化。这对于许多强化学习算法来说是一个问题,因为它们无法在非平稳环境中达到全局最优

中心化方法

Centralized
来源:多智能体强化学习简介

在这种架构中,我们有一个高级进程来收集智能体的经验:经验缓冲区。我们将使用这些经验来学习一个共同的策略

例如,在吸尘器示例中,观察结果将是:

  • 吸尘器的覆盖图。
  • 所有吸尘器的位置。

我们利用这些集体经验来训练一个策略,该策略将以最有利的方式移动所有三个机器人。因此,每个机器人都从它们的共同经验中学习。我们现在有一个平稳的环境,因为所有智能体都被视为一个更大的实体,并且它们知道其他智能体策略的变化(因为它们与它们的策略相同)。

总结一下

  • 去中心化方法中,我们独立地对待所有智能体,而不考虑其他智能体的存在。

    • 在这种情况下,所有智能体都将其他智能体视为环境的一部分
    • 这是一个非平稳环境条件,因此无法保证收敛。
  • 中心化方法

    • 从所有智能体中学习一个单一策略
    • 将环境的当前状态作为输入,策略输出联合动作。
    • 奖励是全局的。
< > 在 GitHub 上更新