Reference Chapter4. of Non-convex Optimization for Machine Learning https://arxiv.org/abs/1712.07897 "Alternating Minimization".

前ページ、一般的な交互最小化の収束性についての続きです。

補題1 Bistable Pointの必要十分条件

関数f:Rp×RqRが連続微分可能で、それぞれの変数について周辺凸関数であるとき、点(x,y)がbistableであることとf(x,y)=0であることは同値。

Proof : bistableならf(x,y)=0は明らか。不安なら前ページのProp. 1、 Prop. 2なんかの分解を参照せよ。逆は、まずxについての周辺凸性の定義より

f(x,y)f(x,y)xf(x,y),xx=0

で右辺は仮定がf(x,y)=0なのでゼロ。従ってf(x,y)f(x,y)が任意のy,xについて成立するのでxはmOPTf(y)の点、同じようにyyについての周辺凸性よりmOPTf(x)の点であることが言える。よってbistableで逆も成立。

定義6 (Robust Bistability Property)

関数f:Rp×RqRC-robust bistabeであるとは、あるC>0があって任意の(x,y)Rp×Rqについて

f(x,y)+f(x,y)2fC(2f(x,y)f(x,y~)f(x~,y))

を満たすこと。ただし、x,yf(x,y)=fを満たす点、x~,y~x~mOPTf(y)y~mOPTf(x)である。

補題2 (Robust Bistability Property under alpha-MSC、β-MSS)

連続微分可能な関数falpha-MSC、β-MSSであり、C-robust bistableであるとき任意の(x,y)Rp×Rqについて

xx22+yy22Cβα(xx~22+yy~22)

を満たす。ただし、x,yf(x,y)=fを満たす点、x~,y~x~mOPTf(y)y~mOPTf(x)である。

Proof : α-MSC性より

α2xx22f(x,y)f(x,y)+0α2yy22f(x,y)f(x,y)+0

ちなみにゼロ、のところはxf(x,y)=yf(x,y)=0による。2式を足し合わせることによる

α2(xx22+yy22)f(x,y)+f(x,y)2f(x,y)

まったく同じようにして、β-MSS性より

f(x,y)f(x~,y)+0β2xx~22f(x,y)f(x,y~)+0β2yy~22

なので

2f(x,y)f(x~,y)+f(x,y~)+β2(xx~22+yy~22)

がわかる。ちなみにこっちのゼロはxf(x~,y)=yf(x,y~)=0によります。これらをC-robust stabilityの定義式にそのまま入れると主張の式が得られる。

定理:補題2の条件を満たす(凸とは限らない)関数に対する交互最小化は収束する

凸関数とは限らない連続微分可能な関数f:Rp×Rqが、領域S0={(x,y):f(x,y)f(0,0)}においてそれぞれの変数についてα-MSC、β-MSSかつC-robust stabilityを満たすとする。このとき、(x1,y1)=(0,0)からスタートした交互最小化は多くともT=O(logϵ1)ステップでf(xT,yT)f+ϵとすることができる。

証明) 今度はΦt=f(xt,yt)fとおく。このΦt0を示すことが出来ればok。β-MSS性においてxf(x,y)=0を使うことにより

f(xt+1,y)f(x,y)β2xt+1x22

を得る。ちなみに勾配がゼロはx,yがbistableであることから従う。さらに、交互最小化の手順よりyt+1mOPTf(xt+1)であることが保証されているので

Φt+1=f(xt+1,yt+1)ff(xt+1,y)fβ2xt+1x22

一見するとyの関数値が一番小さいような気がしますがxt+1との組み合わせではyt+1の関数値の方が小さいということです。次にα-MSC性において同様にxf(xt+1,yt)=0を用いることにより次を得る。ちなみにこちらの勾配がゼロというのはxt+1mOPTf(yt)であることから従う。

f(xt,yt)f(xt+1,yt)+α2xt+1xt22f(xt+1,yt+1)+α2xt+1xt22

1行目がα-MSC性、2行目は同様にyt+1mOPTf(xt+1)であることから従う。両辺からfを引いてΦtつかって表すと

ΦtΦt+1α2xt+1xt22

がわかる。次に補題2の式を使う。まず

xtx22xtx22+yty22

が右辺第2項が正であることから従い、この右辺は補題2の左辺であるのでさらに上からおさえられる。よって、

xtx22Cβα(xtx~22+yty~22)

さらに、交互最小化の手順よりytmOPTf(xt)だから右辺第2項は消える。さらに、xt+1mOPTf(yt)からx~xt+1に書き換えられる。まとめると

xtx22Cβαxtxt+122

がわかる。最後に(a+b)22(a2+b2)β-MSSの式から

Φt+1β2xt+1x22β(xt+1xt22+xtx22)β(1+Cβα)xt+1xt222βα(1+Cβα)(ΦtΦt+1)

2行目にかけて、直前のxtx22の不等式を用いている。さらに、その次の不等式でxt+1xt22ΦtΦt+1の不等式をつかっている。これをΦt+1について整理すると

Φt+1μ0Φt

という形にできる。ここで

μ0=2κ(1+Cκ)1+2κ(1+Cκ),κ=βα

とおいた。

ΦTΦ1μ0μ0Tf(xT,yT)f+Φ1μ0μ0T

であるので、μ0<1からTにおいて右辺はゼロに行く。従ってf(xT,yT)f0。ついでにオーダについては、ϵμ0Tみたいな感じからT=O(log1/ϵ)ぽいことがわかる。一応μ0<1でlogの符号変わることに注意。