优化|无悔动力学解释凸优化算法

在这里插入图片描述
原文信息:No-regret dynamics in the Fenchel game- A unified framework for algorithmic convex optimization
原文作者:Jun-Kun Wang, Jacob Abernethy, Kfir Y. Levy
论文解读者:赵田田

编者按:

对于一个凸优化问题,我们可以把它看作是一个min-max问题中的一部分. 而对于求解min-max问题,我们可以考虑让对应极小化和极大化的两个变量依次进行更新,并持续重复这个过程. 本文将这两个变量可以采取的更新方法限定在无悔学习策略(no-regret learning algorithms). 可以证明,许多的一阶凸优化算法,都可以看作是双方采取不同的无悔学习策略来求解min-max问题. 利用这个特别的框架(FGNRD, the Fenchel game no-regret dynamics),我们可以给出一套算法的收敛性证明,并提出一些包含在框架中的新算法,它们同时也具有好的收敛结果.

一、从凸优化到min-max问题

对于凸优化问题
min ⁡ x ∈ X f ( x ) , \min_{x\in\mathcal{X}}f(x), xXminf(x),
假设最小值点在 X \mathcal{X} X中的某个有界区域内取到. 我们可以构造对应的鞍点问题(Fenchel Game),其中目标函数为 g ( x , y ) : = ⟨ x , y ⟩ − f ∗ ( y ) g(x,y):=\langle x,y\rangle-f^{*}(y) g(x,y):=x,yf(y), f ∗ f^{*} f f f f的共轭函数. 可以看出 g g g关于 x x x是凸函数,而关于 y y y是凹函数.

定义1( ϵ − \epsilon- ϵ均衡点) x ^ , y ^ \hat{x}, \hat{y} x^,y^ g ( ⋅ , ⋅ ) g(\cdot, \cdot) g(,)的一对 ϵ − \epsilon- ϵ均衡点,当且仅当 V ∗ − ϵ ≤ inf ⁡ x ∈ X g ( x , y ^ ) ≤ V ∗ ≤ sup ⁡ y ∈ Y g ( x ^ , y ) ≤ V ∗ + ϵ , V^*-\epsilon \leq \inf _{x \in \mathcal{X}} g(x, \hat{y}) \leq V^* \leq \sup _{y \in \mathcal{Y}} g(\hat{x}, y) \leq V^*+\epsilon, VϵxXinfg(x,y^)VyYsupg(x^,y)V+ϵ, 其中 V ∗ = inf ⁡ x ∈ X sup ⁡ y ∈ Y g ( x , y ) V^*=\inf_{x \in \mathcal{X}} \sup_{y \in \mathcal{Y}} g(x, y) V=infxXsupyYg(x,y).

假设 x ^ \hat{x} x^ y ^ \hat{y} y^是函数 g g g的一组均衡点( ϵ = 0 \epsilon=0 ϵ=0),此时根据共轭函数和均衡点的定义,可得
inf ⁡ x ∈ X f ( x ) = inf ⁡ x ∈ X sup ⁡ y ∈ Y { ⟨ x , y ⟩ − f ∗ ( y ) } = inf ⁡ x ∈ X sup ⁡ y ∈ Y g ( x , y ) = V ∗ = sup ⁡ y ∈ Y g ( x ^ , y ) = sup ⁡ y ∈ Y { ⟨ x ^ , y ⟩ − f ∗ ( y ) } = f ( x ^ ) . \begin{aligned} \inf _{x \in \mathcal{X}} f(x) & =\inf _{x \in \mathcal{X}} \sup _{y \in \mathcal{Y}}\left\{\langle x, y\rangle-f^*(y)\right\}=\inf _{x \in \mathcal{X}} \sup _{y \in \mathcal{Y}} g(x, y)=V^{*} \\ & =\sup _{y \in \mathcal{Y}} g(\hat{x}, y)=\sup _{y \in \mathcal{Y}}\left\{\langle\hat{x}, y\rangle-f^*(y)\right\}=f(\hat{x}) . \end{aligned} xXinff(x)=xXinfyYsup{x,yf(y)}=xXinfyYsupg(x,y)=V=yYsupg(x^,y)=yYsup{x^,yf(y)}=f(x^).
因此每个鞍点问题的均衡点,都对应凸优化问题的一个极小值点. 类似地,我们还可以证明:

引理1 如果 ( x ^ , y ^ ) (\hat{x},\hat{y}) (x^,y^)是上述 Fenchel Game
的一组 ϵ − \epsilon- ϵ均衡点,则有 f ( x ^ ) − min ⁡ x ∈ X f ( x ) ≤ ϵ . f(\hat{x})-\min_{x\in\mathcal{X}}f(x)\leq\epsilon. f(x^)minxXf(x)ϵ.

这样一来,考虑min-max问题就相当于求解原本的凸优化问题.

二、无悔动力学:求解min-max问题

2.1 整体算法框架

对于求解min-max问题
inf ⁡ x ∈ X sup ⁡ y ∈ Y g ( x , y ) , \inf_{x \in \mathcal{X}} \sup_{y \in \mathcal{Y}} g(x, y), xXinfyYsupg(x,y)
本文考虑让 x , y x, y x,y分别采取不同的无悔策略,交替更新. x , y x,y x,y遵循的算法如下所示:

从 Protocol 1 能看出,本文考虑的是 OAlg 学习算法. 它的任务是要在凸的决策集合 Z ∈ R d \mathcal{Z}\in\mathbb{R}^{d} ZRd中选取合适的动作. 对于每个回合( t = 1 , 2 ⋯   , T t=1,2\cdots,T t=1,2,T), OAlg 都返回某个 z t ∈ Z z_t\in\mathcal{Z} ztZ,并在返回之后获得当前回合的权重 α t > 0 \alpha_t>0 αt>0以及用来衡量 z t z_t zt的某个凸的损失函数 l t : Z → R l_t:\mathcal{Z}\to\mathbb{R} lt:ZR.

求解 Fenchel Game 的整体算法框架如下所示.

注1: 最终输出的结果 ( x ˉ T , y ˉ T ) (\bar{x}_T,\bar{y}_T) (xˉT,yˉT)是先前迭代点的加权平均.

注2:对于现有的大多数算法,它们对应的模式都是 y y y先更新, x x x再更新. 当然也有相反的情况,比如 Cumulative gradient descent. 我们有时候也可以通过交换双方的更新顺序来获得新的算法.

2.2 用 Regret 刻画解的接近程度

在介绍 OAlg 算法具体有哪些选择之前, 我们先展示 α t \alpha_t αt l t l_t lt( h t h_t ht) 在收敛性分析中起到的作用. 考虑使用某种 OAlg 算法. 沿用 Protocol 1 中的符号, 把每一次对应的损失累积起来,我们可以得到所谓的Regret:
α − REG ⁡ z ( z ∗ ) : = ∑ t = 1 T α t ℓ t ( z t ) − ∑ t = 1 T α t ℓ t ( z ∗ ) , \boldsymbol{\alpha}-\operatorname{REG}^z\left(z^*\right):=\sum_{t=1}^T \alpha_t \ell_t\left(z_t\right)-\sum_{t=1}^T \alpha_t \ell_t\left(z^*\right), αREGz(z):=t=1Tαtt(zt)t=1Tαtt(z),
其中 z ∗ ∈ Z z^{*}\in\mathcal{Z} zZ是用于比较的标准(可自选). 接着可以定义
α − R E G ‾ z ( z ∗ ) : = α − R E G z ( z ∗ ) A T \overline{\boldsymbol{\alpha}-\mathrm{REG}}^z\left(z^*\right):=\frac{\boldsymbol{\alpha}-\mathrm{REG}^z\left(z^*\right)}{A_T} αREGz(z):=ATαREGz(z)
其中 A T : = ∑ t = 1 T α t A_T:=\sum_{t=1}^T \alpha_t AT:=t=1Tαt. Protocol 2 的损失函数分别为 l t ( y ) : = f ∗ ( y ) − ⟨ x t , y ⟩ l_t(y):=f^{*}(y)-\langle x_t,y\rangle lt(y):=f(y)xt,y 和 和 h t ( x ) : = ⟨ x , y t ⟩ − f ∗ ( y t ) h_t(x):=\langle x,y_t\rangle-f^{*}(y_t) ht(x):=x,ytf(yt). 对应地, 我们可以定义
α − REG ⁡ y : = ∑ t = 1 T α t ℓ t ( y t ) − min ⁡ y ∈ Y ∑ t = 1 T α t ℓ t ( y ) , α − REG ⁡ x : = ∑ t = 1 T α t h t ( x t ) − min ⁡ x ∈ X ∑ t = 1 T α t h t ( x ) , \begin{aligned} \boldsymbol{\alpha}-\operatorname{REG}^y & :=\sum_{t=1}^T \alpha_t \ell_t\left(y_t\right)-\min _{y \in \mathcal{Y}} \sum_{t=1}^T \alpha_t \ell_t(y), \\ \boldsymbol{\alpha}-\operatorname{REG}^x & :=\sum_{t=1}^T \alpha_t h_t\left(x_t\right)-\min _{x \in \mathcal{X}} \sum_{t=1}^T \alpha_t h_t(x), \end{aligned} αREGyαREGx:=t=1Tαtt(yt)yYmint=1Tαtt(y),:=t=1Tαtht(xt)xXmint=1Tαtht(x),
其中 Y : = ⋃ x ∈ X ∂ f ( x ) \mathcal{Y}:=\bigcup_{x\in\mathcal{X}}\partial f(x) Y:=xXf(x). 可以证明, Y \mathcal{Y} Y的闭包是一个凸集. 类似地, 我们可以定义 α − REG ⁡ ‾ y \overline{\boldsymbol{\alpha}-\operatorname{REG}}^y αREGy和$\overline{\boldsymbol{\alpha}-\operatorname{REG}}^x . 下面的定理告诉我们 , 通过无悔策略所获得的 . 下面的定理告诉我们, 通过无悔策略所获得的 .下面的定理告诉我们,通过无悔策略所获得的\bar{x}_T , 它和最优值的差距可以被 , 它和最优值的差距可以被 ,它和最优值的差距可以被\overline{\boldsymbol{\alpha}-\operatorname{REG}}y$和$\overline{\boldsymbol{\alpha}-\operatorname{REG}}x $之和控制.

整个定理的证明只用到 f f f的凸性以及一些已经给出的定义.

2.3 OAlg 算法

我们接下来介绍 OAlg 算法的具体选择 (这里继续使用 Protocol 1中的符号). OAlg 算法基本上可以被分为两大类: Batch-style 和 Update-style. 此外还有一种不属于二者的更新方法: BESTRESP+.

这里的 + + +号表示能够在确定 z t z_t zt之前就知道损失函数 l t ( ⋅ ) l_t(\cdot) lt(). 这对于 Protocol 2 里的 x x x变量来说是成立的 (在更新 x t x_t xt之前, 由于 y t y_t yt已经确定, 因此 h t h_t ht也已经得到).

Batch-style 从字面上理解是"批量", 它的特点在于把过去的损失函数加权累计, 来获得子问题的目标函数. 算法名称中的 + + +号与之前所述意义相同. 名称中的 R 代表目标函数中包含正则项, 而 OPTIMISTIC 代表当前损失函数 l t ( ⋅ ) l_t(\cdot) lt()是未知的, 而我们在目标函数中加入 m t m_t mt项作为对它的估计. Batch-style类的算法如下所示:

Update-style的目标函数集中在最新的损失函数上, 同时增加了一项 Bregman 距离, 其中 ϕ \phi ϕ是生成距离的函数. Update-style 类的算法如下所示.

2.4 刻画 Regret 的上界

根据 2.2 节中的定理2, 可知 f ( x ˉ T ) f(\bar{x}_T) f(xˉT)- f ∗ f^{*} f α − REG ⁡ ‾ y \overline{\boldsymbol{\alpha}-\operatorname{REG}}^y αREGy和$\overline{\boldsymbol{\alpha}-\operatorname{REG}}^x 之和控制 . 由于我们要对 P r o t o c o l 2 中算法的收敛速度进行分析 , 因此我们的任务就转化为控制 之和控制. 由于我们要对 Protocol 2 中算法的收敛速度进行分析, 因此我们的任务就转化为控制 之和控制.由于我们要对Protocol2中算法的收敛速度进行分析,因此我们的任务就转化为控制\overline{\boldsymbol{\alpha}-\operatorname{REG}}y$和$\overline{\boldsymbol{\alpha}-\operatorname{REG}}x $的大小. 文中对于不同类型的 OAlg 算法, 分别给出了它们 Regret 的上界.

对于 BESTRESP+, 通常使用的结论是 α − REG ⁡ ‾ z ( z ∗ ) ≤ 0. \overline{\boldsymbol{\alpha}-\operatorname{REG}}^z(z^*)\leq0. αREGz(z)0.

对于 Batch-style 类算法, 可以看出 OPTIMISTICFTRL 包含了其他所有算法 (它们都是它的某个特例). 对于 OPTIMISTICFTRL 算法, 我们通过归纳法可以证明它的 Regret 满足以下不等式.

对于 Batch-style 类中的其他算法, 我们都可以从 Lemma 3 出发, 得到 Regret 上界的表达式. 对于 Update-style 类的算法, 我们有如下形式的结论 (以 OPTIMISTICMD 为例, 其余算法省去):

三. 从无悔动力学到凸优化算法

在第一节中, 我们展示了min-max问题的( ϵ − \epsilon- ϵ)解同样是凸优化问题的( ϵ − \epsilon- ϵ)解. 在第二节中, 我们考虑用无悔学习策略求解 min-max 问题, 介绍算法框架, 给出了函数值与最优值之差的上界表达式. 在这一节中, 我们展示 Protocol 2 中的一些算法 ( y y y x x x策略的组合) 可以等价于某个的凸优化算法, 并利用 2.2 和 2.4 节的内容, 获得一些好的收敛性结论.

3.1 Frank-Wolfe 算法

假设定义域 K \mathcal{K} K是凸集 (在算法中我们直接设 X = K \mathcal{X}=\mathcal{K} X=K), f f f是 L-smooth 的闭凸函数. Frank-Wolfe 算法的迭代格式 (左) 和它在无悔动力学下的等价形式 (右) 如下所示:

我们可以通过归纳法证明: ∇ f ( ω t − 1 ) = y t , v t = x t , ω t = x ˉ t {\nabla}f(\omega_{t-1})=y_t, v_t=x_t, \omega_t = \bar{x}_t f(ωt1)=yt,vt=xt,ωt=xˉt(文中 Proposition 3), 并得到如下定理.

定理的证明过程如下.

根据 2.2 节的 Theorem 2 和 2.4 节的 Lemma 2,可以得到
f ( ω T ) − f ∗ = f ( x ˉ T ) − f ∗ ≤ α − R E G ‾ y [ F T L ] + α − R E G ‾ x [ B E S T R E S P + ] ≤ α − R E G ‾ y [ F T L ] . f(\omega_T)-f^{*}=f(\bar{x}_T)-f^{*}\leq \overline{\boldsymbol{\alpha}-\mathrm{REG}}^y[\mathrm{FTL}] +\overline{\boldsymbol{\alpha}-\mathrm{REG}}^x[\mathrm{BESTRESP}^+] \leq \overline{\boldsymbol{\alpha}-\mathrm{REG}}^y[\mathrm{FTL}]. f(ωT)f=f(xˉT)fαREGy[FTL]+αREGx[BESTRESP+]αREGy[FTL].
而关于 FTL 算法,我们可以从 Lemma 3 中推导出如下引理.

由于 f f f是 L-smooth 的,所以它的共轭函数 f ∗ f^{*} f 1 L \frac{1}{L} L1-强凸的,从而函数 l t ( ⋅ ) : = − g ( x , ⋅ ) l_t(\cdot):=-g(x,\cdot) lt():=g(x,)也是 1 L \frac{1}{L} L1-强凸的. 将 μ = 1 / L \mu=1/L μ=1/L 和 和 α t = t \alpha_t=t αt=t代入(27)中,即得
α − R E G ‾ y [ F T L ] ≤ 1 A T ∑ t = 1 T 2 α t 2 ∥ ∇ l t ( y t ) ∥ 2 ∑ s = 1 t α s ( 1 / L ) = 8 L T ( T + 1 ) ∑ t = 1 T t 2 ∥ ∇ l t ( y t ) ∥ 2 t ( t + 1 ) . \overline{\boldsymbol{\alpha}-\mathrm{REG}}^y[\mathrm{FTL}] \leq \frac{1}{A_T} \sum_{t=1}^T \frac{2 \alpha_t^2\left\|\nabla l_t\left(y_t\right)\right\|^2}{\sum_{s=1}^t \alpha_s(1 / L)}=\frac{8 L}{T(T+1)} \sum_{t=1}^T \frac{t^2 \left\|\nabla l_t\left(y_t\right)\right\|^2}{t(t+1)} . αREGy[FTL]AT1t=1Ts=1tαs(1/L)2αt2lt(yt)2=T(T+1)8Lt=1Tt(t+1)t2lt(yt)2.
根据等价性可知 y t = ∇ f ( ω t − 1 ) = ∇ f ( x ˉ t − 1 ) y_t=\nabla{f}(\omega_{t-1})=\nabla{f}(\bar{x}_{t-1}) yt=f(ωt1)=f(xˉt1), 而 f f f是闭凸函数,根据共轭函数的性质有 x ˉ t − 1 = ∇ f ∗ ( y t ) \bar{x}_{t-1}=\nabla{f}^*(y_t) xˉt1=f(yt). 因此我们可以控制 ∥ ∇ l t ( y t ) ∥ \|\nabla{l}_t(y_t)\| ∥∇lt(yt)的大小:
∥ ∇ ℓ t ( y t ) ∥ 2 = ∥ x t − ∇ f ∗ ( y t ) ∥ 2 = ∥ x t − x ˉ t − 1 ∥ 2 ≤ D , \left\|\nabla \ell_t\left(y_t\right)\right\|^2=\left\|x_t-\nabla f^*\left(y_t\right)\right\|^2=\left\|x_t-\bar{x}_{t-1}\right\|^2 \leq D, t(yt)2=xtf(yt)2=xtxˉt12D,
其中第一个等式来自 l t l_t lt定义,最后一个不等式来自 Theorem 4 中的条件.

最终我们得到$f(\omega_T)-f{*}\leq\overline{\boldsymbol{\alpha}-\mathrm{REG}}y[\mathrm{FTL}] \leq \frac{8 LD}{T+1} $, 即得证.

3.2 Nesterov加速算法

同样假设定义域 K \mathcal{K} K是凸集 (在算法中我们直接设 X = K \mathcal{X}=\mathcal{K} X=K), f f f是 L-smooth 的闭凸函数. Nesterov 加速算法的迭代格式 (左) 和它在无悔动力学下的等价形式 (右) 如下所示:

注3:OPTIMISTICFTL中涉及对函数 l t ( ⋅ ) l_t(\cdot) lt()的估计项 m t ( ⋅ ) m_t(\cdot) mt(),这里直接取成 l t − 1 ( ⋅ ) l_{t-1}(\cdot) lt1().

可以用归纳法证明证明: ∇ f ( z t ) = y t , v t = x t , ω t = x ˉ t \nabla{f}({z_t})=y_t, v_t=x_t, \omega_t=\bar{x}_t f(zt)=yt,vt=xt,ωt=xˉt. 通过无悔算法的框架,可得如下定理.

3.3 Boundary Frank-Wolfe 算法(新)

根据 3.1 节的 Frank-Wolfe 算法,我们通过交换 x x x y y y更新的顺序,以及改变 α t \alpha_t αt的大小,得到如下的Boundary Fank-Wolfe 算法:

类似地,可以证明:

算法收敛的速率受到参数 L T L_T LT的影响. 为保证 L T > 0 L_T>0 LT>0, 我们可以假设凸优化问题的最优解在定义域的边界取到. 这样一来,零向量不在 Y \mathcal{Y} Y的闭包中,一定有 L T > 0 L_T>0 LT>0成立

参考文献

[1] Wang, J., Abernethy, J.D., & Levy, K.Y. (2021). No-Regret Dynamics in the Fenchel Game: A Unified Framework for Algorithmic Convex Optimization. ArXiv, abs/2111.11309…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值