自动增强策略可以自动选择和组合数据增强技术,从而提高机器学习模型的性能。传统的数据增强包括手动将转换(如旋转、裁剪或颜色调整)应用于训练图像。自动增强策略通过算法搜索可最大限度提高模型准确性的增强的最佳组合来替代这种手动操作。这些策略定义了可能的转换、其参数(例如,旋转角度)以及应用每个转换的概率的搜索空间。然后,搜索算法会探索此空间,以识别可以增强泛化而不会过度拟合的策略。
搜索过程通常涉及训练辅助模型,例如强化学习 (RL) 代理或进化算法,以评估不同增强策略的有效性。例如,在最初的 AutoAugment 论文中,RL 控制器提出了增强策略,这些策略通过在增强数据上训练子模型进行测试。子模型的验证准确性用作更新控制器的反馈。经过多次迭代,控制器学会优先考虑平衡多样性和真实性的转换。这种方法减少了手动实验的需要,因为系统会发现针对数据集量身定制的策略,例如偏向于卫星图像的几何失真或自然照片的颜色偏移。
实现细节各不相同,但大多数框架将策略构造为子策略序列。每个子策略指定一个或多个转换(例如,“旋转 30 度”,然后是“将亮度调整 20%”)及其应用概率。例如,策略可能会以 50% 的概率应用剪切变换,并以 30% 的概率应用太阳化过滤器。开发人员可以使用 TensorFlow 或 PyTorch 等库将自动增强集成到管道中,这些库为常见数据集提供预构建的策略。但是,搜索策略的计算成本是一种权衡——虽然有效,但该过程需要大量资源。为了缓解这种情况,一些方法使用代理任务(例如,在数据的子集上进行训练)或利用针对类似任务预先优化的策略。通过自动执行增强设计,这些策略使开发人员能够专注于更高级别的架构决策,同时确保强大的数据预处理。