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
   435   436   437   438   439   440   441   442   443   444   445