MuZero 的专属指标
MuZero(隐式世界模型)
MuZero 不重建像素,它的世界模型完全隐藏在表示函数、动力学函数和预测函数三个网络里。评估它需要从搜索质量和表示稳定性两个角度入手。
价值预测准确度(Value Accuracy)
MCTS 搜索前,网络对根节点给出初始价值估计 V₀;搜索完成后,用访问计数加权的 Q 值得到精炼估计 V*。两者的均方误差衡量了网络"不搜索就能走多准"的能力。
数值越接近 1 越好。训练成熟的 MuZero 中,V₀ 应该高度接近 V*,搜索的作用变成"验证"而非"纠正"。
诊断规则:价值准确度长期低于 0.6,奖励模型(动力学函数输出的 r̂)需要重训,或数据回放缓冲区中存在太多旧策略产生的分布外样本。可以尝试增大 priority replay(优先经验回放,根据每条经验的 TD 误差大小分配采样概率,误差越大说明模型对该样本预测越不准,因此被更频繁地采样用于训练)的权重,让近期数据被更频繁地采样。
MCTS 访问熵(Visit Entropy)
搜索树中,每个子节点的访问次数 n_i 构成一个分布。熵定义为:
熵高 → 模型对多个动作都不确定,搜索广度大;熵低 → 模型对某一动作非常自信。
重要的上下文依赖:高熵不一定是坏事。在随机性强的游戏(如围棋开局)中,局面客观上有很多价值相近的选点,高熵正确地反映了"多个动作都有价值"这一现实。低熵只有在游戏后期(局面已定、胜负明朗)时才意味着健康的置信度收敛。在训练早期或随机性强的局面下,若熵异常低,反而说明模型过早地对某些动作形成偏见,这是覆盖度不足的信号,而非收敛的信号。
诊断规则:全程熵都极低且 value accuracy 也低,模型在做"假置信"(pseudo-confidence),对局面的判断缺乏真正依据,通常需要增加探索噪声(Dirichlet noise,Dirichlet 分布采样的随机噪声,加入到根节点的先验策略分布中,使 MCTS 在搜索初期强制探索不同动作,避免总是只搜索策略网络认为最优的那几个分支)或扩大回放缓冲区多样性。
表示稳定性(Representation Stability)
这是 MuZero 特有的诊断指标,用于检验 representation network 的鲁棒性。
📖 余弦相似度(cosine similarity):衡量两个向量方向的相似程度,与向量长度无关:
。值域为 :1 表示方向完全相同,0 表示正交(无关),-1 表示方向相反。这里用它而不用欧氏距离,是因为表示向量的绝对长度不重要,重要的是它们在高维空间中是否"指向同一个方向",方向相同意味着模型对两个相似输入赋予了相似的语义。
对同一局面 o 加入轻微随机扰动 ε(如对图像观测添加高斯噪声,标准差约为像素值范围的 1%),representation network 输出的 latent state 应该非常接近,目标余弦相似度 > 0.95。
为什么重要:如果表示不稳定,MCTS 在物理上几乎相同的相邻局面上会做出截然不同的搜索决策,导致策略在轻微扰动下剧烈变化。对于真实世界的机器人或游戏 AI,这意味着策略对传感器噪声极度敏感,不可信赖。
诊断规则:稳定性低于 0.9,representation network 的训练数据中相似局面的多样性不足,或者网络容量过小导致特征在相似输入上产生非线性跳跃。增大网络宽度或使用对比学习损失(如 SimCLR 式的正样本对,SimCLR 是一种自监督对比学习框架:对同一图像做两种随机增强得到一对"正样本",训练编码器让正样本表示相互靠近、负样本远离,从而学到稳健的视觉表征)可以有效改善。
