优化算法中的零次优化详解

零次优化公式算法收敛

无梯度优化
在这里插入图片描述
m i n f ( x ) minf(x) minf(x)
无梯度方法适用于梯度难以得到、获得昂贵

传统无梯度方法:

  • 基于直接搜索的方法:坐标搜索,广义模式搜索和网格自适应直接搜索
  • 基于模型的方法:隐式过滤,信任区域方法
  • 贝叶斯方法

通过随机梯度估计的零次优化:

  • 模仿一阶方法,但使用函数值的有限差分来估计梯度
  • 优点:易与操作、收敛保证、函数查询效率

黑箱攻击的基本问题:

  • 收敛
  • 查询无效

ZOO方法综述:
在这里插入图片描述

Unconstrained ZOO

在这里插入图片描述
梯度估计(ZOO):

  • One-point gradient estimate
    ∇ ^ f ( x ) = ( d / μ ) [ f ( x + μ u ) − f ( x ) ] u \hat{\nabla} f(\mathbf{x})=(d / \mu)[f(\mathbf{x}+\mu \mathbf{u})-f(\mathbf{x})] \mathbf{u} ^f(x)=(d/μ)[f(x+μu)f(x)]u
    其中 u u u是从单位球的球面均匀绘制的随机向量,有些地方 u u u来着标准高斯分布,在这里,使用均匀分布可确保在有界空间而不是高斯所需的整个实际空间中定义ZO梯度估计,并且 µ > 0 µ> 0 µ>0是一个小的步长,称为平滑参数
  • Two-point gradient estimate
    g μ ( x ) = f ( x + μ u ) − f ( x ) μ ⋅ B u g ^ μ ( x ) = f ( x + μ u ) − f ( x − μ u ) 2 μ ⋅ B u \begin{aligned} &g_{\mu}(x)=\frac{f(x+\mu u)-f(x)}{\mu} \cdot B u\\ &\hat{g}_{\mu}(x)=\frac{f(x+\mu u)-f(x-\mu u)}{2 \mu} \cdot B u \end{aligned} gμ(x)=μf(x+μu)f(x)Bug^μ(x)=2μf(x+μu)f(xμu)Bu
    上式第一项称为Forward difference,第二项称为Central difference
  • Gradient sign estimate
    sign ⁡ ( f ( x + μ u ) − f ( x ) μ u )  (use sign as descent direction)  \operatorname{sign}\left(\frac{f(x+\mu u)-f(x)}{\mu} u\right) \quad \text { (use sign as descent direction) } sign(μf(x+μu)f(x)u) (use sign as descent direction) 
    梯度符号的估计对梯度估计噪声更鲁棒。例如 g = [ 5 , − 0.5 ] T , g ^ = [ 0.5 , − 5 ] ,  but  sign ⁡ ( g ) = [ 1 , − 1 ] = sign ⁡ ( g ^ ) g=[5,-0.5]^{T}, \hat{g}=[0.5,-5], \text { but } \operatorname{sign}(g)=[1,-1]=\operatorname{sign}(\hat{g}) g=[5,0.5]T,g^=[0.5,5], but sign(g)=[11]=sign(g^)

Unconstrained ZOO: Optimality Measures
在ML应用中,最大程度地减少经验平均损失
minimize ⁡ x ∈ R d f ( x ) = 1 n ∑ i = 1 f i ( x ) , f i ( x ) : = f ( x ; w i ) \underset{x \in R^{d}}{\operatorname{minimize}} f(x)=\frac{1}{n} \sum_{i=1} f_{i}(x), \quad f_{i}(x):=f\left(x ; w_{i}\right) xRdminimizef(x)=n1i=1fi(x),fi(x):=f(x;wi)

x ∈ R d x \in R^{d} xRd 指优化变量 , w i w_{i} wi第i个数据样本, f i ( x ) f_{i}(x) fi(x)是cost函数单数非凸

  • 对于凸问题,将追踪
    h T : = E [ f ( x T ) ] − f ∗ ≤ ϵ h_{T}:=\mathbb{E}\left[f\left(x_{T}\right)\right]-f^{*} \leq \epsilon hT:=E[f(xT)]fϵ
  • 对于非凸问题,将追踪
    h ~ T : = E [ ∥ ∇ f ( x T ) ∥ 2 ] ≤ 6 \tilde{h}_{T}:=\mathbb{E}\left[\left\|\nabla f\left(x_{T}\right)\right\|^{2}\right] \leq 6 h~T:=E[f(xT)2]6

讨论收敛速度
在这里插入图片描述
Sign-Based Methods能更快收敛,而为什么?
x k + 1 = x k − δ k sign ⁡ ( g ^ k ) ,  where  sign ⁡ ( x )  takes element-wise signs of  x \mathbf{x}_{k+1}=\mathbf{x}_{k}-\delta_{k} \operatorname{sign}\left(\hat{\mathbf{g}}_{k}\right), \quad \text { where } \operatorname{sign}(\mathbf{x}) \text { takes element-wise signs of }\mathbf{x} xk+1=xkδksign(g^k), where sign(x) takes element-wise signs of x

  • 符号算子导致了自适应学习率, δ k sign ⁡ ( g ^ k ) = δ k g ^ k ⋅ / ∣ g ^ k ∣ , δ k / ∣ g ^ k ∣ \delta_{k} \operatorname{sign}\left(\widehat{\boldsymbol{g}}_{k}\right)=\delta_{k} \widehat{\boldsymbol{g}}_{k} \cdot /\left|\widehat{\boldsymbol{g}}_{k}\right|, \delta_{k} /\left|\widehat{\boldsymbol{g}}_{k}\right| δksign(g k)=δkg k/g k,δk/g k指自适应率,其中 g ^ k = ∇ x = x k f i ( x ) \widehat{\boldsymbol{g}}_{k}=\nabla_{\boldsymbol{x}=\boldsymbol{x}_{\mathbf{k}}} f_{i}(\boldsymbol{x}) g k=x=xkfi(x)
  • 梯度算子对nosie有更大的容错性

总结:

  • ZO-SGD相比于ZO-signSGD收敛有更好的准确性(loss更小),但ZO-signSGD能更快收敛。
  • 而后面提到ZO-AdaMM能包含ZO-SGD和ZO-signSGD两种情况(这两种为ZO-AdaMM的特殊情况)
    在这里插入图片描述

Constrained ZOO

在这里插入图片描述
(上图中Unconstrained改为constrained)
Constrained ZOO:

  • Alternating direction method of multipliers (ADMM): A general optimization solver
  • ZO Stochastic Projected Gradient Descent (ZO-SPGD)
  • ZO Adaptive Momentum Method (ZO-AdaMM)类似于Adam方法(结合了Momentum和自适应学习率)

总结:
在这里插入图片描述

Min-max ZOO

在这里插入图片描述

总结

在这里插入图片描述
ZOO 优化总结:

  • 使用客观评估估算梯度信息
  • 收敛到解决方案的可能邻域(消除在随机环境设置的随机小批量所产生的偏差)

Zeroth Order for Adversary ML

零次攻击(Zeroth Order Optimization (ZOO) Attack)
在这里插入图片描述
ZO by Natural Evolution Strategy (NES)

ZO-AdaMM:

  • ZO-AdaMM作为一种特殊情况涵盖了ZO-signSGD
  • ZO-AdaMM具有自适应学习率和梯度平均的优势

Data poisoning attacks:

  • injecting poisoned data (eg, with designed backdoor trigger) into training phase
    在这里插入图片描述
    零次优化方法对于梯度为以下的问题很有用:
  • 不可用:黑匣子攻击(主要是这一点)
  • 不可计算:封闭形式不可计算的梯度,例如AutoML中的超参数优化
  • 不方便:梯度可计算,但其形式评估成本很高,例如,涉及梯度计算中矩阵求逆,通过梯度或曲率正则化进行对抗防御的资源管理
  • 隐私权要求:隐私权保护条件,例如,隐私权保护的分布式计算

总结

  • 当没有梯度时,ZO方法是一阶方法的通用替代方法
  • 收敛速度受尺寸依赖的减慢效应的影响,但是如果具有适当的最小批处理大小,则它对一阶方法具有竞争力
  • ZO优化在数据挖掘,机器学习,计算机视觉尤其是对抗性鲁棒性中的新兴应用

传统的derivative-free optimization(DFO)方法可以分为

  • 基于直接搜索的方法和基于模型的方法。两种方法都都是迭代方法区别在于,基于直接搜索的方法直接基于查询的函数值来优化其搜索方向,而基于模型的方法则建立一个模型,该模型逼近要优化的函数并基于该模型更新搜索方向
  • 14
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pinn山里娃

原创不易请多多支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值