1 非合作关系下的策略学习
在合作关系下,所有智能体的奖励都相等
在合作关系的剩下,所有智能体有相同的状态价值函数
,故而有相同的目标函数
1.1 非合作关系下的回报与目标函数
如果是非合作关系
——>两个智能体的奖励不相等,即
——>他们的回报也不相等,即
——>回报的期望(即价值函数)也不相等,此时我们讲这些智能体的价值函数记作
第 i 个智能体的目标函数是状态价值的期望
注意:此时目标函数
是各不相同的,也就是说各个智能体之间没有共同的目标
注意:第i个智能体的目标函数
依赖于所有智能体的策略网络参数
——>因为环境状态S是由所有智能体共同决定的
——>举个例子,你玩MOBA游戏,你自己的策略假设不变,但你队友是菜鸟/大神,他们的策略网络参数θ是不同的,这也会影响到整局比赛的走势,进而影响你的收益和目标函数值
1.2 非合作关系下的策略学习
在多智能体的策略学习中,第 i 个智能体的目标是改进自己的策略参数,使得
尽量大。
多智能体的策略学习可以描述为这样的问题:![]()
再次注意:此时目标函数
各不相同,也就是说各个智能体之间没有共同的目标
策略学习的基本思想是让每个智能体各自做策略梯度上升:
1.2.1 收敛的条件
- 在非合作关系设定下,收敛标准是纳什均衡。
- 一个智能体在制定策略的时候,要考虑到其他各方的策略。
- 在纳什均衡的情况下,每一个智能体都在以最优的方式来应对其他各方的策略。
- 在纳什均衡的情况下,谁也没有动机去单独改变自己的策略,因为改变策略不会增加自己的收益。
- 这样就达到了一种平衡状态,所有智能体都找不到更好的策略。这种平衡状态就被认为是收敛。
- 在实验中,如果所有智能体的平均回报都不再变化,就可以认为达到了纳什均衡。
![](https://i-blog.csdnimg.cn/blog_migrate/f0cb3dece7dc7ce1def21e62ae069018.png)
1.2.2 评价策略的优劣
![](https://i-blog.csdnimg.cn/blog_migrate/d0dfae74f5c7d3bbc2b62ee6d56d406c.png)
2 非合作设定下的多智能体 A2C
2.1 策略网络和价值网络
MAN-A2C 中,每个智能体有自己的策略网络和价值网络
第 i 个智能体的策略网络需要把所有智能体的观测
作为输入,并输出一个概率分布
第 i 个智能体依据该概率分布抽样得到动作![]()
两类神经网络的结构与完全竞争关系下的 MAC-A2C 完全相同。
他们的区别在于
-
MAC-A2C 用于完全合作关系,所有智能体有相同的状态价值函数 V π ( s ) , 所以只用一个神经网络近似 V π ( s ) ,记作 v ( s ; w ) 。
-
MAN-A2C 用于非合作关系,每个智能体 各有一个 状态价值函数
,所 以每个智能体各自对应一个价值网络
2.2 算法推导
![](https://i-blog.csdnimg.cn/blog_migrate/405d9d551f8f0a6315be728e2c69e905.png)
我们用作为定理中的基线,并且用价值网络
近似
和A2C一样,策略梯度可以近似成:![]()
于是使用TD上升更新策略网络参数
2.3 训练流程
和完全合作关系下是一样的
每一个智能体自己做价值网络更新
每一个智能体自己做策略网络更新
和A2C一样,MAN-A2C 属于同策略 (On-policy),不能使用经验回放。
2.4 决策
3 三种架构
3.1 中心化训练+中心化决策
中央控制器 (Central Controller) 里面部署了所有 m 个价值网络和策略网络:
![]()
训练和决策全部由中央控制器完成。智能体负责与环境交互,执行中央控制器的决策, 并把观测到的
和
汇报给中央控制器。
3.1.1 MAC-A2C 与 MAN-A2C 的区别
- MAC-A2C 的中央控制器上只有一个价值网络, 而MAN-A2C 则有 m 个价值网络。
- MAC-A2C 的每一轮只有一个全局的奖励r,MAN-A2C 的每个智能体都有自己的奖励
3.2 去中心化训练 + 去中心化决策
![](https://i-blog.csdnimg.cn/blog_migrate/a8d3a5a7923ae09078ca5bfe3606dec3.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e3eb70590fe9a2a6d1872e77c34e83a3.png)
3.3 中心化训练 + 去中心化决策
![](https://i-blog.csdnimg.cn/blog_migrate/9918f50ff28f0f3fcebc030439ddb9fe.png)
中央控制器上有所有的价值网络及其目标网络![]()
中央控制器用智能体发来的观测
和奖励
训练这些价值网络。
- 中央控制器把 TD 误差
反馈给智能体
- 第i号智能体用
,本地的
更新自己的策略网络
3.3.1 中心化训练
每一个智能体与环境交互,获得数据
中央控制器分别更新m个智能体的 价值网络和目标网络
中央控制器把 TD 误差反馈给对应的智能体后,每个智能体分别更新自己的策略网络
3.3.2 去中心化决策