[强化学习]多智能体强化学习

去中心化(Fully decentralized)

  • 每个Agent独立和环境交互,并且用自己的观测和奖励来更新自己的策略。

介绍

  • 每个Agent都是独立的个体,互相不沟通交流。
  • 每个Agent都独立和环境交互,获取o和r。
  • 每个Agent都有自己的策略网络。独立训练自己的策略网络,和单智能体强化学习一样。
  • 本质还是单智能体强化学习。

去中心化AC

  • 第i个智能体拥有一个策略网络(actor):$π(a^i|o^i;\theta^i).$
  • 第i个智能体拥有一个价值网络(critic):$q(o^i|a^i;w^i).$
  • Agent之间不共享观测和动作。
  • Actor网络和Critic网络的训练方式和单智能体一样。

完全中心化(Fullt centeralized)

  • 所有agent都把信息传给中央控制器,中央控制器知道每个Agent的观测和奖励。Agent没有策略网络,自己不做决策,决策都由中央做。

  • Agent上没有策略网络,不能自己做决策。
  • 每个Agent把自己的观测上传给中央,中央作出决策后发送给每个Agent。

中心化AC

  • $a=[a^1,a^2,…a^n]$ 表示所有Agent的动作。
  • $o=[o^1,o^2,…o^n]$ 表示所有Agent的观测。
  • 中央控制器知道所有的a,o和所有的奖励。
  • 中央控制器拥有n个策略网络和那个价值网络:
    • 第i个Agent的策略网络:$π(a^i|o;\theta^i).$
    • 第i个Agent的价值网络:$q(o|a;w^i).$
  • 训练完全由中央控制器执行:
    • 使用策略梯度来训练策略网络。
    • 使用TD算法来训练价值网络。
  • 训练技术后,中央控制器用策略网络做决策:
    • 对于每个Agent,每个Agent把自己的观测$o^i$上传给中央。
    • 中央知道 $o=[o^1,o^2,…o^n]$
    • 对于全部Agent,中央从第i个策略网络$a^i~π(\cdot|o;\theta^i)$随机抽样一个动作$a^i$并发送给第i个Agent。

总结

  • 好处:知道全局信息,可以更好的做决策。
  • 缺点:决策慢。决策过程需要通信,无法做到实时的决策。

中心化训练,分布式执行(Centeralized tarining with decentralized execution)

  • Agent各自有各自的策略网络。
  • 中央控制器帮助Agent训练策略网络。
  • 训练结束后每个Agent根据自己的策略网络做决策,不需要和中央控制器通信。

介绍

  • 每个Agent拥有自己的策略网络(actor):$π(a^i|o^i;\theta^).$
  • 中央控制器上有n个价值网络(critic):$q(o|a;w^i).$
  • 中心化训练:训练期间,中央控制器知道每个Agent的观测,动作和奖励。
  • 分布式执行:训练结束后,每个Agent独立做决策。不需要中央控制器。

  • 每个Agent作出动作$a^i$与环境$o^i$交互,得到$r^i$,训练时讲动作,观测和奖励全部上传到中央。

  • 中央控制器上有所有Agent的动作,环境和奖励。
  • 中央控制器训练所有的Critic,$q(o|a;w^i).$
  • 更新$w^i$,使用TD算法的输入为:
    • 所有的动作:$a=[a^1,a^2,…a^n].$
    • 所有的观测:$o=[o^1,o^2,…o^n].$
    • 第i个智能体的奖励:$r^i.$

  • 第i个Critic网络的输出记为$q^i$,将他们发送给相应的Actor。
  • 买个Agent训练自己的策略网络$π(a^i|o^i;\theta^)$,使用策略梯度。
  • 去更新$\theta^i$,策略梯度算法的输入为$(a^i,o^i,q^i).$不需要知道其他Agent的策略和网络。