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

多変数関数における変数の分割

関数f:RdRを目的関数とする最小化問題について考える。d=p+qなるp,qを用いて関数ff:Rp×RqRと見なすことが出来る。これは変数の内p個のサブセットを取ってきて変数を分割しただけ。残った変数q個をまた別な変数とおく。これを(x,y)Rp×Rqとして新たにf(x,y)とおく。よりたくさんの変数に分割する場合にも2分割を繰り返せばよいので一般性を失っていない。制約集合による条件(x,y)X×Yを考えてもよい。一般にはそれぞれの制約集合が独立にな条件で与えられているとは限らないので(x,y)ZRp×Rqという形になることに注意せよ。

本稿では基本的にベクトルの成分をいじくらないことから、混同のおそれが無く変数がベクトルであっても細字で記載するものとする。

定義1 (結合凸性 : Joint Convexity)

f:Rp×RqRを連続微分可能とする。このとき、 任意の(x1,y1),(x2,y2)Rp×Rqについて

f(x2,y2)f(x1,y1)+f(x1,y1),(x2,y2)(x1,y1)

を満たすとき、f結合凸であるという。

定義2 (周辺凸性 : Marginal Convexity)

f:Rp×RqRを連続微分可能とする。このとき、 任意のyRqについて、f(,y)というxについての関数が凸であるとき、すなわち

f(x2,y)f(x1,y)+xf(x1,y),x2x1

を任意のx1,x2Rpについて満たすとき、f(x,y)xについて周辺凸であるという。

Prop. 1 : 結合凸関数であれば任意の変数の部分集合について周辺凸関数である

Proof : 結合凸性の定義の右辺は

f(x1,y1)+xf(x1,y1),x2x1+yf(x1,y1),y2y1

と書き直せる。結合凸関数においては、任意のy1,y2についてこれが成り立っているからy=y1=y2と取れば第3項はゼロ、直ちに周辺凸性の定義が従う。

定義3 (周辺強凸関数、周辺強?関数 : Marginally Strongly Convex/Smooth Function)

f:Rp×RqRを連続微分可能とする。このとき、任意のyRqについて、f(,y)というxについての関数がα-Strongly Convex : SC、β-Strongly Smooth : SSであるとき、すなわち

α2x2x122f(x2,y)f(x1,y)xf(x1,y),x2x1β2x2x122

を任意のx1,x2Rpについて満たすとき、関数f(x,y)xについてそれぞれα-Marginally Strongly Convex : MSCβ-Marginally Strongly Smooth : MSSであるという。なお、それぞれの日本語はα-周辺強凸性、β-周辺強なんとか性。なんとかの部分は不明。

Prop. 2 : α-SC、β-SSであれば任意の変数の部分集合についてα-MSC、β-MSS

Proof : Prop. 1に同じである。念のため結合したものにあたる定義を書き下しておくと、

α2(x2,y2)(x1,y1)22f(x2,y2)f(x1,x1)f(x1,y1),(x2,y2)(x1,y1)β2(x2,y2)(x1,y1)22

となり

(x2,y2)(x1,y1)22=x2x122+y2y122f(x1,y1),(x2,y2)(x1,y1)=xf(x1,y1),x2x1+yf(x1,y1),y2y1

としてy=y1=y2と取ればこれらの右辺第2項はゼロ、直ちにα-MSC、β-MSSの定義が従う。

交互最小化:Alternating Minimization

関数f(x,y)を最小化する(x,y)を求めたいとして、次の手順を踏む。

  1. (x1,y1)を適当に初期化する
  2. xt+1:=argminxXf(x,yt)
  3. yt+1:=argminyYf(xt+1,y)
  4. t=1,2,,Tについてこれを繰り返す
  5. (xT,yT)を出力とする
定義4 (Marginally Optimum Coordinate)

関数fX×Y上の関数とする。x~Xが、固定されたあるyYについてxX,f(x~,y)f(x,y)を満たすような点であるときx~yについての周辺最適点といい、そのような点の集合をmOPTf(y)と表記する。同じようにyについてもxについての周辺最適点による集合をy~mOPTf(x)と表記する。

Remark : Coordinateとあるが、最適点や点の集合に対して「座標」は不適切であるので無視。

定義5 (Bistable Point)

関数fX×Y上の関数とする。点(x,y)X×YxmOPTf(y)かつymOPTf(x)を満たすとき、bistableな点であるという。

Remark: Bistableを日本語にすることを諦めた。

定理1:それぞれの変数について強くなめらかな結合凸関数に対する交互最小化は収束する

f:Rp×RqRを連続微分可能な結合凸関数とし、それぞれの変数についてのβ-MSS性を満たすとする。またf=minx,yf(x,y)>:最適値が下に有界、S0={x,y:f(x,y)f(0,0)}Rp+qは有界領域とする。このとき、(x1,y1)=(0,0)から上記の交互最小化の手続きを行うと、多くともT=O(ϵ1)ステップでf(xT,yT)f+ϵを満たすことができる。

証明) 交互最小化を行っていることからただちに、

f(xt+1,yt+1)f(xt+1,yt)f(xt,yt)

S0とこの単調減少性より任意のtについて(xt,yy)S0がわかる。有界領域としているS0上を動くため、(xt,yy)も有界であり発散しない。Φt=1/(f(xt,yt)f)とすると常にΦt>0、さらにΦtであれば最適値への収束が言える。

t2とする。周辺最小化を勾配降下によって行うときにある1ステップを次のように書く。

x~t+1=xt1βxf(xt,yt)x~t+1xt=1βxf(xt,yt)

周辺Strongly Smooth性から

f(x~t+1,yt)f(xt,yt)+xf(xt,yt),x~t+1xt+β2x~t+1xt22=f(xt,yt)xf(xt,yt),1βxf(xt,yt)+β21βxf(xt,yt)22=f(xt,yt)1βxf(xt,yt)22+β21β2xf(xt,yt)22=f(xt,yt)12βxf(xt,yt)22

x~t+1は、周辺最小化の結果xt+1を求めるときのある1ステップ後の結果であり、最終的な結果xt+1における関数値はその途中よりも必ず小さい。従ってf(xt+1,yt)f(x~t+1,yt)で、この右辺がさらに1つ上の式よりも小さい。

f(xt+1,yt+1)f(xt+1,yt)f(xt,yt)12βxf(xt,yt)22

さらに、いまt2としていて1つ前のステップでytargminyf(xt,y)と決めていたのでyf(xt,yt)=0が成り立っており、

f(xt,yt)22=xf(xt,yt)22+yf(xt,yt)22=xf(xt,yt)22

が成立。 関数fの結合凸性より

f(xt,yt)ff(xt,yt),(xt,yt)(x,y)

さらに、(xt,yt),(x,y)S0で、S0は有界であるのでその差のノルムも有界となる。よって、ある定数Rを用いて(xt,yt)(x,y)2Rとできる。Cauchy-Schwartzの不等式より

f(xt,yt),(xt,yt)(x,y)f(xt,yt)2(xt,yt)(x,y)2Rf(xt,yt)2

これらを一旦まとめて

f(xt,yt)fRf(xt,yt)2=Rxf(xt,yt)2

これを先の不等式に代入することにより

f(xt+1,yt+1)f(xt,yt)12βR2(f(xt,yt)f)2

Φt=1/(f(xt,yt)f)をつかってこれらを書き直すと

1Φt+11Φt12βR21Φt2

さらにΦt<Φt+1を右辺第2項の分母のΦt2=ΦtΦtの1個目だけに使って大小関係に注意すると

1Φt+11Φt12βR21ΦtΦt+1

がわかる。ここで再びΦt>0よりΦtΦt+1>0を両辺に掛けると

Φt+1Φt12βR2

最後に、

Φ3Φ212βR2Φ4Φ312βR2ΦTΦT112βR2

という感じにして両辺足し合わせることにより

ΦTΦ2T22βR2ΦTT22βR2

がいえる。Φ2>0に注意せよ。ΦTを戻して分母分子掛けると

f(xT,yT)f+2βR2T2

なのでざっくりT=O(ϵ1)ぽいことが言えた。オーダがどうこうはめんどくさいので説明しません。

次ページ、一般的な交互最小化の収束性について(2)につづく。