大規模凸計画問題に対する勾配法
京都大学大学院情報学研究科
山下信雄
2011年 情報論的学習理論ワークショップ(IBIS) 講演資料
平成28年度 数理工学専攻説明会
第1回: 平成28年5月7日(土)
第2回: 平成28年5月30日(月)
場所,プログラムの詳細は以下の専攻HPをご覧ください.
http://www.amp.i.kyoto-u.ac.jp
研究室見学できます.在学生から,入試勉強のしかた,
過去問の勉強方法などを聞くチャンスです.
京都大学大学院 情報学研究科 数理工学専攻
修士課程,博士課程の学生募集
最適化の研究者の立場(?)
応用のことはよくわからない.
⇒
• より広いクラスの問題に適用できる
アルゴリズムの枠組みの開発
(Bregman距離の導入)
• より緩い条件での収束性の証明
(局所的エラーバウンド性の元での解析)
アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
– Bregman距離,Bregman divergence
– 局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
• 近接勾配法とその収束性
• 近接勾配法の実装
• 近接勾配法の高速化
4. 工夫
• Bregman距離による工夫
• 局所的エラーバウンドによる工夫
5. まとめ
考える問題:
構造を持った凸計画問題
(structured convex optimization, composite convex optimization)
min ( ) ( ) ( )
s.t. n
f x x xh P
x R
 

•目的関数は
* h は微分可能の凸関数
* P は特殊な形(構造)の凸関数
例: lasso , group lasso
標示関数
( ) ( ) ( )f x x xPh 
1
| |
n
i
ix

 2J
J
Jw x
f
(
f
)
i
0 i x S
P x
x S

 

 

問題例1
1
min ( ) | |
n
i
i
g Ax x

 
( ) (
|
)
( ) |i
h x g Ax
P xx 

 
* g は強凸関数
L1正則化問題
問題例2
単体制約をもつ凸計画問題
ただし, は単体制約:
*単体制約は単体の直積に一般化できる.
応用 ・条件付最大エントロピーモデル
[Collins, Globerson, Carreras, Bartlett, 2007]
・CTの画像復元
[Ben-Tal, Margalit, Nemirovski, 2001]
1
1
min ln
2
s.t.
n
i i
i
x x x Kx
x




1
1 0,
n
i
n
izz R z


 
 
 
 
1
ln
2
if
otherw
( )
0
( )
ize
i ih x x Kx
P x
x x
x
 



 


問題例
ハードマージンSVM
ただし,
1
1
1
min
2
s. 0,t. 0
n
T
i
i
n
i i
i
x
y x
Kx x
x







{ 1,1}iy  
( )
0 0
( )
1
2
if 0,
otherwize
i
i i
x
x
h x Kx x
x
P x
y






 




アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
– Bregman距離,Bregman divergence
– 局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
• 近接勾配法とその収束性
• 近接勾配法の実装
• 近接勾配法の高速化
4. 工夫
• Bregman距離による工夫
• 局所的エラーバウンドによる工夫
5. まとめ
Bregman距離
(Bregman divergence)
を微分可能な(狭義)凸関数とする.
Bregman関数
性質1:
性質2:
例1: のとき
例2: のとき

( ) ( ), () ,( )x y xB y yx y      
21
( )
2
x x 
2
( , )
1
2
x y yB x  
1
( ) ln
n
i i
i
x x x

 
1
) n( l,
n
i i
ii
i
i
x
x
y
B x y x y

 
 
 
 
   
 

( , ) 0xB y 
( , ) 0xB x  距離のようなもの
(局所的)エラーバウンド
ある問題の解集合を とする.
次の条件を満たす定数 が存在するとき
関数 を局所的エラーバウンドという.
(i)
(ii)
応用: ・ 収束率の解析(強凸性などのかわり)
・ 安定性の解析
・ 有効制約の同定
*
X
 *
dist , ( )Xx x such that ( )x x  

, 
* * *
( ) 0x Xx   
線形システム:
[Hoffman, 1952]
L1正則化問題:
[Tseng, 2010]
ただし は, から近接勾配法による反復点
局所的エラーバウンドの例
,x dA b Cx 
   *
dist , max ,( ) 0ix X Ax b d Cx
 
    
 

 *
dist , xx X x 
 
xx
1
min ( ) | |
n
i
i
g Ax x

 
アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
– Bregman距離,Bregman divergence
– 局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
• 近接勾配法とその収束性
• 近接勾配法の実装
• 近接勾配法の高速化
4. 工夫
• Bregman距離による工夫
• 局所的エラーバウンドによる工夫
5. まとめ
• 実装が簡単
• f が微分不可能なとき, とする必要があるため,
収束が著しく遅くなる.
近接勾配法=近接点法+勾配法
1 1
argmi ) ( ,n )(k k
kt
x f x xB x


 
 
 
近接点法
• 解が唯一でなくても ある局所的エラーバウンド性のもとで超一次収束
[Luque, 1984]
• 部分問題は非線形計画
 1 1
argmi ( ,n ) ,k k k
k
kk
xx f xx xBx
t
  
 

 

( )k k
f x 
0kt 
劣勾配法(Mirror Descent法)
[Rockarfellar 1976]
[Censor, Zenios 1992], etc
[Nemirovsky, Yudin, 1983]
近接勾配法
 1
( ) ( ),
1
a gmin ,)r (kk k
k
k k
h x h x x x
t
P xxx x B
 
 

 

 

( ) ( ) ( )f x x xPh 特別な構造:
*hは微分可能
*Pは微分不可能でもよいが特殊な構造
hに対して勾配法,Pに対して近接点法を適用
Pの構造を利用
近接勾配法の収束性(1)
定理1 最適解 が存在するとする.
が成り立つとき
が係数Lのリプシッツ連続で が係数 の強凸関数であれば,
とすれば仮定は成り立つ.
1 1
,( ( )) ,h
k k k k
ktx B x xB x
 

0 *
*
1
0
( , )
)( k
k
k
i
B x
fx
t
x
f 


 

h  
kt
L


反復回数は
1
O
k
 
 
 
*
x
注: がリプシッツ連続でなくても成り立つことがある.h
近接勾配法の収束性(2)
定理2 定理1の仮定が成り立つとする.
次の局所的エラーバウンド性が成り立つとする.
このとき, は 0 に一次収束する.
局所的エラーバウンド性は成り立つ十分条件:
• h が強凸関数
• L1正則化問題
 *
(( ) )k
f f xx 
* *
* 1
min )( , , )(k k
x X
k
B B xx xx  


近接勾配法の実装
• 近接勾配法は よい収束性を持っている.
• 部分問題:
をいかに効率よく解くかが重要となる.
Key *Bregman距離の選択
*Pの構造を利用した計算法の開発
( (
1
min ) ( ), ( , )
t
)
s. .
k k k k
k
n
h x xh x x x x x
x R
P
t
B  

 
実装例1:
L1正則化問題
Bregman距離に を用いると
1
1
min ( ), )
s.
( ,
t.
n
k k
i
i k
n
h x x x B x
x
x
t
R


  


2
( , )
1
2
x y yB x  
1
( ) (max{ } sgn( )
(( ( )) ),
)
, ,
,0
1k
k k k
i t k i
T y y y
x tT x h x i n




 
   
[部分問題]
Iterative Shrinkage Threshold Algorithm (ISTA)
実装例2
単体制約つき凸計画問題
としたBregman距離を用いると
1
1
min ( ), )
s.t. 1
( ,
, 0
k k
k
n
i
i
x xh x x B
t
x x


 
 
1
( ) ln
n
i i
i
x x x

 
1
1 exp( ( ) )
, 1, ,
exp( ( ) )
k k
k i k i
i
k k
k
n
j j
j
x
x
x
t h x
i n
t h x

  
 
 


[部分問題]
Exponentiated Gradient Algorithm (EG)
実装例3
ハードマージンSVM
としたBregman距離を用いると
部分問題のKKT条件は
1
min ( ), )
s
( ,
0 0,.t.
k k
k
i
P i
i
i N
x x
x
h x x B
t
xx

 
 
 
1
( ) ln
n
i i
i
x x x

 
*hは凸2次関数
*Pはクラス+1の集合
*Nはクラス-1の集合
1
1
1 1
( ) ln 0
( ) ln 0
0
k
k i
k k
i
k
k i
k k
i
k k
i j
i P j N
x
t h x i P
x
x
t h x i N
x
x x




 
 
    
    
  
[部分問題]
実装例3
ハードマージンSVM
1
1
exp( ( ) ))
ln
exp( ( ) ))
exp( ( ) ))exp( )
exp( ( ) ))exp( )
k k
i k i
i P
k k
j k
j N
k k k
i i k i
k k
i
j
k
i k i
x t h x
x t h x
x x t h x i P
x x t h x i N







  
 
  
  
 
    
   


O(n) で計算可能
近接勾配法の大域的な反復回数は
それまでの反復の情報を利用すると
に高速化できる.
近接勾配法の高速化
*
) ( )
1
( k
f x O
k
f x

 

 
 
2
*
) (
1
( )k
x f xf O
k
 
 
 
 
高速化手法1
[Nesterov, 1983], [Beck, Teboulle, 2009]
を更新} } { },{ { ,k
k
k
yx 
 
1
4 2 2
1
1
1
1
1
1 2
1
1
1
argmin ( )),
2
(
4
2
k k k
k
k
k
k k k
k
k
k
k k
y xx x
h x x
t
y yx P x


  








   
 
 

 
 
 
 
   
 
ISTA 高速化 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]
1
1 1
1 1
4 2 2
1
( ) (
(1 )
argmin ,
(1
( ), )
)
4
2
k k
k k
k k kk
k
k k k
k k
k k k
k
k
y
z
x
h y x
t
x
P x x
z
z
z
x
B
 

 
  


 
 

 
   
 
 
  


 

{ } { },, { },{ }kk k k
zx y  を更新
高速化手法3
[Nesterov 2005], [Tseng, 2008]
1
1
1
1 1
1 1
4 2 2
1
( ), ( ) 1
(1 )
argmin
4
(
2
(1
)
)
k k k
k k
k
k k k
k
ik
i i
k
k
k
k k
k
h y x P x
x
x
z
x
z
x
t
y
z
 
 
 







 



 
  



 
 



  
 


{ } { }, } }, { ,{k k k k
zx y  を更新
アルゴリズムの関係
近接勾配法
近接点法 射影勾配法
Mirror Descent 法
EG法
高速化法
ISTA
FISTA
1
( ) ( ,
1
argmin ( ), )k k k
k
x P xh x xx x B
t


 
 
  
 
( ) 0h x 
高速化EG法
X. Zhang, A. Saha, S. V. N. Vishwanathan,
“Accelerated Training of Max-Margin Markov Networks
with Kernels”, Algorithmic Learning Theory (ALT), 2011
Pが標示関数
アウトライン
1. 考える問題(Structured Convex Optimization)
2. 準備
– Bregman距離,Bregman divergence
– 局所的エラーバウンド
3. 近接勾配法(Proximal Gradient method)
• 近接勾配法とその収束性
• 近接勾配法の実装
• 近接勾配法の高速化
4. 工夫
• Bregman距離による工夫
• 局所的エラーバウンドによる工夫
5. まとめ
問題に特化した工夫
実用的な工夫
– 前処理 (スケーリング)
– ステップ幅の調整 (非単調直線探索)
– 分割法との融合
( ) ( ) ( )f x x xPh 
これまでに紹介した手法,ISTA,FISTAやEG法は
Pの構造を利用
関数 h の性質や最適解の構造(スパース性など)
の利用を考える
工夫1
関数h に適したBregman距離の選択
もし としたら,
とした部分問題の目的関数は
h 
) ( ), (( ( ,) )k k k k
hx x x x Bxh x xPh    
( , ) ( ) ( ) ( ),k k k k
h h h hx x x x x x xB     
1kt 
部分問題は元の問題と同じになる!!
( ) ( )h x xP 
Bregman距離は
Bregman距離の選択例
なるべく となるように選ぶ
例1: 単体制約をもつ凸計画問題
例2: 成分(ブロック)ごとのスケーリング
( ) ( )x h x 
1
1
min ln
2
s.t.
n
i i
i
x x x Kx
x




1
( ) ln
n
i i
i
x x x

 
1
2
( ) Kh x x x
2
1
1
( )
2
ii
n
i
i
xx K

 
1
( )
2
Dx x x  Dはブロック対角
工夫2: 分割法
一部の成分を に固定した部分問題を解く解法
ここで
• は固定する成分の添え字の集合
例: ガウス-ザイデル法
Coordinate gradient descent 法
SVMのSequential Minimal Optimization 法
1
,
(
1
argmin , ( ),( ) )
k k
j j
k k
x
k
x j J k
h x x xg
t
x x xB
 


 
 
  

 

k
J
k
x
解の性質を利用した の選択
例:
もし,
が分かれば,線形方程式になる.( は最適解のひとつ.)
となるように を構成できれば,
     * *
0
*
, 0,0 0P i N i iJ i x i x i xJ J   
1
1
min | |
2
n
i
i
x Kx x

 
0
k
J J
,
1
0
1
argmin ( ), ( ( ,) )
k
j
k k k
kx j J
h x x g xx xB
t
x
  


 
  

 

k
J
k
J
としても解が求まる.(解がスパースなときに有効)
[L1-L2最適化]
*
x
局所的エラーバウンド
を用いた同定
解 が唯一のとき,十分大きいkに対して
∵
に対して
     0( ) ( ) | ( ), , |k k k k k k k k k
P i iN iJ Ji x x xJi x x i x       
(( ) ( ))k
k k k k
t kx xx T t h x    
0 0, ,k k k
P P N NJ J JJ J J  
*
0 0( ) 0,, , , kk k
P
k
PP
k
Px Jx x JJJ JJ   
0i J
* *
| | | | ( ) ( )k k k k k
i i ix x x x xx x       
*
x
まとめ
• 特殊な構造をもつ凸計画問題に対する
近接勾配法を紹介した.
• 高速化への工夫として
– 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/
ご清聴,ありがとうございました

大規模凸最適化問題に対する勾配法