0 前言
多智能体系统中有 m 个智能体,每个智能 体有自己的观测(
)和动作
。
我们考虑
非合作关系
的multi-agent RL。如果做中心化训练,需要用到 m 个状态价值网络
![](https://img-blog.csdnimg.cn/5357290a311442b9beb1c70ca67f9252.png)
或 m 个动作价值网络
由于是非合作关系,
m
个价值网络有各自的参数,而且它们的输出各不相同。我们首先
以状态价值网络
v
为例讲解神经网络的结构。
1 不使用自注意力的状态价值网络
每个价值网络是一个独立的神经网络,有自己的参数。
底层提取特征的卷积网络可以在 m
个价值网络中共享(即复用),而上层的全连接网络不能共享。
神经网络的输入是所有智能体的观测的连接 (Concatenation), 输出是实数
1.1 不足之处
-
智能体数量 m 越大,神经网络 的参数越多。
-
神经网络的输入是 m 个观测的连接,它们被映射到特征向量 x 。
-
m 越大,我们就必 须把向量 x 维度设置得越大,否则 x 无法很好地概括
的完整信息。
-
x 维度越大,全连接网络的参数就越多,神经网络就越难训练(即需要收集更多的经验才能训练好神经网络)。
-
-
当 m 很大的时候,并非所有智能体的观测
都与第 i 号智能体密切相关。
-
第 i 号智能体应当学会判断哪些智能体最相关,并重点关注密切相关的智能体,避免决策受无关的智能体干扰。
-
- 图 17.7 中价值网络的输入是
,即所有观测的连接。如果交换其中
和
的位置,那么价值网络输出的
会发生变化,这是没有道理的。理想情况下,只要
,那么交换
和
的位置就不该改变第 i 号价值网络的输出值
2 使用自注意力的状态价值网络
- 输入仍然是所有智能体的观测
。对于所有的 i,用一个卷积网络把 oi映射到特征向量 xi。这些卷积网络的参数都是相同的。
-
自注意力层的输入是向量序列
,输出是序列
。向量 ci 依 赖于所有的观测
,但是 c i 主要取决于最密切相关的一个或几个 x 。
-
第 i 号全连接网络把向量 c i 作为输入,输出一个实数
,作为第 i 号价值网络的输出。在非合作关系的设定下,m 个价值网络是不同的,因此 m 个全连接网络不共享参数。
3 使用自注意力的动作价值网络