训练神经网络所需的数据量取决于任务的复杂性、模型的架构以及数据的质量。对于像对手写数字进行分类(例如,MNIST 数据集)这样的简单任务,几千个标记的示例可能就足够了。然而,像自然语言处理或高分辨率图像识别这样的复杂任务通常需要数百万个样本。关键在于平衡模型的容量(它有多少参数)和可用的数据量。在过少的数据上训练具有过多参数的模型会过拟合,记住噪声而不是学习一般模式。相反,对于任务来说过于简单的模型即使有大量数据也可能欠拟合。
例如,训练一个基本的卷积神经网络 (CNN) 来对猫和狗进行分类可能需要 10,000-20,000 个标记图像才能达到 90% 的准确率。相比之下,最先进的用于医学图像分析的视觉转换器可能需要数十万张带注释的图像,因为诊断中存在细微的变化。数据质量也起着作用:嘈杂或标记不良的数据集需要更大的量来补偿不准确之处。诸如数据增强(例如,旋转图像,向文本添加噪声)之类的技术可以人为地扩展较小的数据集,但它们有局限性。迁移学习(在相关任务上使用预训练模型)可以显著减少数据需求。例如,微调 BERT 以进行情感分析任务可能只需要 10,000 个示例,而不是数百万个,因为该模型已经了解语言结构。
开发人员应该从基线模型和数据集开始,然后迭代。如果模型在验证数据上的表现不佳,则收集更多数据或简化架构。诸如学习曲线(绘制训练与验证准确度)之类的工具可以帮助诊断问题是否是数据量不足。合成数据生成,例如使用 GAN 或基于规则的模拟,可以补充自动驾驶或机器人等领域的真实数据。但是,合成数据必须紧密模仿真实世界的条件才能有效。在实践中,“正确”的数据量通常是通过实验确定的:从小型原型开始,测量性能差距,并在监控收益递减的同时逐步扩展数据集。