Cutout 增强是一种数据增强技术,旨在提高机器学习模型的鲁棒性,尤其是在诸如分类等基于图像的任务中。 该方法通过在训练期间随机屏蔽输入图像的矩形区域来工作。 通过删除部分视觉数据,模型被迫依赖不太突出的特征,从而减少对特定模式的过度依赖并提高泛化能力。 例如,如果训练用于识别狗的模型经常看到头部被 cutout 遮挡的图像,它可能会学习使用腿或尾巴等特征来识别动物。 这种方法模拟了现实世界中图像的某些部分可能被遮挡或缺失的情况。
实现通常包括选择图像中的随机位置,并将像素的矩形区域替换为中性值,例如黑色、灰色或数据集的平均像素值。 蒙版区域的大小通常是一个超参数——例如,覆盖高达 20% 图像面积的正方形。 开发人员可以使用 TensorFlow 或 PyTorch 等库通过创建二进制蒙版并将其与原始图像相乘来应用 cutout。 有些框架包含对 cutout 的内置支持,但自定义实现可能涉及生成蒙版的随机坐标和尺寸,然后在训练循环期间应用它。 通常将 cutout 与其他增强(如旋转或翻转)相结合,以增加多样性。
Cutout 的主要好处是它能够防止模型固定在小的、非必要的特征上。 例如,在医学图像上训练的模型可能会过度拟合到诸如扫描仪标记之类的伪影,但是 cutout 会迫使它专注于更广泛的解剖结构。 在实践中,cutout 已被证明可以提高 CIFAR-10 和 ImageNet 等数据集的性能,尤其是在训练数据有限时。 开发人员应试验蒙版大小和位置——太大的 cutout 可能会删除关键信息,而太小的区域可能无法提供有意义的正则化。 这种技术在诸如自动驾驶之类的应用中特别有用,在这些应用中,部分遮挡(例如,树后的汽车)很常见,并且模型必须适应不完整的视觉输入。