要评估用于深度学习的数据集质量,首先要评估其**相关性、平衡性和代表性**。数据集必须与您正在解决的问题相一致。例如,如果您正在训练一个模型来检测制造缺陷,那么不相关对象(如办公用品)的图像会增加噪声。检查数据分布是否与真实场景匹配。如果您的数据集仅包含高分辨率图像,但您的应用程序将处理低质量的摄像头输入,则该模型在部署时可能会失败。类平衡也至关重要:如果 95% 的样本是“正常”的,而 5% 是“有缺陷”的,则模型可能默认学习预测“正常”。使用类分布图或统计摘要等指标来识别不平衡。
接下来,检查**数据质量和标签准确性**。噪声、缺失值或错误标记的样本会降低模型性能。例如,在语音识别数据集中,背景噪声或重叠的说话者会混淆模型。检查随机的数据子集以发现问题。对于标记的数据(如对象检测中的边界框),验证注释一致性。如果一个注释者将所有汽车标记为“车辆”,而另一个注释者使用“汽车”,则模型会将它们视为不同的类。诸如注释者间一致性评分或可视化工具(例如,Label Studio)之类的工具可帮助量化标签一致性。此外,检查重复项 - 重复的样本可能会夸大验证指标,而不会提高泛化能力。
最后,评估**数据集的大小和多样性**。深度学习通常需要大型数据集,但质量比数量更重要。一个小的、多样化的数据集可能优于一个大的、重复的数据集。例如,在 10 个人的 10,000 张图像(每人 1,000 张)上训练的面部识别模型不如在 100 个人的 1,000 张图像(每人 10 张)对实际应用更有用。如果缺乏多样性,请使用数据增强或合成数据生成之类的技术。尽早将数据集拆分为训练集、验证集和测试集,以避免数据泄漏。如果测试集包含与训练数据过于相似的样本(例如,来自视频的连续帧),则性能指标将变得不可靠。诸如用于统计分析的 pandas 或 TensorFlow Data Validation 之类的库可以自动执行此过程的某些部分。