資料 - 数理情報学研究室

Download Report

Transcript 資料 - 数理情報学研究室

大規模凸計画問題に対する勾配法
京都大学大学院情報学研究科
山下信雄
最適化の研究者の立場(?)
応用のことはよくわからない.
⇒
• より広いクラスの問題に適用できる
アルゴリズムの枠組みの開発
(Bregman距離の導入)
• より緩い条件での収束性の証明
(局所的エラーバウンド性の元での解析)
アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
–
–
Bregman距離,Bregman divergence
局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
•
•
•
近接勾配法とその収束性
近接勾配法の実装
近接勾配法の高速化
4. 工夫
•
•
Bregman距離による工夫
局所的エラーバウンドによる工夫
5. まとめ
考える問題:
構造を持った凸計画問題
(structured convex optimization, composite convex optimization)
min f ( x)  h( x)  P( x)
s.t. x  Rn
•目的関数は f ( x)  h( x)  P( x)
* h は微分可能の凸関数
* P は特殊な形(構造)の凸関数
n
例: lasso
| x | ,
i 1
標示関数
i
group lasso
w
J
J
xJ
2
0 if x  S
P( x)  
S
 if x 
問題例1
L1正則化問題
n
min g ( Ax)   | xi |
i 1
* g は強凸関数
h( x)  g ( Ax)
P( x)   | xi |
問題例2
単体制約をもつ凸計画問題
1
h( x)   xi ln xi  x• Kx
2
 0 if x 
P( x)  
 otherwize
n
1 •
min  xi ln xi  x Kx
2
i 1
s.t. x 

ただし,  は単体制約:    z  Rn


z

1
,
z

0


i
i 1

n
*単体制約は単体の直積に一般化できる.
応用 ・条件付最大エントロピーモデル
[Collins, Globerson, Carreras, Bartlett, 2007]
・CTの画像復元
[Ben-Tal, Margalit, Nemirovski, 2001]
問題例
ハードマージンSVM
n
1 T
min x Kx   xi
2
i 1
n
s.t.
 y x  0, x  0
i 1
i i
ただし, yi {1,1}
1
h( x)  x• Kx   xi
2

 0 if x  0,  yi xi  0
P( x)  
 otherwize

アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
–
–
Bregman距離,Bregman divergence
局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
•
•
•
近接勾配法とその収束性
近接勾配法の実装
近接勾配法の高速化
4. 工夫
•
•
Bregman距離による工夫
局所的エラーバウンドによる工夫
5. まとめ
Bregman距離
(Bregman divergence)

を微分可能な(狭義)凸関数とする.
Bregman関数
B ( x, y)  ( x)  ( y)   ( y), x  y
性質1: B ( x, y)  0
性質2: B ( x, x)  0
距離のようなもの
1
2
x y
2
2
n 
n

 xi 
xi ln xi のとき B ( x, y)    xi ln    yi  xi 
例2:  ( x)  


i 1
i 1 
 yi 

例1:  ( x)  1
x
2
のとき B ( x, y) 
(局所的)エラーバウンド
ある問題の解集合を
X とする.
*
次の条件を満たす定数  ,  が存在するとき
関数  を局所的エラーバウンドという.
(i) dist x, X *   ( x) x such that  (x)  

(ii)

 ( x )  0 x  X
*
*
*
応用: ・ 収束率の解析(強凸性などのかわり)
・ 安定性の解析
・ 有効制約の同定
局所的エラーバウンドの例
線形システム:
Ax  b, Cx  d
[Hoffman, 1952]

dist x, X
*



   Ax  b   max (d  Cx)i , 0


n
L1正則化問題: min g ( Ax)   | xi |
[Tseng, 2010]
ただし
x

i 1


dist x, X *   x  x
は,
x から近接勾配法による反復点
アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
–
–
Bregman距離,Bregman divergence
局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
•
•
•
近接勾配法とその収束性
近接勾配法の実装
近接勾配法の高速化
4. 工夫
•
•
Bregman距離による工夫
局所的エラーバウンドによる工夫
5. まとめ
近接勾配法=近接点法+勾配法
近接点法
x
[Rockarfellar 1976]
[Censor, Zenios 1992], etc
k 1

1
k 
 argmin  f ( x)  B ( x, x )
tk


• 解が唯一でなくても ある局所的エラーバウンド性のもとで超一次収束
[Luque, 1984]
• 部分問題は非線形計画
劣勾配法(Mirror Descent法)
[Nemirovsky, Yudin, 1983]
x
k 1
• 実装が簡単
• f が微分不可能なとき,
収束が著しく遅くなる.
 k f ( xk )
 k
1
k
k
k 
 argmin  f ( x )   , x  x  B x, x 
tk



tk  0 とする必要があるため,

近接勾配法
特別な構造:
f ( x)  h( x)  P( x)
*hは微分可能
*Pは微分不可能でもよいが特殊な構造
Pの構造を利用
hに対して勾配法,Pに対して近接点法を適用
x
k 1
 k
1
k
k
k 
 argmin h( x )  h( x ), x  x  P( x)  B x, x 
tk




近接勾配法の収束性(1)
*
x
定理1 最適解 が存在するとする.
B ( xk 1, xk )  tk Bh ( xk 1, xk ) が成り立つとき
f ( xk )  f * 
B ( x0 , x* )
k 1
t
i 0
h が係数Lのリプシッツ連続で
tk 
注:

L
k
 が係数  の強凸関数であれば,
とすれば仮定は成り立つ.
1
O
反復回数は  
k
h がリプシッツ連続でなくても成り立つことがある.
近接勾配法の収束性(2)
定理2 定理1の仮定が成り立つとする.
次の局所的エラーバウンド性が成り立つとする.
min
B ( x , x )   B ( x , x )
*
*
k
*
k
k 1
x X
k
*
このとき,  f ( x )  f ( x ) は 0 に一次収束する.
局所的エラーバウンド性は成り立つ十分条件:
• h が強凸関数
• L1正則化問題
近接勾配法の実装
• 近接勾配法は よい収束性を持っている.
• 部分問題:
1
min h( x )  h( x ), x  x  P( x)  B ( x, xk )
tk
k
s.t.
k
k
x  Rn
をいかに効率よく解くかが重要となる.
Key *Bregman距離の選択
*Pの構造を利用した計算法の開発
実装例1:
L1正則化問題
n
[部分問題]
min
1
h( x ), x    xi  B ( x, xk )
tk
i 1
s.t.
x  Rn
Bregman距離に
k
B ( x, y) 
1
2
x  y を用いると
2
T ( y)  (max{y,0}   )sgn( y)
k 1
i
x
 T tk (( x  tk h( x ))i ), i  1,, n
k
k
Iterative Shrinkage Threshold Algorithm (ISTA)
実装例2
単体制約つき凸計画問題
1
min h( x ), x  B ( x, xk )
tk
k
[部分問題]
n
s.t.
 x  1, x  0
i 1
i
n
 ( x)   xi ln xi としたBregman距離を用いると
i 1
xik 1 
xik exp(tk h( xk )i )
n
k
k
x
exp(

t

h
(
x
)j)
j
k
, i  1,, n
j 1
Exponentiated Gradient Algorithm (EG)
実装例3
ハードマージンSVM
[部分問題]
1
min h( x ), x  B ( x, xk )
tk
k
s.t.
 x   x  0, x  0
i
iP
iN
i
n
*hは凸2次関数
*Pはクラス+1の集合
*Nはクラス-1の集合
 ( x)   xi ln xi としたBregman距離を用いると
i 1
部分問題のKKT条件は
k 1
x
tk h( xk )    ln i k  0 i  P
xi
xik 1
tk h( x )    ln k  0 i  N
xi
k
x
iP
k 1
i
  xkj 1  0
jN
実装例3
ハードマージンSVM


  ln 


x
x
iP
jN
exp(tk h( x )i )) 


k
k
exp(

t

h
(
x
)
))
j
k
j


k
i
k
xik 1  xik exp(tk h( xk )i ))exp( ) i  P
xik 1  xik exp(tk h( xk )i ))exp( ) i  N
O(n) で計算可能
近接勾配法の高速化
近接勾配法の大域的な反復回数は
1
f ( xk )  f ( x* )  O  
k
それまでの反復の情報を利用すると
1
f ( xk )  f ( x* )  O  2 
k 
に高速化できる.
高速化手法1
[Nesterov, 1983], [Beck, Teboulle, 2009]
{x }, {y }, {k }
k
k
を更新
 1
 k k 1
y  x  k 
1 x  x
 k 1 

1
k 1
k 1
k 1 2 
x  argmin  h( y ), x  P( x) 
x y

2
t
k


k 1
k 1 
ISTA

k

k4  4k2 k2
2
高速化
Fast ISTA (FISTA)
Beck and Teboulle,
A fast iterative shrinkage-thresholding algorithm for linear inverse problems
SIAM Journal on Imaging Sciences, 2009.
高速化手法2
[Nesterov, 1988], [Auslender, Teboulle, 2006]
{xk }, {yk }, {z k },{ k } を更新
yk 1  (1  k ) xk  k z k

k
k 1
k 
z  argmin  h( y ), x  P( x)  B ( x, z )
tk


xk 1  (1  k ) xk  k z k 1
k 1
k 1 
k4  4k2 k2
2
高速化手法3
[Nesterov 2005], [Tseng, 2008]
{xk }, {yk }, {z k },{ k } を更新
y k 1  (1  k ) xk  k z k
 k 1 h( yi ), x  P( x) 1

k 1
z  argmin 
  ( x)
i 1
tk
 i 1

xk 1  (1  k ) xk  k z k 1
k 1 
k4  4k2  k2
2
アルゴリズムの関係
近接勾配法
x
k 1

1
k
k 
 argmin  h( x ), x  P( x)  B ( x, x )
tk


h( x)  0
近接点法
ISTA
Pが標示関数
射影勾配法
Mirror Descent 法
EG法
高速化法
FISTA
高速化EG法
X. Zhang, A. Saha, S. V. N. Vishwanathan,
“Accelerated Training of Max-Margin Markov Networks
with Kernels”, Algorithmic Learning Theory (ALT), 2011
アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
–
–
Bregman距離,Bregman divergence
局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
•
•
•
近接勾配法とその収束性
近接勾配法の実装
近接勾配法の高速化
4. 工夫
•
•
Bregman距離による工夫
局所的エラーバウンドによる工夫
5. まとめ
問題に特化した工夫
f ( x)  h( x)  P( x)
これまでに紹介した手法,ISTA,FISTAやEG法は
Pの構造を利用
関数 h の性質や最適解の構造(スパース性など)
の利用を考える
実用的な工夫
– 前処理 (スケーリング)
– ステップ幅の調整 (非単調直線探索)
– 分割法との融合
工夫1
関数h に適したBregman距離の選択
もし   h としたら, Bregman距離は
Bh ( x, x )  h( x)  h( x )  h( x ), x  x
k
k
k
k
tk  1 とした部分問題の目的関数は
h( xk )  h( xk ), x  xk  P( x)  Bh ( x, xk )
 h( x)  P( x)
部分問題は元の問題と同じになる!!
Bregman距離の選択例
なるべく  ( x)  h( x) となるように選ぶ
例1: 単体制約をもつ凸計画問題
n
1 •
x
ln
x

x Kx

i
i
2
i 1
s.t. x 
n
 ( x)   xi ln xi
min
i 1
例2: 成分(ブロック)ごとのスケーリング
n
1
2
1 •

(
x
)

K
x

ii i
h( x)  x Kx
2 i 1
2
1
2
 ( x)  x• Dx
Dはブロック対角
工夫2: 分割法
一部の成分を
x
k 1
xk
に固定した部分問題を解く解法


1
k
k
 argmin h( x ), x  g ( x)  B ( x, x ) 
tk
x j  xkj , jJ k 

ここで
• J k は固定する成分の添え字の集合
例: ガウス-ザイデル法
Coordinate gradient descent 法
SVMのSequential Minimal Optimization 法
解の性質を利用した J の選択
k
例:
[L1-L2最適化]


n
1 •
min x Kx   | xi |
2
i 1




*
*
*
J

i
x

0
,
J

i
x

0
,
J

i
x
もし,
P
i
N
i
0
i 0
が分かれば,線形方程式になる.( x* は最適解のひとつ.)
J
k
k
J
となるように
を構成できれば,
 J0
x
k 1


1
k
k
 argmin h( x ), x  g ( x)  B ( x, x ) 
tk
x j 0, jJ k 

としても解が求まる.(解がスパースなときに有効)
 ( xk ) 

局所的エラーバウンド
xk  T t ( xk  tk h( xk )) を用いた同定
k


 
J Pk  i xik   ( xk ) , J Nk  i xik    ( xk ) , J0k  i | xik |  ( xk )
*
x
解 が唯一のとき,十分大きいkに対して
JP  J Pk , J N  J Nk , J0  J0k
∵
xk  x*, (xk )  0, JP  JPk , JP  JPk , J0  J0k
i  J0 に対して
| xik || xik  xi* | xk  x*   ( xk )   ( xk )

まとめ
• 特殊な構造をもつ凸計画問題に対する
近接勾配法を紹介した.
• 高速化への工夫として
–
–
Bregman距離の選択
局所的エラーバウンドの利用
非線形最適化の研究では一般化,抽象化されすぎ
問題に特化した工夫で高速化が可能(かも)
(最適化の分野の)
サーベイ文献+α
[近接勾配法]
Paul Tseng, Approximation accuracy, gradient methods, and error bound for
structured convex optimization, Mathematical Programming, Ser, B, 125, pp.
263-296, 2010.
[エラーバウンド性]
Jong-Shi Pang, Error bounds in mathematical programming, Mathematical
Programming , 79, pp. 299-332, 1997.
[最新論文]
http://www.optimization-online.org/
ご清聴,ありがとうございました