(AdaDGS)An adaptive black-box optimization method with a nonlocal directional Gaussian smoothing gradient
Adadgs:一种具有非局部方向高斯平滑梯度的自适应黑盒优化方法
ABSTRACT
局部梯度指向无穷小领域中最陡的方向。容易陷入局部最优解。
已有研究提出:方向高斯平滑方法(DGS) ,用于定义非局部梯度,用于高位黑盒优化。显著提高 基于梯度的方法 优化高维多模态损失函数的性能。
DGS梯度优化基于两个重要的超参数调整:平滑半径、学习率
AdaDGS无需超参数,沿DGS方向搜索,学习迭代步长,反馈周围区域功能景观的规模,并以此为基础调整平滑半径,准备下一次迭代。
一、INTRODUCTION
考虑 黑盒优化 问题,搜索一个损失函数 F : R d → R F:\mathbb R^ d \to \mathbb R F:Rd→R 只允许访问其函数查询的最优值。
损失函数梯度不可访问,如:优化神经网络架构、强化学习、对抗攻击的设计、搜索生成模型的潜在空间。
局部梯度 是常用指导优化的量。当 ∇ F ( x ) \nabla F(x) ∇F(x) 不可达,将 ∇ F ( x ) \nabla F(x) ∇F(x) 重构为 F ( x ) F(x) F(x) 函数。
1. 高斯平滑 (GS)
是重构的一种方式,通过 d d d 维高斯卷积进行平滑,没有解决将局部梯度应用于全局优化的挑战。
2.非局部方向高斯平滑(DGS)
沿着
R
d
\mathbb R^ d
Rd方向的
d
d
d 个正交方向进行一维非局部探索,每个方向上的非局部方向导数定义为一维积分,将
d
d
d 方向导数集合成DGS梯度。
优势: 利用较大的平滑半径实现沿正交方向的长程探索,适用于优化多模态函数。
缺点: 过于依赖超参数 平滑半径 和 学习率
3.基于DGS梯度的自适应优化方法AdaDGS
通过回溯线搜索自动学习 平滑半径 和 学习率 的更新规则。让优化器沿着DGS 方向进行更彻底的搜索,让直线搜索确定步长。
每次搜索完以后,根据学习到的步长更新平滑半径,这个量表示损失函数的一个重要模态的距离估计。
4.Related works
(1)Random search.
随机生成搜索方向,利用GS公式估计方向导数或直接搜索下一个候选对象。
举例:两点法、三点法、坐标下降算法、自适应半径二分搜索
(2)Zeroth order methods based on local gradient surrogate.基于局部梯度代理的零阶方法
模拟一阶方法,通过函数查询近似梯度,
(3)Orthogonal exploration. 正交探索
黑盒优化。
举例:有限差分探索正交方向、在GS中引入正交MC采样来逼近局部梯度、引入正交探索和高斯-埃尔米特正交Gauss-Hermite quadrature来定义和近似非局部梯度
(4)Line search
选择学习率的经典方法,将 回溯方法 应用于DGS方向,用 全线搜索 替代流行的 Armijo、Wolfe 条件。
二、THE DIRECTIONAL GAUSSIAN SMOOTHING (DGS) GRADIENT
DGS:在传统GS上,沿 d d d 正交方向进行一维高斯平滑,进行一维数值积分。
三、THE ADADGS ALGORITHM
1. Learning rate update via line search.
采用直线搜索,搜索距离最大值为 搜索域的对角线,最小值为最大值的0.005倍。
2.Smoothing radius update.
根据直线搜索的学习率调整平滑半径,初始半径为搜索域的宽度相同。
学习率和平滑半径都表示了损失函数的分布。
3.The number of Gaussian-Hermite points.
影响不大。超过五个没啥好处,一般3个就行。
3.Random exploration.
有以下方法帮助随机探索:
-
Reset the smoothing radius.
偶尔重置平滑半径为初始值,两次重置间隔最少十次迭代。 -
Random generation of Ξ \Xi Ξ(学习率公式里的一个参数).
生成完全随机的旋转矩阵 Ξ \Xi Ξ,用于偶尔改变非局部探索方向。
四、EXPERIMENTS
1.TESTS ON HIGH-DIMENSIONAL BENCHMARK FUNCTIONS 高维基准函数测试
AdaDGS 与 ES-Bpop、ASEBO、IPop-CMA、Nesterov、FD、TuRBO进行对比
在12个高维基准函数上测试AdaDGS方法的性能:Ackley, Alpine, Ellipsoidal,Quintic, Rastrigin, Rosenbrock, Schaffer’s F7, Sharp-Ridge,Solomon, Styblinsky, Trigonometric, Wavy
在1000D,2000D,4000D,6000D进行试验
- ES-Bpop:
标准OpenAI进化策略
在给定相同的计算代价的情况下,比较标准GS梯度的mc估计量和DGS梯度的gh估计量。 - ASEBO:
自适应es -有源黑箱优化子空间
https://github.com/jparkerholder/ASEBO
- IPop-CMA
重新启动协方差矩阵适应种群规模增加的进化策略
restarts=9 随着种群大小的增加,重启的最大次数
incpopsize=2 在每次重启前增加种群大小的乘数
σ 0 \sigma_0 σ0 初始勘探半径设为搜索域宽度的1/4
https://github.com/CMA-ES/pycma.
-
Nesterov
随机搜索方法
使用正向差分格式来计算方向导数 -
FD
经典的中心差分格式
按照标准的数值配方实现 -
TuRBO
信赖域贝叶斯优化
https://github.com/uber-research/TuRBO.
2. TESTS ON AIRFOIL SHAPE OPTIMIZATION翼型形状优化试验
3.TESTS ON GAME CONTENT GENERATION FOR SUPER MARIO BROS 测试《超级马里奥》的游戏内容生成
五、CONCLUSION
缺点:采样复杂度。
解决:降维技术,如主动子空间和切片线性回归