7.2_多智能体强化学习 (MARL) 介绍

从单智能体到多智能体

在第一个单元中,我们学习了如何在单智能体系统中训练智能体。在这种情况下,我们的智能体是独自存在于环境中的,它不与其他智能体进行合作或协作

Patchwork
你从本课程开始训练智能体以来训练的所有环境的拼贴。

当进行多智能体强化学习(MARL)时,我们处于这样一种情况:有多个智能体共享并相互作用于一个共同的环境

例如,可以想象一个仓库,其中多个机器人需要在其中导航以装载和卸载包裹

Warehouse
[Image by upklyak](https://www.freepik.com/free-vector/robots-warehouse-interior-automated-machines_32117680.htm#query=warehouse robot&position=17&from_view=keyword) on Freepik

或者是一条道路上有多辆自动驾驶车辆

Self driving cars
[Image by jcomp](https://www.freepik.com/free-vector/autonomous-smart-car-automatic-wireless-sensor-driving-road-around-car-autonomous-smart-car-goes-scans-roads-observe-distance-automatic-braking-system_26413332.htm#query=self driving cars highway&position=34&from_view=search&track=ais) on Freepik

在这些例子中,我们有多个智能体与环境和其他智能体进行交互。这意味着我们需要定义一个多智能体系统。但首先,让我们了解不同类型的多智能体环境。

不同类型的多智能体环境

在多智能体系统中,智能体与其他智能体进行交互,我们可以有不同类型的环境:

例如,在一个仓库中,机器人必须协作以尽可能高效地装卸货物(尽快)

例如,在一场网球比赛中,每个智能体都想击败对手

Tennis
SoccerTwos
环境由 Unity MLAgents 团队创建

那么现在我们可能会想知道:我们应该如何设计这些多智能体系统呢?换句话说,我们如何在多智能体环境中训练智能体呢?