MAAC注意力模块简要笔记

MAAC注意力模块笔记

MAAC的主要思想是通过有选择的注意其他智能体的信息,来为每个智能体学习一个critic。每个智能体询问其他智能体有关它们观察和动作的信息,并把此信息纳入对自己值函数的估计中。每个智能体都由一个critic,但是所有critic使用一个共享的注意模块。

为了计算每个智能体i的 Q i ψ ( o , a ) Q_i^ψ (o,a) Qiψ(o,a),critic接收所有的观察和动作。把除了智能体i以外的所有智能体记作 j j j Q i ψ ( o , a ) = f i ( g i ( o i , a i ) , x i ) Q_i^ψ (o,a)=f_i (g_i (o_i,a_i ),x_i) Qiψ(o,a)=fi(gi(oi,ai),xi)就是有关以下三部分的函数:

  • 智能体 i i i的观察;
  • 智能体 i i i的动作;
  • j j j的贡献。

x i x_i xi是除 i i i外每个智能体value的加权和:

x i = ∑ ( j ≠ i ) α j v j x_i=∑_{(j≠i)} \alpha_jv_j xi=(j=i)αjvj

智能体 j j j的value:

v j = h ( V g j ( o j , a j ) ) v_j=h(Vg_j (o_j,a_j)) vj=h(Vgj(oj,aj))

先把其观察和动作做嵌入,之后通过一个共享的矩阵V进行线性转换,h是非线性的MAAC中用的是ReLU,应该属于激活函数。

智能体j的权重 α j α_j αj的计算:

α j ∝ e x p ⁡ ( e j T W k T W q e i ) α_j∝exp⁡(e_j^T W_k^T W_q e_i) αjexp(ejTWkTWqei)

e j e_j ej e i e_i ei比较(使用双线性映射如query-key系统),并将二者的相似性值传入softmax。显然智能体j的嵌入与智能体i的嵌入越相似,其权重也就越高。

使用多个注意头(Multiple Attention Heads)
每个头对应一个智能体 i i i、使用一组参数( W k W_k Wk W q W_q Wq V V V,在所有智能体之间共享),产生 x i x_i xi。至关重要的是,头与头之间对其他智能体信息的加权情况可以不同,也就是说不同的智能体对其他智能体的关注情况可以不同

结构:
在这里插入图片描述

每个智能体对其观察和动作进行编码,发送到中心注意机制模块,并接收其他智能体的信息(其他智能体编码的加权和)。

优势:
MAAC不假设每个智能体的动作空间相同(但需要离散),不需要全局奖励,并动态关注其他智能体。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值