Page 444 - 《软件学报》2024年第6期
P. 444
3020 软件学报 2024 年第 35 卷第 6 期
3.4 自引导进化策略与自动化数据增强的结合
3.4.1 策略评估与更新
SGES AA 算法在搜索过程中, 需要对相应的连续化策略向量进行映射转换, 得到离散的数据增强策略, 然后
再进行策略评估. 策略评估的过程可以视为评价该数据增强策略在具体的模型训练中所表现出来的模型泛化性
能. 具体流程为在模型训练的每一个 epoch 期间, 每一批次的训练数据都会经过具体的数据增强子策略 π (e,b) 进行
π (e,b) Π 中进行随机抽取. 经过一定训练轮数后, 计算模型在验证集上的
数据增强, 而 的选择则是从数据增强策略
预测准确率, 并以此判断数据增强策略的增强效果. 通过将预测准确率作为评估值反馈给搜索算法, 进行下一步策
略向量的更新.
3.4.2 策略选择
F(Π t,i,+ ) > F(Π t,i,− ) 时, 则更新步骤会将策略向量 δ i 方向, 反之则推向
在算法更新迭代过程中, 如果 W t 推向
−δ i 方向. 然而, 由于评估函数对策略的评估是一个含噪声的评估, 具有不确定性和随机性, 因此可能会存在即
δ i 方向在真实的情况下更好, 然而算法却将 F(Π t,i,− ) 都非常小的时候.
使 W t 推向 −δ i 方向, 尤其是当 F(Π t,i,+ ) 和
因此当评估值 F(Π t,i,+ ) 和 F(Π t,i,− ) 都比其他对偶评估值小时, 表明在 δ i 和 −δ i 方向上移动 W t 会降低平均收益. 为
max{F(Π t,i,+ ),F(Π t,i,− )} 进行递减排序, 然后取前 b<N s 个观测点样本的评估值来更新策
了解决这个问题, 通过对
略向量 W t .
3.4.3 策略收集与验证
在自引导进化策略算法完成搜索后, 本文根据搜索迭代的历史记录, 从中选取出表现能力最佳的 N H 个数据
增强策略组成数据增强策略集合 H Π , 其好处是多个数据增强策略集合能够在一定程度上发挥出多种数据增强
策略的效果. 在验证阶段, 选择一个最终的验证模型开始从头训练, 与策略评估阶段的子模型训练过程类似, 在
每一个 epoch 期间, 每一批次的训练数据都会经过具体的数据增强子策略 π (e,b) 来进行数据增强, 而 π (e,b) 的选择
则是从策略集合 H Π 中随机抽取选择, 在训练固定轮数后, 模型需要在最终的测试集数据上进行预测 (测试集数
据无需任何改变), 最终测试集的模型准确率即可作为自动化数据增强算法的最终评价指标, 以此评估搜索算法
的好坏. W t 附近进行参数的噪声扰动后, 进行随机采样.
3.4.4 并行化设计
自引导进化策略每次迭代搜索将产生 N s 个搜索方向以及相应方向上的 2N s 个探索点, 这些探索点对应的策
略评估工作也是相互无关的, 故算法可以进行高度并行化, 并行化后的算法主要存在以下两个优点.
1) 每个工作节点只负责对自己当前被分配到的策略进行评估, 相互之间不影响.
2) 每个工作节点除了需要被评估的策略外, 仅需要同步一个随机种子, 这样在评估之前每个工作节点可以感
知到其他工作节点使用的扰动噪声值, 因此每个工作节点之间仅需要通信一个标量.
3.5 自动化数据增强算法总体流程
图 4 为本文设计的基于自引导进化策略的自动化数据增强算法总体流程图, 算法 1 给出了详细流程. 首先, 增
强随机搜索算法通过在搜索空间 O 中的初始探索点进行多个方向上的扰动探索, 探索的过程本质是在当前时刻观
测样本点
算法 1. 基于自引导进化策略搜索的自动化数据增强算法 SGES AA.
输入: 更新步长 η, 每次迭代的更新方向数量 N s , 平滑参数 v, 迭代索引 t, 迭代次数上限 T, 预热迭代次数 T w ≥k, 大
小为 k 的队列 Q, 精英数量 b≤N s , 更新间隔 T U , 容量为 N H 的最大堆容器 H, 容器 H 中存放的数据增强策略集合
H Π , 工作节点数量 m≤N s ;
输出: 容器 H 中存放的数据增强策略集合 H Π .
1. 初始化数据增强策略 Π 的策略向量 W 0 = 0 ∈ R r×s , t = 0
2. while t < T do