课程总目录Lesson 0003 · Module B · Data
学习进度 0%
Module B · Data

设计不泄漏的 baseline 和验证集

20 分钟 · 目标:能用 baseline 判断模型是否真的学到结构,而不是被指标骗了。

PushT lab

为什么需要 baseline

一个模型看起来 loss 很低,可能只是因为动作变化平滑。没有 baseline,你无法判断它学到的是不是“重复上一帧/上一动作”这种浅层规律。

action = state

最简单的位置先验。

action = train mean

只猜全局均值。

action = previous action

惯性/平滑性 baseline。

本地结果

BaselineMSE
action = state404.84
action = train mean9778.39
action = previous action91.06
Tiny MLP validation等效 RMSE 19.29px/维

tiny policy 明显优于这些 baseline,但这仍只是 offline 证据。

实践:写一个假想实验

  1. 假设你把 episode 0 的前 80% 作为训练,后 20% 作为验证。
  2. 写出可能泄漏的原因。
  3. 比较 random split 和 episode split 的验证 MSE。
  4. 解释为什么后者更可信。
关键红线

同一 episode 不能同时出现在训练和验证。

检索练习

如果随机按帧切分,最直接的问题是什么?

相邻帧几乎相同,随机切分会让验证集包含训练样本的近似副本。

本课一手来源

最佳实践来自本课程实验记录与 LeRobot 数据组织方式。

有疑问就问

把不理解的地方直接发给老师/agent,最好附上你观察到的现象和报错。

Course file: lessons/0003-baseline-leakage.html