一、什么时候会遇到训练数据少的情况?
在机器学习和深度学习中,遇到训练样本不足的情况通常发生在出现了新的任务、高昂的采集数据成本,稀有事件或小众领域等。接下来我展开说三种情形并分别举个例子。
(1)出现新的任务
当面临全新的研究方向和技术挑战时,比如早期的人脸识别、自动驾驶技术的研发阶段,初期可用的训练样本数量较少。
例如:在自动驾驶领域中,随着L4、L5级别全自动驾驶技术的发展,需要对复杂城市道路环境中的各种交通参与者行为、天气变化、施工路段等进行实时准确的识别与决策。这是一个相对较新的任务,收集这些极端情况下的驾驶数据就需要全新的数据采集方案,包括在不同地点部署大量传感器和摄像头设备,以及组织专门车队进行实际路测。
(2)高昂的数据采集成本
在医疗、金融等领域,高质量标注的数据往往需要专业知识和人力投入进行标记,这会导致高成本和低效率,从而限制了训练集的大小。
例如:在遥感卫星应用中,高分辨率地球观测数据对于环境监测、资源管理等方面至关重要,但发射和运营卫星的成本巨大,同时每张高清卫星图片的获取也需要投入相当高的资金,这就构成了高昂的数据采集成本。
(3)小众领域或稀有事件
对于某些罕见的事件、疾病诊断、特殊领域的图像识别等任务,由于实际发生频率低或者获取数据难度大,可能收集到的数据量非常有限。
例如:在天文物理学中,探测到黑洞合并这样的稀有事件对数据的需求极为特殊。这种事件的发生极其罕见,观测数据需要通过分布在世界各地的精密射电望远镜组成的阵列长时间监测才能捕捉到。由于事件本身很少见和数据获取设备要求高,此类研究面临着极端的小样本问题。即使捕捉到了信号,分析和理解这些数据也需要高度定制化的技术和模型。
二、训练数据少该怎么训练模型呢?
任何数据稀缺且无法轻易增加数据来源的情况下,都可能出现训练样本不足的问题。在这种情况下,研究者和工程师会运用各种技术手段来缓解这一问题。我认为可以从两个方面入手:
- 在数据上下功夫
- 在模型上下功夫
这篇文章我主要介绍第一个方面,后续我会出新的文章来对第二种手段进行讲解。
(1)数据增强
① 图像数据增强
图像数据增强是通过随机改变训练集中的图像特征来生成新的样本,而不改变其基本类别标签。以下是常用的图像数据增强方法:
1、几何变换:
- 旋转(Rotation):以一定角度随机旋转图像。
- 翻转(Flip):水平或垂直翻转图像。
- 缩放(Zoom):按比例放大或缩小图像。
- 平移(Translation):在图像平面上随机移动图像内容。
- 裁剪(Crop):从原始图像中随机裁剪出子区域作为新样本。
2、颜色空间调整:
- 亮度/对比度调整:随机调整图像的亮度和对比度。
- 饱和度变化:在HSV颜色空间内修改饱和度分量S。
- 色相调整:保持饱和度和明度不变,仅调整色调H。
- 噪声注入:添加椒盐噪声、高斯噪声等模拟真实世界相机捕获过程中的噪声。
3、其他操作:
- 镜像变换(Reflection):沿特定轴线对图像进行镜面反射。
- 剪裁或局部高斯噪声:在图像上随机遮挡或添加局部高斯噪声。
- 强化学习式的图像生成:如使用CycleGAN生成风格转换后的图像,扩展数据多样性。
② 文本数据增强
文本数据增强旨在增加模型对于相同语义的不同表达形式的理解能力。常用的方法包括:
- 同义词替换:用同义词库替换原文本中的单词,保持句子原意但增加了词汇多样性。
- 句法结构调整:通过插入、删除或重组文本中的词语或短语,改变句子结构但不改变基本含义。
- 拼写错误引入:模拟用户输入时可能出现的拼写错误,提高模型对拼写错误的容忍度。
- 语言模型生成:利用预训练的语言模型,如GPT-3,根据已有文本生成类似的新文本。
③ 语言数据增强
语音数据增强主要关注于音频信号处理领域,目的是让模型能更好地适应各种环境下的声音变化:
- 回声模拟:为原始音频添加回声效果,模拟不同物理空间的声音传播。
- 速度变换:调整语音的速度,快放或慢放,模拟说话者不同的语速。
- 噪声注入:向干净的语音信号中添加背景噪声,例如白噪声、交通噪声、餐厅噪音等,提高模型在复杂环境下的识别性能。
- 混响处理:模仿不同房间大小和材质所造成的混响效果。
- 音调调整:改变语音的基频,模拟不同人的音色和情感状态。