通信学习 (Learning to Communicate):从“心电感应”到“语言涌现”

摘要

在多智能体强化学习(MARL)中,如果每个 Agent 只能看到局部视野(Partial Observability),这就好比一群蒙着眼睛的人在搬桌子------效率极低且容易撞车。为了打破信息孤岛,通信(Communication) 机制应运而生。与传统的预定义通信协议(如"收到请回复 1")不同,MARL 中的通信学习是指让智能体自己发明语言 。本文将详解 DIAL、CommNet 以及基于 Attention 的现代通信机制,带你领略 AI 之间如何通过梯度反向传播实现"心电感应"。


目录 (Table of Contents)

  1. 为什么智能体需要"说话"?
    • 打破部分可观测性 (Dec-POMDP)
    • 显式通信 vs 隐式通信
  2. 通信的数学模型
    • 消息 (Message) 也是一种动作
    • 通信通道 (Channel) 的定义
  3. 流派一:广播与平均 (CommNet)
    • 简单的"大锅饭"模型
    • 解决"鸡尾酒会问题"的局限性
  4. 流派二:可微通信与梯度传导 (DIAL)
    • Training 时的"心电感应"
    • Execution 时的"离散化"
    • RIAL vs DIAL
  5. 流派三:注意力机制与定向通信 (Attention & Gating)
    • BiCNet, ATOC, TarMAC
    • "我只跟有用的人说话"
  6. 有趣的现象:语言涌现 (Emergent Language)
    • AI 发明的语言我们能听懂吗?
  7. 总结

1. 为什么智能体需要"说话"?

1.1 打破部分可观测性

在 Dec-POMDP(去中心化部分可观测马尔可夫决策过程)中,每个智能体 i i i 只能看到 o i o_i oi。

  • 无通信:Agent A 看到前面有坑,但 Agent B 没看到。Agent A 只能干着急,眼睁睁看着 B 掉下去。
  • 有通信 :Agent A 发送消息 m A = "Danger" m_A = \text{"Danger"} mA="Danger",Agent B 接收后,其决策依据变成了 π ( u B ∣ o B , m A ) \pi(u_B | o_B, m_A) π(uB∣oB,mA)。此时 o B + m A o_B + m_A oB+mA 近似等于全局状态 S S S,盲区被消除了。

1.2 显式通信 vs 隐式通信

  • 隐式通信 (Implicit) :通过动作来传递信息。比如在自动驾驶中,前车突然刹车(动作),后车就知道前面有状况。这不需要专门的通信信道。
  • 显式通信 (Explicit) :通过专门的信道 (Channel) 发送连续向量或离散符号。这是本文讨论的重点。

2. 通信的数学模型

在 Comm-MARL 中,智能体的策略函数发生了变化:
u i , m i = π ( o i , m i n ) u_i, m_i = \pi(o_i, m_{in}) ui,mi=π(oi,min)

  1. 输入 :自己的观测 o i o_i oi + 队友发来的消息 m i n m_{in} min。
  2. 输出 :环境动作 u i u_i ui (移动/攻击) + 通信动作 m i m_i mi (说的话)。

这里的关键在于:m i m_i mi 是什么?

它可以是一个离散的词(Token),也可以是一个连续的向量(Embedding)。在深度强化学习中,通常通过神经网络直接输出一个连续向量作为消息。


3. 流派一:广播与平均 (CommNet)

CommNet (2016) 是最早尝试用深度学习解决多智能体通信的模型之一。

3.1 核心思想:大一统网络

CommNet 假设所有智能体由一个巨大的共享网络控制(但在物理上可以是分布式的模块)。

通信的方式非常简单粗暴:平均化 (Averaging)

对于智能体 i i i,它收到的消息是所有其他智能体发出消息的平均值:
h i t = f ( h i t − 1 , o i , 1 N − 1 ∑ j ≠ i m j ) h_i^t = f(h_i^{t-1}, o_i, \frac{1}{N-1} \sum_{j \neq i} m_j) hit=f(hit−1,oi,N−11j=i∑mj)

3.2 局限性:鸡尾酒会问题

  • 优点 :结构简单,处理任意数量的 Agent ( N N N 可变)。
  • 缺点信息丢失
    • 想象你在一个 100 人的房间里,所有人同时说话。CommNet 的做法是把这 100 个人的声音叠加取平均。结果就是一团白噪声,你根本听不清谁在说什么重要信息。
    • 这使得 CommNet 难以处理复杂的异构任务(比如 Agent A 需要听 Agent B 的,但必须忽略 Agent C 的)。

4. 流派二:可微通信与梯度传导 (DIAL)

DIAL (Differentiable Inter-Agent Learning) [Foerster et al., 2016] 提出了一个革命性的观点:通信不应该只是离散的符号,在训练时,它应该是流动的梯度。

4.1 核心机制:CTDE 的极致利用

  • RIAL (Reinforced IAL) :传统的做法。把发消息 m m m 当作一个动作,用 DQN 去学习。如果说对了,Reward 变高,Q 值更新。这叫"强化学习"。
  • DIAL (Differentiable IAL)
    • 训练时 (Training) :允许消息 m m m 为连续实数值。消息直接作为数值输入给接收者。
    • 梯度通路 :梯度 ∇ \nabla ∇ 可以从接收者 (Receiver) 的 Loss 函数,顺着通信信道 (Channel),直接反向传播给发送者 (Sender)。
    • 物理含义 :接收者通过梯度告诉发送者:"你刚才发的那个数值 0.8 0.8 0.8 不太好,导致我判断错了,下次请发 0.2 0.2 0.2。" 这就像心电感应 (Telepathy),直接调整对方的大脑参数。

4.2 执行时的离散化

虽然训练时是实数,但在执行(Test)时,由于带宽限制或抗噪需求,DIAL 会引入离散化单元 (Discretize Unit),把连续向量量化成二进制(0/1)发送。

DIAL 的伟大之处 :它把"学习说话"这件事,从困难的 RL 试错问题,转化为了高效的 Supervised Learning (梯度下降) 问题。


5. 流派三:注意力机制与定向通信

随着 Transformer 和 Attention 机制的兴起,Comm-MARL 迎来了第三代:我们要解决"跟谁说"和"听谁说"的问题。

5.1 为什么要 Attention?

CommNet 的"大锅饭"太吵了。在星际争霸中,医疗兵只需要听机枪兵的"我没血了",而不需要听 100 公里外侦察兵的废话。

5.2 代表算法

  • BiCNet (2017) :利用 双向 RNN (Bi-RNN) 连接所有智能体。通信链是串行的,隐状态在链条上传递。
  • ATOC (Attention-based) :引入注意力模块。智能体先决定是否 需要通信(Gating),然后决定跟谁通信。
  • TarMAC (Targeted Multi-Agent Communication)
    • Sender 发送的不只是消息 m m m,还有一个 Key(标签)。
    • Receiver 根据自己的 Query 和对方的 Key 计算权重(Signature)。
    • 只有匹配度高的消息才会被处理。

这就像频道 (Channel) 机制:A 在"频道 1"喊话,只有关注"频道 1"的 B 能听到,其他人自动过滤。


6. 有趣的现象:语言涌现 (Emergent Language)

当我们训练完这些算法后,把它们发送的消息 m m m 打印出来,会发现什么?

6.1 它们在说英语吗?

不,它们说的是 "Vector-ese"

比如在一次捕猎游戏中,当猎物出现在左边时,Agent A 可能会发送向量 [0.9, -0.1];当猎物在右边时,发送 [-0.5, 0.8]

对人类来说这是噪声,但对神经网络来说,这代表了精确的语义 (Semantics)

6.2 正向信令与反向信令

  • 正向:告诉队友"我在这"、"敌人在这"。
  • 反向:有时候,Agent 会学会"欺骗"或"沉默"。但在完全合作游戏中,它们通常会进化出极其高效的压缩语言。

7. 总结

通信学习是 MARL 中最接近"强人工智能"形态的方向之一。

算法 通信拓扑 核心机制 优缺点
CommNet 全连接 平均化消息 简单,但噪声大,信息丢失
DIAL 任意 梯度反向传播 (Telepathy) 训练极其高效,但仅限合作任务
BiCNet 序列化 双向 RNN 适合序列决策,难以并行
TarMAC 动态图 Attention (Key-Query) SOTA 性能,可解释性强,计算重

实战建议

如果你的环境是高度部分可观测 的(如迷雾中的 RTS 游戏),且智能体数量适中(<10),基于 Attention 的通信(如 TarMAC 或 GNN-based) 是首选。如果智能体数量巨大(>100),可以回退到类似 Mean-Field 的简单平均通信。


到这里,我们已经探讨了 MARL 的合作、竞争、通信。下一篇,我们将进入更复杂的领域:离线多智能体强化学习 (Offline MARL),看看如何在没有模拟器的情况下训练多智能体。 📡🤖

相关推荐
NAGNIP1 小时前
一文搞懂深度学习中的通用逼近定理!
人工智能·算法·面试
冬奇Lab2 小时前
一天一个开源项目(第36篇):EverMemOS - 跨 LLM 与平台的长时记忆 OS,让 Agent 会记忆更会推理
人工智能·开源·资讯
冬奇Lab2 小时前
OpenClaw 源码深度解析(一):Gateway——为什么需要一个"中枢"
人工智能·开源·源码阅读
AngelPP6 小时前
OpenClaw 架构深度解析:如何把 AI 助手搬到你的个人设备上
人工智能
宅小年6 小时前
Claude Code 换成了Kimi K2.5后,我再也回不去了
人工智能·ai编程·claude
九狼6 小时前
Flutter URL Scheme 跨平台跳转
人工智能·flutter·github
ZFSS6 小时前
Kimi Chat Completion API 申请及使用
前端·人工智能
天翼云开发者社区8 小时前
春节复工福利就位!天翼云息壤2500万Tokens免费送,全品类大模型一键畅玩!
人工智能·算力服务·息壤
知识浅谈8 小时前
教你如何用 Gemini 将课本图片一键转为精美 PPT
人工智能
Ray Liang8 小时前
被低估的量化版模型,小身材也能干大事
人工智能·ai·ai助手·mindx