HATT v3.1:针对 HATT v2.0 的改进

HATT v2.0 的局限

v2.0 的贡献

  • 引入了 Coalition Aggregation:任务表示包含已加入联盟的成员信息。
  • CandidateEdgeDecoder 让 logits 显式对应 agent-task 边。
  • 相比 Legacy GAT 和 MAPPO 有显著提升。

v2.0 仍缺少什么?

  1. 静态任务上下文:任务表示只描述"当前联盟是什么样",没有显式建模"我加入后联盟会怎样变化"。
  2. 缺少能力匹配量化:没有显式计算联盟能力与任务需求之间的差距。
  3. 能力数值尺度不一致:不同能力维度的数值范围差异大,影响注意力学习。
  4. 噪声任务干扰:已完成/未发现的任务仍参与 decoder 计算。
HATT v2.0 的决策逻辑: task_context_m = MLP([ task_h_m ‖ coalition_sum_m ‖ coalition_mean_m ‖ count_m ]) ↓ score_{i,m} = Decoder(agent_context_i, task_context_m, edge_{i,m}) 问题:task_context_m 是静态快照,没有回答 "agent i 加入任务 m 能带来多少边际改善"。
---
HATT v3.0 的尝试与问题

v3.0 引入的三个新机制

  1. Pre/Post Coalition 边际推理:计算 agent 加入前后的联盟状态差异 $\Delta$。
  2. Capability Residuals:显式量化任务需求与联盟能力的 deficit/surplus 变化。
  3. Signed Interaction:区分正负成员交互,建模协作与竞争。
v3.0 的问题:residuals 和 signed interaction 是硬编码加入网络的,训练初期就强制引入复杂特征,导致优化不稳定:
洞察:边际推理方向是对的,但复杂特征需要渐进式引入,不能一上来就强行加入。
---
HATT v3.1 的四个核心改进
改进 解决的问题 具体做法
1. 门控残差特征 v3.0b residuals 导致崩溃 $g_{\text{res}} = \text{sigmoid}(-4.0)$ 初始接近 0,训练稳定后再逐步打开
2. 门控符号交互 v3.0c signed interaction 不稳定 $g_{\text{signed}} = \text{sigmoid}(-4.0)$ 控制正负交互强度
3. 能力归一化 能力/需求数值尺度不一致 $\text{cap} / \text{capability\_scale}$,默认 scale=5.0
4. 可用任务掩码 已完成/未发现的噪声任务 仅对 req ≠ 0 的任务应用 residuals;用 available_actions 过滤 signed interaction
效果:v3.1a 成功率 96.9%,奖励 +15.38;v3.1b 成功率 96.9%,奖励 +15.15。相比 v2.0 的奖励 +4.24,提升约 3.6 倍。
---
公式:边际推理 + 门控残差

1. Pre/Post Coalition 上下文

$$\text{base\_sum}_m = \sum_{n \in m} \text{other\_h}_n \cdot \mathbb{1}[n \text{ alive}]$$ $$\text{post\_sum}_m = \text{base\_sum}_m + \text{self\_h}_i$$ $$\text{base\_context}_m = \text{TaskContext}(\text{task\_h}_m, \text{base\_sum}_m, \text{base\_count}_m)$$ $$\text{post\_context}_m = \text{TaskContext}(\text{task\_h}_m, \text{post\_sum}_m, \text{post\_count}_m)$$ $$\Delta_m = \text{post\_context}_m - \text{base\_context}_m$$

2. 能力残差(Capability Residuals)

$$\text{base\_cap}_m = \frac{\sum_{n \in m} \text{cap}_n}{\text{capability\_scale}}, \quad \text{post\_cap}_m = \frac{\text{base\_cap}_m \cdot \text{capability\_scale} + \text{cap}_i}{\text{capability\_scale}}$$ $$\text{deficit\_delta}_m = \text{ReLU}(\text{req}_m - \text{base\_cap}_m) - \text{ReLU}(\text{req}_m - \text{post\_cap}_m)$$ $$\text{surplus\_delta}_m = \text{ReLU}(\text{post\_cap}_m - \text{req}_m) - \text{ReLU}(\text{base\_cap}_m - \text{req}_m)$$ $$\text{residuals}_m = [\text{deficit\_delta}_m \;\|\; \text{surplus\_delta}_m]$$

3. 门控机制

$$g_{\text{res}} = \text{sigmoid}(\text{residual\_gate}), \quad \text{residual\_gate 初始值} = -4.0$$ $$\text{residual\_context}_m = g_{\text{res}} \cdot \text{MLP}_{\text{res}}(\text{residuals}_m) \cdot \mathbb{1}[\text{task } m \text{ 有效}] \cdot \mathbb{1}[\text{residuals}_m \neq 0]$$
初始时 $g_{\text{res}} \approx 0.018$,网络几乎忽略 residuals;训练稳定后 gate 值上升,逐步引入边际能力信息。
---
公式:门控符号交互 + 最终解码

4. 符号交互(Signed Interaction)

$$\text{pos\_context}_m = \text{Attention}(\text{self}_h^{(+)} + \text{task}_h^{(+)}, \{\text{other\_h}_n^{(+)}\}_{n \in m})$$ $$\text{neg\_context}_m = \text{Attention}(\text{self}_h^{(-)} + \text{task}_h^{(-)}, \{\text{other\_h}_n^{(-)}\}_{n \notin m})$$ $$g_{\text{signed}} = \text{sigmoid}(\text{signed\_gate}), \quad \text{signed\_gate 初始值} = -4.0$$ $$\text{signed\_context}_m = g_{\text{signed}} \cdot \text{MLP}_{\text{signed}}([\text{pos\_context}_m \;\|\; \text{neg\_context}_m]) \cdot \mathbb{1}[m \text{ 已占用}] \cdot \mathbb{1}[m \text{ 可用}]$$

5. CandidateMarginalDecoder

$$\text{parts}_m = [\text{agent\_context}_i \;\|\; \text{base\_context}_m \;\|\; \Delta_m \;\|\; \text{edge}_{i,m} \;\|\; \text{residual\_context}_m \;\|\; \text{signed\_context}_m]$$ $$\text{score}_{i,m} = \text{MLP}_{\text{decoder}}(\text{parts}_m)$$ $$\text{logits}_i = [\text{score}_{i,1}, \dots, \text{score}_{i,M}]$$

6. 动作分布

$$\pi_i = \text{softmax}(\text{logits}_i)$$
---
实验结果:v2.0 → v3.0 → v3.1

来源:runs/20260628-0357_macf_hatt-v31-small-scale/eval_summary_best.csv(full_random,best checkpoint)

方法 success reward length 关键机制
HATT v2.0 96.9% +4.24 499 Coalition Aggregation + CandidateEdgeDecoder
HATT v3.0a 96.9% +20.18 v2.0 + Pre/Post Coalition 边际推理
HATT v3.0b 43.8% -35.63 v3.0a + residuals(无门控)→ 崩溃
HATT v3.0c 78.1% -12.70 v3.0b + signed interaction(无门控)→ 不稳定
HATT v3.1a 96.9% +15.38 505 v3.0a + Gated Residuals + Capability Scale
HATT v3.1b 96.9% +15.15 509 v3.1a + Gated Signed Interaction
关键结论
---
文字总结:v3.1 相对 v2.0 改进了什么?
  1. 从静态快照到边际推理:v2.0 的任务上下文只描述当前联盟;v3.1 显式计算"加入当前 agent 后"的能力变化,让决策基于边际改善。
  2. 显式能力匹配:通过 deficit/surplus residuals 量化联盟能力与任务需求的匹配度,解决 v2.0 中能力与需求关系隐式、难学习的问题。
  3. 数值尺度归一化:capability_scale=5.0 统一能力/需求数值范围,提升 attention 学习效率。
  4. 噪声过滤:可用任务掩码过滤无效任务,减少 decoder 噪声。
  5. 渐进式特征引入:门控机制让复杂特征在训练稳定后逐步生效,避免优化崩溃。
一句话:HATT v3.1 在保留 v2.0 边级解码优势的基础上,引入了边际推理渐进式门控,把任务选择从"看当前状态"提升到"看加入后的改善",同时保持训练稳定。