Mirror Descent

我们已经知道梯度下降的每一次迭代可以看作求f^(x)=f(xk)+f(xk),xxk+12ηxxk2的最小值,而f^(x)的选取其实并不是唯一的,换言之我们不一定要选取二次函数。二次函数的特殊性(例如对称性)有时并不能很好的刻画原函数f(x)的几何特性,这可能使得梯度下降算法表现得不那么优秀。假设我们选取另一个函数g(注意必须是凸函数),当然我们还是希望保证其线性部分是不变的,因此实际上我们关注的是g(x)g(xk)g(xk),xxk这一项。这一项称为Bregman divergence(布雷格曼散度),记为Dg(x,xk),表示一个函数与自己线性近似的误差。我们的新算法要求f(xk)+f(xk),xxk+1ηDg(x,xk)的最小值,也就是等价地要求f(xk),x+1nDg(x,xk)的最小值。注意到x2Dg(x,y)=x2g(x),既然g是凸函数,因此Dg(x,y)关于x也是凸函数。而f(xk),x是仿射项,因此f(xk),x+1nDg(x,xk)整个函数是凸函数,其最小值点xk+1应当满足梯度为0,因此f(xk)+1ηxDg(xk+1,xk)=0,其中根据定义xDg(x,xk)=g(x)g(xk),化简得到g(xk+1)=g(xk)ηf(xk)​。这就是我们做梯度下降的新方法。

如果选定gg(xk)是容易求出的,但得到了右边的结果g(xk+1)以后,怎么反过来求出xk+1呢?这意味着我们要能够求出梯度的逆映射(RnRn)。这要用一个称为Convex conjugate(凸共轭)的方法。我们对于凸函数f定义它的共轭函数f(v)=maxy{v,yf(y)},下面我们证明(f)1(v)=f(v)始终成立:注意到v,y关于v是仿射的,f是凸的,而对凸函数逐点求最大值依然是凸函数,因此f是凸函数。如果vf(x),那么由凸函数的一阶条件有f(y)f(x)+v,yx,整理得到v,yf(y)v,xf(x),也即f(v)=maxy{v,yf(y)}v,xf(x),而当且仅当y=x时取到等号,因此有f(x)+f(v)=v,x对任意x成立。而根据共轭函数的定义,对于任何的v都有f(v)v,xf(x),而当vf(x)时等号不成立。因此f(x)+f(v)=v,x这个等式成立当且仅当v=f(x)。现在我们发现f=f始终成立,任何一个函数共轭两次就会回到本身,因为f(x)=maxv{v,xf(v)}=maxv{v,x+minv{v,v+f(v)}}maxv{v,xx,v+f(x)}=f(x)f(x)=maxv{v,xf(v)}f(x),xf(f(x))=f(x),因此f(x)=f(x)。那么依然取v=f(x),那么f(x)+f(v)=v,x可以写作f(x)+f(v)=v,x,把这看作上式关于f的结论写作f(v)+f(x)=v,x,根据取等条件必须是梯度得到x=f(v),也即(f1)(v)=f(v)

我们把以上这个方法称为镜像下降法(Mirror Descent)。“镜像”其实是从高观点来看上面的算法:我们发现,梯度下降并不是一个仿射不变的算法,这本质上是由于xk+1=xkηf(xk)本身就不是一个“合理”的表达式——梯度并不完全是一个“向量”,因为梯度是微分,而微分是线性映射。只不过在有限维欧氏空间中我们可以用矩阵来表示线性映射,但这种表示是非常依赖于坐标选取的。一个线性空间Rn中所有的线性映射(泛函)RnR构成了对偶空间,梯度本质上是对偶空间中的向量。通过上面“镜像下降”的方法,我们实际上把xk+1=xkηf(xk)换作了g(xk+1)=g(xk)ηf(xk),这样的递推式就显得合理了,因为一切都是在对偶空间这一“镜像”中完成了。我们要做的就是通过g这一从原空间到对偶空间的映射把xk投影到镜像,在对偶空间中做一步下降,然后再用逆映射还原到原空间。

如何选取凸函数g呢?我们希望Dg是容易求最小值的,并且能比较好地反应f的几何性质。如果g是严格凸的,那么根据凸函数的一阶条件Dg(x,y)>0当且仅当xy,同时Dg(x,x)=0。可见Bregman divergence很像是在描述一种“距离平方”。而恰恰,我们现在正是要用它来代替原来的12ηxxk2这一项。我们有Bregman divergence意义下的余弦定理Dg(x,y)+Dg(x,z)=Dg(x,z)+g(z)g(y),xy。利用距离平方和可以描述钝角,在Bregman divergence意义下就是Dg(y,x0)Dg(y,x)+Dg(x,x0)。这个结论附加上一个凸函数也依然是正确的,因此L(y)+Dg(y,x0)L(x)+Dg(y,x)+Dg(x,x0)。结合f(y)>f(xk)+f(xk),yxk得到f(y)f(xk)1η(Dg(y,xk+1)Dg(xk,xk+1)Dg(y,xk))。分析可得,如果fDg意义下L-Lipschitz的, 那么如果迭代T轮则可以取η=2LRT,那么有f(xk)f(x)+LRT;如果fL-smooth且gσ-强凸的(两者的范数必须是同一个,但形式可以自选,这是Mirror Descent优势),那么假设Dg有上界R,那么取η=σL运行T轮有f(xk)f(x)+LRσT

posted @   行而上  阅读(282)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· 【杂谈】分布式事务——高大上的无用知识?
历史上的今天:
2023-01-03 C++中的模板
点击右上角即可分享
微信分享提示