图像增强(image augmentation)
/ IM-ij awg-men-TAY-shun /
图像增强是一种训练技巧,它通过为你已有的图像制作各种改动过的副本,来「撑大」数据集。拿一张猫的照片,造出许多变体:左右翻转、稍微旋转、裁掉一个角、调亮或调暗、移动一下色彩、加一点模糊或噪点。每一个变体显然仍是一只猫,所以保留同样的标签——但在模型看来,它像是一个全新的例子。从一千张照片,你能凭空造出一个实际上大得多、也多样得多的训练集,而且免费。
它的目的,是教会模型「什么东西不该改变它的答案」。猫就是猫,无论它朝左还是朝右、坐在阴影里还是阳光下、占满画面还是藏在角落。通过把这些变化展示给模型,你逼它去忽略那些无关的细节、聚焦于真正的信号——这能对抗过拟合(即背下训练照片,而不是学会那个概念),也让模型对真实世界那杂乱的多样性更加稳健。它是改进视觉模型最廉价、最可靠的方法之一。
两条诚实的提醒,使它不至于被当成魔法。第一,增强只能覆盖你已有数据的种种变化;它无法添加真正全新的信息,也无法修复一个缺了整类、或缺了整个人群的数据集——把全是浅肤色的人脸照片翻来翻去,你得到的仍然只是浅肤色的人脸。第二,那些变换必须「保留标签」、且对任务而言是合理的:翻转一只猫没问题,但把字母「b」的照片水平翻转,它就变成了「d」,而翻转一张胸部X光片,可能会把心脏挪到错误的一侧。用得用心,它价值连城;用得草率,它就在教模型学错。
用500张照片训练一个叶片病害分类器,你为每张生成10个增强版本——翻转、旋转、调亮、轻微裁剪——把500张图变成了5000张。现在模型见过了各种角度和光照下的病叶,对一张农民在刺眼午后阳光下用手机拍的照片,泛化得好多了。
一张带标签的照片变成许多张——以此教会模型:哪些变化不该改变它的答案。
增强只是把你已有数据的种种变化重新洗了洗牌——它无法创造真正全新的信息,也无法修复缺失的类别和代表不足的群体。而且变换必须保留标签:翻转一只猫没事,但翻转文字、字母或胸部X光片,会悄悄地教会模型一些错误的东西。