* '''KL正则化与平衡技术''':<br>在RSSM的训练过程中,每一个时间步都需要保持先验预测<math>\hat{s}_t</math>与后验推断<math>s_t</math>的一致性,这一目标通常通过引入KL散度损失来实现。然而,在训练中存在一个关键挑战:编码器分布<math>q(s_t \mid h_t, x_t)</math>与动力学先验分布<math>p(s_t \mid h_t)</math>之间可能出现学习速度不匹配或责任分配(credit assignment)问题。具体而言,当编码器过于强大时,模型可能倾向于仅依赖后验推断,从而使先验动力学变得无关紧要;反之,若动力学先验过强,则编码器可能无法有效地从观测数据中提取信息。为了应对这一问题,DreamerV2提出了KL balancing技巧,通过分别调整先验与后验的更新路径以实现平衡。具体做法是:将KL散度分解为两个部分;其中一部分以'''停止梯度(stop gradient)'''的后验分布为参考,用于更新动力学先验,促使先验动态更好地跟随后验推断;另一部分则以停止梯度的先验分布为参考,用于更新编码器后验,防止后验偏离潜在动态建模。这种双路径更新机制,有效避免了模型在训练过程中过度依赖后验推断的问题,促使动态预测模块与观测编码模块在训练中保持合理协作。在此基础上,DreamerV3进一步引入了自由nats(free nats)的机制,即为KL散度设定一个最小阈值。当实际KL值低于该阈值时,不再继续压缩KL损失,从而防止潜在状态退化为无信息的情况——即虽然动力学先验易于预测,但潜在状态本身携带的信息量极低或接近于零,仅仅是为了最小化KL散度。 | * '''KL正则化与平衡技术''':<br>在RSSM的训练过程中,每一个时间步都需要保持先验预测<math>\hat{s}_t</math>与后验推断<math>s_t</math>的一致性,这一目标通常通过引入KL散度损失来实现。然而,在训练中存在一个关键挑战:编码器分布<math>q(s_t \mid h_t, x_t)</math>与动力学先验分布<math>p(s_t \mid h_t)</math>之间可能出现学习速度不匹配或责任分配(credit assignment)问题。具体而言,当编码器过于强大时,模型可能倾向于仅依赖后验推断,从而使先验动力学变得无关紧要;反之,若动力学先验过强,则编码器可能无法有效地从观测数据中提取信息。为了应对这一问题,DreamerV2提出了KL balancing技巧,通过分别调整先验与后验的更新路径以实现平衡。具体做法是:将KL散度分解为两个部分;其中一部分以'''停止梯度(stop gradient)'''的后验分布为参考,用于更新动力学先验,促使先验动态更好地跟随后验推断;另一部分则以停止梯度的先验分布为参考,用于更新编码器后验,防止后验偏离潜在动态建模。这种双路径更新机制,有效避免了模型在训练过程中过度依赖后验推断的问题,促使动态预测模块与观测编码模块在训练中保持合理协作。在此基础上,DreamerV3进一步引入了自由nats(free nats)的机制,即为KL散度设定一个最小阈值。当实际KL值低于该阈值时,不再继续压缩KL损失,从而防止潜在状态退化为无信息的情况——即虽然动力学先验易于预测,但潜在状态本身携带的信息量极低或接近于零,仅仅是为了最小化KL散度。 |