多智能体强化学习的 Q 值代表什么?分清自身动作与联合动作

通过两人协作矩阵辨认本地动作价值和联合动作价值。提供演示数据、核对方法和适用边界。

Q 值是对“在某种情况采取某个动作,之后按指定策略继续行动,可获得多少折扣回报”的估计。多智能体任务中,首先要问:这个估计针对谁的奖励,条件里包含自己的动作,还是所有智能体的联合动作?没有这些定义,两个 Q 值的大小可能根本不能直接比较。

用一个两人协作矩阵看条件

下面是自拟的一步教学游戏:两人各选 A 或 B,本轮随即结束,使用相同的团队奖励。为了方便手算,约定 (A,A) 得 4 分,(A,B) 与 (B,A) 得 0 分,(B,B) 得 2 分。

多智能体强化学习的 Q 值代表什么?分清自身动作与联合动作

自己的动作 对方选 A 对方选 B
A 4 0
B 0 2

因为只玩一步,回报就是本轮奖励。若记录联合动作价值,可以直接区分这四个格子;若只记录自己的 A、B 两个动作价值,就必须考虑对方采取不同动作的概率。

对方的策略变了,本地价值也会变

假设对方以概率 p 选 A。自己的 A 动作期望奖励为 4p,B 动作为 2(1-p)。当 p=0.8 时,两者是 3.2 和 0.4;当 p=0.1 时,两者是 0.4 和 1.8。这些是模型规则下的手算结果,不是训练指标。

for p in [0.8, 0.1]:
    q_a = 4 * p
    q_b = 2 * (1 - p)
    best = "A" if q_a > q_b else "B"
    print(p, q_a, q_b, best)

运行这段标准库代码,应分别得到偏向 A 与偏向 B 的选择。即使奖励矩阵没有变化,对方策略改变,也会改变自己的本地动作价值。实际训练中其他智能体也在更新,旧经历和新经历可能对应不同的对手行为。

读论文或日志时核对四件事

  1. 条件输入:完整状态、自己的局部观察,还是观察历史?
  2. 动作输入:自己的动作,还是联合动作?例如 Q_i(o_i, a_i) 与 Q_i(s, a_1, a_2) 表示不同条件。
  3. 奖励归属:各自奖励还是团队奖励?不同奖励尺度下不能直接排大小。
  4. 后续策略:按照当前策略、固定对手策略,还是某个优化目标继续行动?

再检查 Q 值是不是网络的估计值。网络可能暂时估得很不准;“Q 最大”表示当前估计下最有利,并不意味着动作已经被真实环境证实最优。

为什么 Q 值不是成功率

奖励可以是 4、-1 或其他实数,多步任务还会累加并折扣。因此 Q 值不必在 0 到 1 之间。只有把奖励和任务设计成特定的成功指标,并明确终止与折扣规则时,才可能作相应概率解释,不能直接把 Q=0.8 写成成功率 80%。

这个两动作游戏没有状态转移,也没有学习曲线,只用来展示“价值依赖谁的行为”。多步任务还要考虑后续奖励、状态变化和观察限制,本文不能替代多智能体训练实验。

动作价值的定义可参阅 2026 年 10 月 3 日读取的 Spinning Up 价值函数说明;协作矩阵与计算为本文自拟演示。

Ai菜鸟网。发布者:AI小管家,转载请注明出处:https://www.alyyhw.com/32961.html

赞 (0)
AI小管家的头像AI小管家
强化学习智能体怎么保存?用 Stable-Baselines3 保存并核对载入模型
上一篇 1天前
多智能体 IQL 伪代码怎么写?先分清独立 Q 学习与离线 IQL
下一篇 1天前

相关推荐

联系我们

联系我们

1

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
关注微信
分享本页
返回顶部