数据泄漏不只是把测试答案放进训练集。本应留作测试的样本、近重复样本或采集条件被用于训练和选型,也可能让结果显得过于乐观。机器人数据中,相邻帧、同一次任务回合、同一物体和同一采集会话尤其容易被误当成独立样本。
正确的数据划分单位取决于部署时要验证的泛化目标。只需处理同一会话中新帧的模型,与需要面对新对象、新操作员、新站点或新机器人本体的模型,测试方法不同。随机划分帧通常无法支撑这些更广泛的泛化结论。
本指南可与 机器人评估指南 及 数据集谱系指南一起使用。确定评估方案后,冻结测试样本清单和访问权限。
先明确要验证哪一种泛化,再决定划分比例
说明模型是否必须处理新时间段、新回合、新对象实例、类别、操作员、站点、机器人或任务。留出组应与该声明一致;普遍的80/10/10比例并不意味着独立性。
当部署提出多个问题时,创建多个测试。一个方便的测试集无法隔离所有泛化轴。

按最小独立采集单位划分数据
同一回合中的帧共享背景、对象状态、操作员和相邻时间信息。同一采集会话还可能共享光照、标定、工具状态和脚本设置。若这些关联会影响所要验证的泛化,应将整组样本放入同一数据分区。
使用不可变的组 ID,并在流水线中强制执行不相交性。避免以后从可能被重命名的文件名重建组。
| 泛化目标 | 最小留出组 | 泄漏示例 | 应报告的测试 |
|---|---|---|---|
| 新时间段 | 时间区段 | 相邻帧 | 未来时间段 |
| 新回合 | 完整回合 | 同一滚动窗口 | 留出回合 |
| 新对象 | 物理实例 | 同一对象的不同视角 | 留出实例 |
| 新操作员 | 操作员或采集团队 | 遥操作习惯 | 留出操作员 |
| 新站点 | 设施与设置 | 背景与固定装置 | 留出站点 |
将会话上下文视为可学习数据
模型可以利用固定的相机位姿、光照、桌面标记、夹具磨损、初始化程序和软件时序。在同一未变的设置下,在不同日期采集仍可能共享大多数捷径。
审计会话身份信号的元数据和图像。当泛化目标要求新环境时,应将整个站点或流程作为留出组。
保持物理对象实例在一起
同一物体的不同图像、方向和试验并不是新实例泛化的独立证据。划痕、纹理和几何形状可以识别实例。
对于姿态或抓取评估,将裁剪图像和标注关联到不可变的对象 ID。 6D对象-姿态指南 解释了实例目标和类别目标的不同原因。
验证跨操作员泛化时,按操作员分组
操作员会创建特征轨迹、恢复习惯、相机构图和语言指令。随机划分可以让同一人进入训练和测试,从而夸大对新操作员的泛化表现。
使用操作员分组测试并报告经验水平。使用受控标识符保护隐私,而非删除审计所需的分组信息。
追踪数据增强与同源派生样本
裁剪、调整大小、重新编码或色彩增强虽然文件哈希不同,但仍是来自同一源帧的同源样本。应先划分原始样本,再生成各分区内的增强数据,并保留它们与原始帧的关系。
利用感知相似性寻找缺失的关系,然后用清单确认。近重复检测只能补充、不能替代来源谱系记录。
仅对训练数据进行拟合预处理
归一化统计、词汇、分词器适应、类权重、特征选择和补值在全局计算时可能泄露测试信息。将每个学习到的预处理产物视为训练的一部分。
记录生成该产物时所用的训练集成员版本。对验证集和测试集应用已冻结的变换,不再重新拟合。
控制验证集和测试集的查看次数
反复从验证性能中选择模型和超参数,使开发适应该集合。查看测试结果后修订系统,将测试转化为另一个验证源。
保持最终冻结测试,限制访问并记录评估次数。在反复迭代后,使用新的前瞻性或外部数据进行重大决策。
审计与元数据和内容的重叠
先检查样本 ID、原始回合、会话、物体、操作员、站点、机器人和任务是否存在不允许的跨分区重叠,再用图像、时间和轨迹相似性寻找误标或复制的同源样本。相似性只能提示复核,不能自行证明两个样本相同。
DROID数据集项目展示了跨站点和操作员的大规模真实环境采集。数据集的规模和多样性并不能消除对特定泛化目标所需的分组划分的需求。
报告组计数与不确定性
帧数可能很大,而独立的物体或站点较少。报告独立组的数量、各组成功与失败、排除的试验,以及与分组方式相符的不确定性估计。
单一站点或操作员的高平均值并不能建立广泛的泛化。分条件报告结果,说明哪些组表现较差,而不是仅给出总体平均值。
冻结测试清单并进行版本管理
保存固定的样本清单、分组规则、预处理版本、评估代码与访问记录。新入数据不应自动重新平衡或替换历史测试样本。
当部署声明发生变化时,创建新版本并保持与旧版本的可比性。将其连接到 数据质量审计,以处理缺失的元数据和标签审查。
| 泄漏审计 | 方法 | 通过条件 | 残余风险 |
|---|---|---|---|
| 标识 | 与精确清单关联 | 源 ID 不跨数据分区 | 标识缺失 |
| 分组 | 回合、会话、对象、操作员、站点 | 不存在禁止的组重叠 | 分组规则错误 |
| 派生数据 | 父级谱系 | 同源样本保持在同一分区 | 父级关系丢失 |
| 相似性 | 视觉与轨迹搜索 | 近重复样本已复核 | 误匹配 |
| 访问 | 评估日志 | 查看次数符合协议限制 | 存在未记录的副本 |
发布前使用数据划分验收清单
记录部署声明、组级结构、成员清单、衍生数据谱系、仅基于训练集拟合的预处理、重叠审计、样本计数、不确定性、访问和刷新策略。确保测试集不会被常规训练任务使用。
发布前,逐项核对以下清单。
- 根据部署时的泛化目标选择留出组。
- 将依赖的回合和会话放在一个分区里。
- 追踪物体、操作员、站点与同源派生样本。
- 所有从数据中学习得到的预处理组件,都只能在训练集上拟合。
- 冻结测试集成员、访问权限和评估次数。
常见问题
机器人数据应采用什么训练集—验证集—测试集比例?
应先保证分组独立性和足够的评估能力;没有固定的比率能解决泄漏问题。
不同的采集日是新的测试环境吗?
如果场地、物体、校准、操作员和操作程序仍然共享,则不一定如此。
唯一文件哈希值能证明没有重复吗?
不是。裁剪、重新编码和数据增强在共享同一来源时有新的哈希值。
为什么测试性能的调优会泄漏?
开发过程会学习哪些选择在测试中表现良好,因此测试结果不再代表未经反复调参触碰的泛化性能。
一个测试集能测量所有类型的泛化吗?
不。根据需要,对新回合、对象、操作员、站点、机器人或任务使用分组测试。
由部署目标定义的独立测试与冻结访问边界
划分是否合理,要看它能否独立检验部署时的泛化目标,而不是看随机比例是否整齐。在模型选择开始前,冻结分组成员、派生谱系和测试访问。