Page 440 - 《软件学报》2024年第6期
P. 440
3016 软件学报 2024 年第 35 卷第 6 期
其在测试集上的预测性能表现一般.
4) 基于可微分机制的算法: 受 AutoML 领域中的可微神经网络架构搜索算法 DARTS [14] 的启发, 先后有研究
[6]
者提出基于可微分机制的自动化数据增强算法 Faster AA 和 DADA . 由于增强操作的选择以及增强操作的应
[7]
用幅度是离散化的, 故 Faster AA 为这两种离散化的参数引入了近似梯度, 并采用对抗网络最小化增强数据与原始
数据的分布距离. 因此整个搜索过程可以看作是端对端的可微分学习. DADA 则将数据增强策略形式化为子策略
范畴分布 (categorical distribution) 的采样问题, 将子策略中每个操作被应用的概率选择转为伯努利分布采样, 然后
将上述分布的参数优化问题通过 Gumbel Softmax [15] 松弛为可微分的参数优化问题. 上述两个算法均基于可微分
机制的思想, 使用随机梯度下降算法实现参数优化, 从而在搜索效率上实现了数量级的提升, 在 CIFAR-10 数据集
上搜索耗时仅为 0.23 和 0.1 个 GPU 小时. 虽然这两种算法在搜索耗时方面是最优的, 然而使用可微分估计梯度和
真实梯度之间的间隙难以评估, 最终算法在测试集上的预测性能没有明显竞争力.
5) 基于随机数据增强的算法: 针对 Google AA 算法和数据集的强关联关系而导致算法的迁移能力差的缺陷,
[8]
Google 研究团队提出了一种基于随机数据增强的算法 Rand AA . 该算法不再采用应用概率参数决定是否使用某
种子策略, 而是所有的子策略都会以同样的概率被选中应用. Rand AA 算法只定义了两个整数参数 N 和 M, 分别
N
代表增强操作的数量和增强操作的变换幅度, 搜索空间可降低至 M (N 一般为 2, 因此搜索空间一般在 10 级别左
2
右数量级). 因此, 使用朴素的网格搜索就可以寻找到一组较优的组合解. 然而, 实验发现该算法在测试集的预测准
确率并不理想, 而且需要探索更多的参数组合而导致 N 和 M 增加时, 搜索空间复杂度呈指数级上升, 简单的网格
搜索将不再适用.
综上所述, 已有自动化数据增强算法在准确率和搜索效率上存在“只顾一头”的问题. 为此, 本文将提出基于自
引导进化策略的自动化数据增强算法 SGES AA, 在准确率和搜索效率之间能够实现更好的平衡.
2 背景知识
本节将重点介绍自引导进化策略的相关背景知识. 进化策略是一种无梯度随机优化算法, 针对一般性全局优
化问题, 目标函数 F 的梯度 ∇F 通常是无法获取的. 为了估计函数 F 在 θ 处的梯度, 一种常见的方法是使用高斯平
滑技术 [16] 使函数 F 平滑, 如公式 (1) 所示: 1
∫
n 1 2
F v (θ) = E δ∈N(0,I n ) [F(θ +vδ)] = (2π) − 2 F(θ +vδ)e − 2 ∥δ∥ 2 dδ (1)
R n
其中, v>0 是平滑参数, δ 是均值为 0、维度为 n 的高斯向量, 根据文献 [17] 可以推得函数 F v 在 θ 的梯度为:
1
∇F v (θ) = E δ∈N(0,I n ) [F(θ +vδ)δ] (2)
v
然而实际上该梯度仍难以计算, 通常会用蒙特卡洛估计器进行估计, 最常用的两种估计器是一般的进化策
略 [17] 梯度估计:
1 N s ∑
ˆ
∇F v (θ) = F(θ +vδ i )δ i (3)
vN s
i=1
和对偶进化策略梯度 [18] 估计:
N s ∑
ˆ
∇F v (θ) = (F(θ +νδ i )− F(θ −νδ i ))δ i (4)
2νN s
i=1
其中, {δ 1 , δ 2 , …, δ N s }称为搜索方向, 根据分布 N(0,I n ) 进行采样, N s 为搜索方向数量. 一般来说, 第 2 种策略梯度估
计方法比第 1 种拥有更小的方差 [18] .
为了解决进化策略算法在高维优化问题中固有的高方差问题 [16] , 自引导进化策略算法 [9] 应运而生. 自引导进
化策略算法在迭代的过程中, 收集了最近 k 次的估计梯度, 并且构建了两个子空间. 假设 G t ∈ R n×k 定义为在迭代 t
时刻的梯度矩阵, 包含了从迭代 t – k 时刻到 t – 1 时刻的估计梯度, 则自引导进化策略算法通过分解矩阵 G 来生
⊥ L G 是一个信息量很大的子空间, 包含了
成两个子空间: 梯度子空间 L G 和其对应的正交补空间 L . 直观上来说,
G