You are on page 1of 77

機械学習における連続最適化の新しいトレンド

.
冨岡 亮太 1
共同研究者: 鈴木 大慈 1 杉山 将 2

1 東京大学
2 東京工業大学

2011-01-20 @ NEC

冨岡 亮太 (東大) 1 / 66
イントロ

Outline

1 イントロ

2 準備

3 手法 1: Prox 作用素

4 手法 2: Legendre 変換

5 手法 3: Operator Splitting

6 まとめ

7 Appendix

冨岡 亮太 (東大) 2 / 66
イントロ

標準形はお好き?

例)線形計画 (LP)

主問題 双対問題

(P) min c ⊤ x, (D) max b ⊤ y, .


s.t. Ax = b, x ≥ 0. s.t. A⊤ y ≤ c.

.
2 次計画 (QP),2 次錐計画 (SOCP),半正定値計画 (SDP),etc...

良い点:既存の(ある程度)高性能なソルバーが利用できる.

.
悪い点:問題のモデル化に制限,問題の書き換えが必要.
. ..

冨岡 亮太 (東大) 3 / 66
イントロ

モデル化に制限が生じる例:ℓp -正則化

1 X n
minimize ∥y − X w ∥2 + λ |wj |p .
w 2
j=1

p = 2: 正則化最小二乗法 4
|x|0.01
⇒ 逆行列で一発. |x|0.5
3 |x|
1 < p < 2: ? x2

p = 1: Lasso ⇒ 2 次計画. 2

0
−3 −2 −1 0 1 2 3

冨岡 亮太 (東大) 4 / 66
イントロ

それでも標準形が好まれる理由(これを解決します)

1 微分不可能性: 微分不可能性 < 制約付き最適化


SVM (微分不可能) SVM (2 次計画)

X
m
1 X
m
1 .
min C ℓH (yi 〈x i , w 〉) + ∥w ∥2 min C ξi + ∥w ∥2 ,
w 2 w 2
i=1 i=1
s.t. yi 〈x i , w 〉 ≥ 1 − ξi
max(0,1−yz) (i = 1, . . . , m).

(制約の数=サンプル数)

.
2 実装がめんどくさい

冨岡 亮太 (東大) 5 / 66
イントロ

微分不可能性を持つ凸最適化問題の例

SVM (ロスが微分不可能)

X
m
1
max(0,1−yz)
minimize C ℓH (yi 〈x i , w 〉) + ∥w ∥2
w 2
i=1

Lasso(正則化項が微分不可能)

X
n
minimize L(w ) + λ |wj |
w
j=1

冨岡 亮太 (東大) 6 / 66
イントロ

マルチタスク学習 (Evgeniou et al 05)

minimize L(w + w ) + L(w + w ) +λ(∥w 1 ∥ + ∥w 2 ∥ + ∥w 12 ∥)


w 1 ,w 2 ,w 12 | 1 {z 12} | 2 {z 12}
タスク 1 のロス タスク 2 のロス

冨岡 亮太 (東大) 7 / 66
イントロ

マルチカーネル学習 (Bach et al 05; Suzuki & Tomioka 09)

M 個の情報源があり,それぞれについて入力サンプル xi と xj の内積
が km (xi , xj ) (m = 1, . . . , M) と計算できるとき,それらをいかに組
み合わせて予測するか?
最適化問題

X
N ³ P ´ X
M
minimize C ℓH yi M f (x
m=1 m i ) + λ ∥f m ∥
f 1 ,f 2 ,...,f M
i=1 m=1

それぞれの情報源について,表現定理より予測関数

X
N
(m)
fm (xi ) = km (xi , xj )αj .
j=1

正則化項だけでなくロスも微分不可能.

冨岡 亮太 (東大) 8 / 66
イントロ

行列穴埋め

部分的に観測された行列の未観測部分を低ランク性の仮定を使って
予測する問題. ⇒ 協調フィルタリング.

1 Xr
minimize ∥Ω(X − Y )∥2 + λ σj (X ) .
X 2
j=1
| {z }
4
特異値の線形和 |x|0.01
|x|0.5
3 |x|
x2

Ω は見えている部分だけを取り出す操作. 2

0
−3 −2 −1 0 1 2 3

冨岡 亮太 (東大) 9 / 66
イントロ

行列の空間上の判別問題

判別ラベル 予測関数

y ∈ {−1, +1} ⇐ f (X ) = 〈W , X 〉 + b

• Multivariate Time Series Time

ensors
Se s
• Second order statistics

Sensors
5

nsors
10

15

20
Sen
25

30

35

40

45

5 10 15 20 25 30 35 40 45

冨岡 亮太 (東大) 10 / 66
イントロ

テンソルの穴埋め
T u c k e r d e c o m p o s i t i o n

o r e

I 3

i n t e r a c t i o n s )

r 1

r 3

r 2

I 1

I 1

t u

2
a

F e

I 3 I
2

I 2

S e n

T i m e

s o r

F a c t o r s

( l

o a d i n g s )

冨岡 亮太 (東大) 11 / 66
イントロ

アジェンダ

(割と)簡単に微分不可能な最適化問題を解くテクニック

Prox 作用素 (proximity operator)


凸関数の共役 (Legendre 変換)
Operator splitting

冨岡 亮太 (東大) 12 / 66
準備

Outline

1 イントロ

2 準備

3 手法 1: Prox 作用素

4 手法 2: Legendre 変換

5 手法 3: Operator Splitting

6 まとめ

7 Appendix

冨岡 亮太 (東大) 13 / 66
準備

凸集合
Rn の部分集合 V は凸集合
⇔ V の任意の 2 点 x, y を結ぶ線分が V に入っている.つまり

∀x, y ∈ V , ∀λ ∈ [0, 1], λx + (1 − λ)y ∈ V .

冨岡 亮太 (東大) 14 / 66
準備

凸関数
関数 f : Rn → R ∪ {+∞} が(拡張値)凸関数
⇔ 関数 f の“ 弦 ”がつねに関数自身より上にある.つまり

∀x, y ∈ Rn , ∀λ ∈ [0, 1], f ((1 − λ)x + λy) ≤ (1 − λ)f (x) + λf (y)

# < が成り立つ場合を strictly convex と言う.

1−λ f(y)
λ
f(x)

x y

冨岡 亮太 (東大) 15 / 66
準備

拡張値凸関数 - なぜ +∞ を許すか

f (x) = +∞ を許すと定義域(or 制約)を含めて扱える.


例)1/x は x > 0 で凸,
(
1/x (x > 0),
f (x) =
+∞ (otherwise).

と定義すればよい.

定義(定義関数)
凸集合 C の定義関数 δC を以下のように定義する.
(
0 (x ∈ C),
δC (x) =
+∞ (otherwise).

このように定義した δC は凸関数.
冨岡 亮太 (東大) 16 / 66
準備

凸最適化問題

拡張値凸関数 f として

minimize
n
f (x).
x∈R

制約付き問題

minimize
n
f (x) + δC (x).
x∈R

正則化付き最小化問題

minimize L(x) + φλ (x) .


x∈Rn | {z }
=:f (x)

冨岡 亮太 (東大) 17 / 66
手法 1: Prox 作用素

Outline

1 イントロ

2 準備

3 手法 1: Prox 作用素

4 手法 2: Legendre 変換

5 手法 3: Operator Splitting

6 まとめ

7 Appendix

冨岡 亮太 (東大) 18 / 66
手法 1: Prox 作用素

Proximal Minimization (Rockafellar 76)

1 x 0 を適当に初期化する.
2 以下を繰り返す.
µ ¶
1
x t+1 = argmin f (x) + ∥x − x t ∥2
x 2ηt

良い点: f が凸関数であれば必ず収束.しかも速い(超 1 次)

1
∥x t+1 − x ∗ ∥ ≤ ∥x t − x ∗ ∥
1 + σηt

(Tomioka et al. 11)


悪い点: そもそも f (x) の最小化が難しい時,上の最小化を各ステッ
プやるのはつらい.

冨岡 亮太 (東大) 19 / 66
手法 1: Prox 作用素

勾配法
各ステップで f (x) を x t の周りで線形化して Proximal Minimization する.
µ ¶
1
x t+1
= argmin ∇f (x )(x − x ) +
t t
∥x − x ∥
t 2
x 2ηt
= x t − ηt ∇f (x t )

安定性の条件: ηt ≤ 1/L(f ).
L(f ) は微分 ∇f のリプシッツ
定数:

∥∇f (y) − ∇f (x)∥ ≤ L(f )∥y − x∥.


t+1t
f が 2 階微分可能な場合は L(f )= x* x x
ヘシアンの最大固有値の上限.

冨岡 亮太 (東大) 20 / 66
手法 1: Prox 作用素 0th Generation Prox Method

0G: 射影付き勾配法 (Bertsekas 99; Nesterov 03)


目的関数を線形化,δC は束縛条件の定義関数,
µ ¶
1
x t+1 = argmin ∇f (x t )(x − x t ) + δC (x) + ∥x − x t ∥2
x 2ηt
µ ¶
1
= argmin δC (x) + ∥x − (x − ηt ∇f (x ))∥
t t 2
x 2ηt
= projC (x t − ηt ∇f (x t )).
安定性の条件は制約のない場合 2

と同様: ηt ≤ 1/L(f ). 1.5

収束の速さ 1

0.5

L(f )∥x 0 − x ∗ ∥2
f (x k ) − f (x ∗ ) ≤
0

2k −0.5

−1

もちろん射影 projC が効率的に −1.5

計算できることが必要. −2
−2 −1.5 −1 −0.5 0 0.5 1 1.5 2

冨岡 亮太 (東大) 21 / 66
手法 1: Prox 作用素 1st Generation Prox Method

Proximal Operator: 射影の一般化


µ ¶
1
proxφλ (z) = argmin φλ (x) + ∥x − z∥2
x 2

凸集合への射影: projC (z) = proxδC (z).


Soft-Threshold (φλ (x) = λ∥x∥1 ) ST(z)
µ ¶
1
proxλ (z) = argmin λ∥x∥1 + ∥x − z∥2
x 2
 −λ λ

zj + λ (zj < −λ),
z

= 0 (−λ ≤ zj ≤ λ),


zj − λ (zj > λ).

何らかの意味で分離可能な φλ は Prox が簡単に計算できる.


微分不可能でも解析的に計算できる.
冨岡 亮太 (東大) 22 / 66
手法 1: Prox 作用素 1st Generation Prox Method

1G: Iterative Shrinkage Thresholding (IST)


µ ¶
1
x t+1
= argmin ∇L(x )(x − x ) + φλ (x) +
t t
∥x − x t ∥2
x 2ηt
µ ¶
1
= argmin φλ (x) + ∥x − (x t − ηt ∇L(x t ))∥2
x 2ηt
= proxληt (x t − ηt ∇L(x t )).

安定性の条件,収束性は射影付き勾
配法と同じ.(Beck & Teboulle 09)

L(f )∥x 0 − x ∗ ∥2
f (x k ) − f (x ∗ ) ≤
2k
Prox 作用素 proxλ が計算できれば
実装簡単.
Forward-Backward Splitting とも
呼ばれる (Lions & Mercier 76)
冨岡 亮太 (東大) 23 / 66
手法 1: Prox 作用素 1st Generation Prox Method

IST を用いた行列穴埋め (Mazumder et al. 10)


ロス: 正則化項:

1 X
r
L(X ) = ∥Ω(X − Y )∥2 . φλ (X ) = λ σj (X ) (特異値の線形和).
2
j=1
微分:
Prox 作用素 (Singular Value
∇L(X ) = Ω⊤ (Ω(X − Y )) Thresholding):

proxλ (Z ) = U max(S − λI, 0)V ⊤ .


反復式:
³ ´
X t+1 = proxληt (I − ηt Ω⊤ Ω)(X t ) + ηt Ω⊤ Ω(Y t )

ηt = 1 の時,予測値で穴埋め,観測値で上書き,Soft-Threshold か
ける,の繰り返し.
冨岡 亮太 (東大) 24 / 66
手法 1: Prox 作用素 2nd Generation Prox Method

FISTA: IST の加速版 (Beck & Teboulle 09; Nesterov 07)

1 x 0 を適当に初期化,y 1 = x 0 ,s1 = 1 とする.


2 x t を更新:

x t = proxληt (y t − ηt ∇L(y t )).

3 y t を更新:
µ ¶
st − 1
y t+1
=x + t
(x t − x t−1 ),
st+1
¡ q ¢±
ただし,st+1 = 1 + 1 + 4st2 2.

ステップあたりの計算量は IST とほぼ同じ.収束性は O(1/k 2 ).


どこの点で勾配ステップを取るべきか予測している感じ?

冨岡 亮太 (東大) 25 / 66
手法 1: Prox 作用素 2nd Generation Prox Method

加速の効果

2
10
ISTA
MTWIST
FISTA
0
10

Without acceleration
−2
10

−4
10

−6
With acceleration
10

−8
10
0 2000 4000 6000 8000 10000

反復数
Beck & Teboulle 2009 SIAM J. IMAGING SCIENCES
Vol. 2, No. 1, pp. 183-202 より

冨岡 亮太 (東大) 26 / 66
手法 1: Prox 作用素 3rd Generation Prox Method

3G?: もっとタイトな下限を作るアイディア

IST: µ ¶
1
x t+1
= argmin ∇L(x )(x − x ) + φλ (x) +
t t
∥x − x t ∥2
x 2ηt

x t+1 xt x t+1 xt
IST: 現在の点 x t で下限を作る. DAL: 次の点 x t+1 で下限を作る.

冨岡 亮太 (東大) 27 / 66
手法 1: Prox 作用素 3rd Generation Prox Method

次の点で下限を作るには?
下限の傾き y をパラメータとして最適化する:
µ ¶
1
x t+1 = argmin L(x) + φλ (x) + ∥x − x t ∥2
x 2ηt
µ ¶
∗ 1
= argmin max(〈x, y〉 − L (y)) + φλ (x) + ∥x − x ∥
t 2
x y 2ηt
⇓ Min と Max の順番を入れ替えて計算する

DAL (Tomioka et al 11)

¡ ¢
x t+1 = proxληt x t − ηt y t ,
ただし,
µ ¶
1 ¡ ¢
y = argmax −L (y) − Φ∗ληt x t − ηt y
t ∗
y ηt

冨岡 亮太 (東大) 28 / 66
手法 1: Prox 作用素 3rd Generation Prox Method

DAL の利点 (ℓ1 -正則化の場合)


(1) Prox 作用素は解析的に計算可能
¡ ¢
x t+1 = proxηt λ x t − ηt y t
(2) 内部最適化は微分可能
³ 1 ´
y t = argmax −L∗ (y) − ∥proxληt (x t − ηt y)∥2
y | {z } 2ηt | {z }
微分可能 非ゼロ成分の数に比例

φ∗λ(w) Φ∗λ(w)

−λ 0 λ

冨岡 亮太 (東大) 29 / 66
手法 1: Prox 作用素 3rd Generation Prox Method

DAL を用いた行列の空間上の判別問題
• Multivariate Time Series Time
判別ラベル 予測関数

ensors
Se s
y ∈ {−1, +1} ⇐ f (X ) = 〈W , X 〉 + b • Second order statistics

Sensors
5

nsors
10

15

20

Sen
25

30

35

40

45

5 10 15 20 25 30 35 40 45

最適化問題:
X
m
minimize ℓLR (yi f (X i )) + λ ∥W ∥tr
W | {z }
i=1
低ランク化

ロジスティック損失:

ℓLR (zi ) = log(1 + exp(−zi ))

冨岡 亮太 (東大) 30 / 66
手法 1: Prox 作用素 3rd Generation Prox Method

DAL を用いた行列の空間上の判別問題 (Tomioka et al 10)

AG
1 IP
PG
Relative duality gap
M−DAL
0.1

0.01

0.001

0.0001
0 50 100 150
CPU time (s)
– AG: 加速付き IST – IP: 内点法
– PG: 射影勾配法 – M-DAL: 提案法

冨岡 亮太 (東大) 31 / 66
手法 2: Legendre 変換

Outline

1 イントロ

2 準備

3 手法 1: Prox 作用素

4 手法 2: Legendre 変換

5 手法 3: Operator Splitting

6 まとめ

7 Appendix

冨岡 亮太 (東大) 32 / 66
手法 2: Legendre 変換

凸関数の作り方

線形関数の point-wise maximum は凸関数.

f (x) = max (〈ai , x〉 − bi ) .


i=1,...,k

冨岡 亮太 (東大) 33 / 66
手法 2: Legendre 変換

凸共役 (Fenchel-Legendre 変換)

f ∗ (y) = sup (〈y, x〉 − f (x)) .


x∈Rn

のように定義される f ∗ を関数 f の凸共役と呼ぶ.


f(x)=log(1+exp(−x)) f*(−y)=ylog(y)+(1−y)log(1−y)

f(x) f*(y)
−1 0

冨岡 亮太 (東大) 34 / 66
手法 2: Legendre 変換

注意: f (x) は凸でなくてもよい

f (x) が凸関数であってもなくても f ∗ (y) は凸関数.

f(x) f*(y)

冨岡 亮太 (東大) 35 / 66
手法 2: Legendre 変換

凸共役の性質
定義より
∀x, y ∈ Rn , f (x) + f ∗ (y) ≥ 〈y, x〉 .
x がある y に関して 〈y, x〉 − f (x) を最大化するならば
f ∗ (y) = 〈y, x〉 − f (x).
つまり,
f (x) = f ∗∗ (x) = sup (〈y, x〉 − f ∗ (y)) .
y

f(x)=log(1+exp(−x)) f*(−y)=ylog(y)+(1−y)log(1−y)

f(x) f*(y)
−1

冨岡 亮太 (東大) 36 / 66
手法 2: Legendre 変換

凸でない f の場合 f ̸= f ∗∗

f(x)
f*(y)

f ∗ が微分可能 ⇔ f が strictly convex.

冨岡 亮太 (東大) 37 / 66
手法 2: Legendre 変換

Uzawa’s method (Dual ascent; 双対分解)

最適化問題(あえて制約付き問題として書く):

minimize f (z) + g(x),


x∈Rn ,z∈Rm

subject to z = Ax.

ラグランジアン:

L(x, z, α) = f (z) + g(x) + α⊤ (z − Ax).

ラグランジアンの最小化は凸共役の計算
¡ ­ ®¢
−f ∗ (−α) = min f (z) + αt , z ,
z
³ D E´
−g ∗ (A⊤ α) = min g(x) − A⊤ αt , x .
x

冨岡 亮太 (東大) 38 / 66
手法 2: Legendre 変換

Uzawa’s method (Uzawa 58; Bertsekas 99)




 ラグランジアンを ¡ x, z に関して最小化
­ t ®¢ :

 t+1

 z = argminz ¡f (z) + ­α , z , ®¢
 t+1
x = argminx g(x) − A⊤ αt , x .





 ラグランジュ乗数 αt を更新:
 t+1
α = αt + ηt (z t+1 − Ax t+1 ).
宇澤 弘文
primal
ラグランジュ乗数の更新は双対での勾
配法 (dual ascent) に対応
良い点: シンプル!
悪い点: 凸共役 f ∗ , g ∗ が微分できないと
き劣勾配法 (sub-gradient ascent)
収束するの?
dual

冨岡 亮太 (東大) 39 / 66
手法 2: Legendre 変換

Uzawa’s method を用いた行列穴埋め (Cai et al. 08)


1 ³ 1 ´
minimize ∥z − y∥2 + τ ∥X ∥tr + ∥X ∥2 ,
X
|2λ {z } | {z 2 }
Strictly convex Strictly convex

subject to Ω(X ) = z.


ラグランジアン:
1 ³ 1 ´
L(X , z, α) = ∥z − y∥2 + τ ∥X ∥tr + ∥X ∥2 + α⊤ (z − Ω(X )).
|2λ {z } | {z 2 }
=f (z) =g(x)

Uzawa’s method:
 t+1 ¡ ¢
 X = proxτ Ω⊤ (αt ) (Singular-Value Thresholding)
z t+1 = y − λα t
 t+1
α = αt + ηt (z t+1 − Ω(X t+1 ))
冨岡 亮太 (東大) 40 / 66
手法 2: Legendre 変換

Uzawa’s method を用いた行列穴埋め (Cai et al. 08)


1 ³ 1 ´
minimize ∥z − y∥2 + τ ∥X ∥tr + ∥X ∥2 ,
X
|2λ {z } | {z 2 }
Strictly convex Strictly convex

subject to Ω(X ) = z.


ラグランジアン:
1 ³ 1 ´
L(X , z, α) = ∥z − y∥2 + τ ∥X ∥tr + ∥X ∥2 + α⊤ (z − Ω(X )).
|2λ {z } | {z 2 }
=f (z) =g(x)

Uzawa’s method:
 t+1 ¡ ¢
 X = proxτ Ω⊤ (αt ) (Singular-Value Thresholding)
z t+1 = y − λα t
 t+1
α = αt + ηt (z t+1 − Ω(X t+1 ))
冨岡 亮太 (東大) 40 / 66
手法 2: Legendre 変換

拡張ラグランジュ法 (Augmented Lagrangian Method)

拡張ラグランジアン
η
Lη (x, z, α) = f (z) + g(x) + α⊤ (z − Ax) + ∥z − Ax∥2 .
2
拡張ラグランジュ法:

 拡張ラグランジアンを x, z に関して最小化:




t+1 t+1 argmin Lηt (x, z, αt ).
 (x , z ) = x∈Rn ,z∈Rm





 ラグランジュ乗数を更新:
 t+1
α = αt + ηt (z t+1 − Ax t+1 ).

良い点: ペナルティ項を追加(双対は必ず微分可能になる)
悪い点: x と z の間に絡みが発生!(別々に最小化できない)

冨岡 亮太 (東大) 41 / 66
手法 2: Legendre 変換

実は

拡張ラグランジュ法をまじめにやると双対側で Proximal
Minimization
³ 1 ´
αt+1 = argmin f ∗ (−α) + g ∗ (A⊤ α) + ∥α − αt ∥2
α∈Rm | {z } 2ηt
双対目的関数の符号反転

をやっているのと等価.
DAL (Dual Augmented Lagrangian) はその逆.
拡張ラグランジュを不真面目に解くと双対側で色々な手法が出て
くる.

冨岡 亮太 (東大) 42 / 66
手法 2: Legendre 変換

対応関係

主問題 双対
厳密 拡張ラグランジアン Proximal Minimization
Proximal Minimization DAL
近似 Alternating Minimization Al- Forward-Backward Splitting
gorithm (IST と等価)
(Tseng 91)
Alternating Direction Method Douglas-Rachford Splitting
of Multipliers
(Gabay & Mercier 76) (Lions & Mercier 76)

冨岡 亮太 (東大) 43 / 66
手法 2: Legendre 変換

Alternating Direction Method of Multipliers (ADMM;


Gabay & Mercier 76)



 拡張ラグランジアンを x に関して最小化:



 x t+1 = argmin Lηt (x, z t , αt ).




x∈Rn
拡張ラグランジアンを z に関して最小化:

 z t+1 = argmin Lηt (x t+1 , z, αt ).




z∈Rm

 ラグランジュ乗数を更新 :

 αt+1 = αt + η (z t+1 − Ax t+1 ).
t

今更新した x t+1 が z t+1 の計算に入っているところがポイント.

冨岡 亮太 (東大) 44 / 66
手法 2: Legendre 変換

ADMM (Gabay & Mercier 76)

書き直すと
 ³ ´
 t+1 = argmin g(x) + ηt ∥z t − Ax + αt /η ∥2

 x t
 x∈Rn ³ 2 ´
ηt
 z t+1 = argmin f (z) + ∥z − Ax t+1
+ αt
/η t ∥ 2

 z∈Rm 2
 t+1
α = αt + ηt (z t+1 − Ax t+1 ).

z に関する最小化は Prox 作用素 proxf (簡単).


x に関する最小化は行列 A が変数を絡ませるのでちょっと難しい.
1 反復あたりのコストが同じなら FBS より明らかに速い(理論的に
は不明)
双対側での Douglas Rachford Splitting と等価 ⇒ ステップサイズ η
によらず ADMM は安定.(Lions & Mercier 76; Eckstein & Bertsekas 92)

冨岡 亮太 (東大) 45 / 66
手法 2: Legendre 変換

ADMM (Gabay & Mercier 76)

書き直すと
 ³ ´
 t+1 = argmin g(x) + ηt ∥z t − Ax + αt /η ∥2

 x t
 x∈Rn ³ 2 ´
ηt
 z t+1 = argmin f (z) + ∥z − Ax t+1
+ αt
/η t ∥ 2

 z∈Rm 2
 t+1
α = αt + ηt (z t+1 − Ax t+1 ).

z に関する最小化は Prox 作用素 proxf (簡単).


x に関する最小化は行列 A が変数を絡ませるのでちょっと難しい.
1 反復あたりのコストが同じなら FBS より明らかに速い(理論的に
は不明)
双対側での Douglas Rachford Splitting と等価 ⇒ ステップサイズ η
によらず ADMM は安定.(Lions & Mercier 76; Eckstein & Bertsekas 92)

冨岡 亮太 (東大) 45 / 66
手法 2: Legendre 変換

テンソルの穴埋め問題への ADMM の適用


凸最適化の適用のポイント: テンソルの行列化 (Matricization)
テンソルが Tucker 分解の意味で低ランク
⇔ そのテンソルの行列化は(行列の意味で)低ランク
M o d e 1 u n f o l d i n g

X (1)
I 2 I 2 I 2

I 1

I 1

I 2 I 3

I 3

X (2)
M o d e 2 u n f o l d i n g

I 3 I 3 I 3

I 1

I 2

I 2 I 3

I 1

冨岡 亮太 (東大) 46 / 66
手法 2: Legendre 変換

テンソルの穴埋め問題への ADMM の適用

数学的な定式化:

1 X K
minimize ∥Ωx − y∥2 + γk ∥Z k ∥tr ,
x,z 1 ,...,z K ∈RN 2λ | {z }
k=1
低ランク化

subject to Pk x = zk (k = 1, . . . , K ),

x は推定すべきテンソルをベクトルとして書いたもの.
y ∈ RM は観測.
(M ≪ N = n1 n2 · · · nK )
ベクトル化,行列化は要素の並び替え(線形変換)に過ぎない.
P k ⊤ P k = I (置換は直交変換).
すべてのモードが同時に低ランクになるように正則化.

冨岡 亮太 (東大) 47 / 66
手法 2: Legendre 変換

テンソルの穴埋め問題への ADMM の適用

拡張ラグランジアン

1 X K
Lη (x, {Z k }Kk=1 , {αk }Kk=1 ) = ∥Ωx − y∥2 + γk ∥Z k ∥tr

k =1
K ³
X ´
η
+ αk ⊤ (P k x − z k ) + ∥P k x − z k ∥2 .
2
k=1

x に関する最小化 P k が直交行列なので解析的に O(N) で計算可能.


Z k (z k を行列として並べたもの)に関する最小化はトレースノルム
に関する Prox 作用素.
ラグランジュ乗数ベクトルは制約の数(モードの数)だけ必要.

冨岡 亮太 (東大) 48 / 66
手法 2: Legendre 変換

テンソル結果 1: 予測精度
2
10
As a Matrix (mode 1)
As a Matrix (mode 2)
As a Matrix (mode 3)
0 Constraint
Generalization error

10 Mixture
Tucker (large)
Tucker (exact)
−2
Optimization tolerance
10

−4
10

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1


Fraction of observed elements

提案手法 Constraint は 35% くらい見えればほぼ完璧に予測可能.


ランクを前もって決める必要なし.
既存手法 Tucker(EM アルゴリズム) はランクが合っていれば OK.
ランクが間違っていると汎化誤差が収束しない.
冨岡 亮太 (東大) 49 / 66
手法 2: Legendre 変換

テンソル結果 2: 計算速度

50
As a Matrix
Constraint
40 Mixture
Tucker (large)
Computation time (s)

Tucker (exact)
30

20

10

0
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Fraction of observed elements

しかも凸最適化は速い! (Tomioka et al. 10)

冨岡 亮太 (東大) 50 / 66
手法 3: Operator Splitting

Outline

1 イントロ

2 準備

3 手法 1: Prox 作用素

4 手法 2: Legendre 変換

5 手法 3: Operator Splitting

6 まとめ

7 Appendix

冨岡 亮太 (東大) 51 / 66
手法 3: Operator Splitting

凸最適化 ⇔ 方程式のゼロ点

最小化問題 方程式のゼロ点 .
Find x such that
min f (x) + g(x).
x (Tf + Tg )(x) ∋ 0,
where
Tf = ∂f ,
.
Tg = ∂g (劣微分作用素).
例 (Prox 作用素):
µ ¶
1
x = proxf (z) = argmin f (x ′ ) + ∥x ′ − z∥2
x ′ ∈Rn 2

.
⇔ Tf (x) + (x − z) ∋ 0
−1
⇔ prox
. f (z) = (I + Tf ) (z) ..

冨岡 亮太 (東大) 52 / 66
手法 3: Operator Splitting

凸最適化 ⇔ 方程式のゼロ点

最小化問題 方程式のゼロ点 .
Find x such that
min f (x) + g(x).
x (Tf + Tg )(x) ∋ 0,
where
Tf = ∂f ,
.
Tg = ∂g (劣微分作用素).
例 (Prox 作用素):
µ ¶
1
x = proxf (z) = argmin f (x ′ ) + ∥x ′ − z∥2
x ′ ∈Rn 2

.
⇔ Tf (x) + (x − z) ∋ 0
−1
⇔ prox
. f (z) = (I + Tf ) (z) ..

冨岡 亮太 (東大) 52 / 66
手法 3: Operator Splitting

Forward-Backward Splitting (⇔ IST) (Lions & Mercier 76)

minimize f (x) + g(x)


x
⇔ find x Tf (x) + Tg (x) ∋ 0
⇔ find x ηTf (x) + ηTg (x) ∋ 0
⇔ find x x + ηTf (x) ∋ x − ηTg (x)
⇔ find x (I + ηTf )(x) = (x − ηTg (x))
⇔ find x x = proxηf (x − ηTg (x))

反復式: ⇓

x t+1 = proxηt f (x t − ηt ∇g(x t ))

Douglas Rachford Splitting も同様の方法で導出できる(複雑すぎる


ので省略)
冨岡 亮太 (東大) 53 / 66
手法 3: Operator Splitting

Forward-Backward Splitting (⇔ IST) (Lions & Mercier 76)

minimize f (x) + g(x)


x
⇔ find x Tf (x) + Tg (x) ∋ 0
⇔ find x ηTf (x) + ηTg (x) ∋ 0
⇔ find x x + ηTf (x) ∋ x − ηTg (x)
⇔ find x (I + ηTf )(x) = (x − ηTg (x))
⇔ find x x = proxηf (x − ηTg (x))

反復式: ⇓

x t+1 = proxηt f (x t − ηt ∇g(x t ))

Douglas Rachford Splitting も同様の方法で導出できる(複雑すぎる


ので省略)
冨岡 亮太 (東大) 53 / 66
手法 3: Operator Splitting

Forward-Backward Splitting (⇔ IST) (Lions & Mercier 76)

minimize f (x) + g(x)


x
⇔ find x Tf (x) + Tg (x) ∋ 0
⇔ find x ηTf (x) + ηTg (x) ∋ 0
⇔ find x x + ηTf (x) ∋ x − ηTg (x)
⇔ find x (I + ηTf )(x) = (x − ηTg (x))
⇔ find x x = proxηf (x − ηTg (x))

反復式: ⇓

x t+1 = proxηt f (x t − ηt ∇g(x t ))

Douglas Rachford Splitting も同様の方法で導出できる(複雑すぎる


ので省略)
冨岡 亮太 (東大) 53 / 66
手法 3: Operator Splitting

Forward-Backward Splitting (⇔ IST) (Lions & Mercier 76)

minimize f (x) + g(x)


x
⇔ find x Tf (x) + Tg (x) ∋ 0
⇔ find x ηTf (x) + ηTg (x) ∋ 0
⇔ find x x + ηTf (x) ∋ x − ηTg (x)
⇔ find x (I + ηTf )(x) = (x − ηTg (x))
⇔ find x x = proxηf (x − ηTg (x))

反復式: ⇓

x t+1 = proxηt f (x t − ηt ∇g(x t ))

Douglas Rachford Splitting も同様の方法で導出できる(複雑すぎる


ので省略)
冨岡 亮太 (東大) 53 / 66
手法 3: Operator Splitting

Forward-Backward Splitting (⇔ IST) (Lions & Mercier 76)

minimize f (x) + g(x)


x
⇔ find x Tf (x) + Tg (x) ∋ 0
⇔ find x ηTf (x) + ηTg (x) ∋ 0
⇔ find x x + ηTf (x) ∋ x − ηTg (x)
⇔ find x (I + ηTf )(x) = (x − ηTg (x))
⇔ find x x = proxηf (x − ηTg (x))

反復式: ⇓

x t+1 = proxηt f (x t − ηt ∇g(x t ))

Douglas Rachford Splitting も同様の方法で導出できる(複雑すぎる


ので省略)
冨岡 亮太 (東大) 53 / 66
手法 3: Operator Splitting

Forward-Backward Splitting (⇔ IST) (Lions & Mercier 76)

minimize f (x) + g(x)


x
⇔ find x Tf (x) + Tg (x) ∋ 0
⇔ find x ηTf (x) + ηTg (x) ∋ 0
⇔ find x x + ηTf (x) ∋ x − ηTg (x)
⇔ find x (I + ηTf )(x) = (x − ηTg (x))
⇔ find x x = proxηf (x − ηTg (x))

反復式: ⇓

x t+1 = proxηt f (x t − ηt ∇g(x t ))

Douglas Rachford Splitting も同様の方法で導出できる(複雑すぎる


ので省略)
冨岡 亮太 (東大) 53 / 66
手法 3: Operator Splitting

Forward-Backward Splitting (⇔ IST) (Lions & Mercier 76)

minimize f (x) + g(x)


x
⇔ find x Tf (x) + Tg (x) ∋ 0
⇔ find x ηTf (x) + ηTg (x) ∋ 0
⇔ find x x + ηTf (x) ∋ x − ηTg (x)
⇔ find x (I + ηTf )(x) = (x − ηTg (x))
⇔ find x x = proxηf (x − ηTg (x))

反復式: ⇓

x t+1 = proxηt f (x t − ηt ∇g(x t ))

Douglas Rachford Splitting も同様の方法で導出できる(複雑すぎる


ので省略)
冨岡 亮太 (東大) 53 / 66
まとめ

Outline

1 イントロ

2 準備

3 手法 1: Prox 作用素

4 手法 2: Legendre 変換

5 手法 3: Operator Splitting

6 まとめ

7 Appendix

冨岡 亮太 (東大) 54 / 66
まとめ

メッセージ

ブラックボックス最適化から中身を考慮した最適化へ
微分不可能でも怖くない
Prox 作用素や凸共役を計算しよう

冨岡 亮太 (東大) 55 / 66
Appendix

Outline

1 イントロ

2 準備

3 手法 1: Prox 作用素

4 手法 2: Legendre 変換

5 手法 3: Operator Splitting

6 まとめ

7 Appendix

冨岡 亮太 (東大) 56 / 66
Appendix

凸共役の性質 (contd.)

凸共役(Legendre 変換)と畳み込み:

(f + g)∗ (y) = inf (f ∗ (y − α) + g ∗ (α)) .


α

最小化と凸共役:

inf f (x) = − sup (〈0, x〉 − f (x)) = −f ∗ (0).


x x

Fenchel 双対:

inf (f (x) + g(x)) = −(f + g)∗ (0) = sup (−f ∗ (−α) − g ∗ (α)) .
x α

冨岡 亮太 (東大) 57 / 66
Appendix

凸共役の性質 (contd.)

凸共役(Legendre 変換)と畳み込み:

(f + g)∗ (y) = inf (f ∗ (y − α) + g ∗ (α)) .


α

最小化と凸共役:

inf f (x) = − sup (〈0, x〉 − f (x)) = −f ∗ (0).


x x

Fenchel 双対:

inf (f (x) + g(x)) = −(f + g)∗ (0) = sup (−f ∗ (−α) − g ∗ (α)) .
x α

冨岡 亮太 (東大) 57 / 66
Appendix

凸共役の性質 (contd.)

凸共役(Legendre 変換)と畳み込み:

(f + g)∗ (y) = inf (f ∗ (y − α) + g ∗ (α)) .


α

最小化と凸共役:

inf f (x) = − sup (〈0, x〉 − f (x)) = −f ∗ (0).


x x

Fenchel 双対:

inf (f (x) + g(x)) = −(f + g)∗ (0) = sup (−f ∗ (−α) − g ∗ (α)) .
x α

冨岡 亮太 (東大) 57 / 66
Appendix

Fenchel 双対定理

³ ´
inf (f (Ax) + g(x)) = sup −f ∗ (−α) − g ∗ (A⊤ α) .
x α

等式制約付き最適化問題

minimize f (z) + g(x),


x∈Rn ,z∈Rm

subject to Ax = z

の双対問題として導出できる.
(http://www.ibis.t.u-tokyo.ac.jp/RyotaTomioka/Notes/DerivingDual)
凸共役の一覧表があれば機械的に双対問題を作れる点が美味しい.

冨岡 亮太 (東大) 58 / 66
Appendix

Fenchel 双対の例 (1): SVM

主問題 双対問題

min f (y ◦ X w ) + φλ (x) max −f ∗ (−α) − φ∗λ (X ⊤ (α ◦ y))


w α
  (P .
X
m
 m


 f (z) = 
 f ∗ (−α) = i=1 −αi (0 ≤ α ≤ 1),
max(0, 1 − z ),
i
i=1
+∞ (oterwise),

 
 1
 φ (x) = λ ∥x∥2 .  φ∗ (v ) = ∥v∥2 .
λ λ
2 2λ

冨岡 亮太 (東大) 59 / 66

.
Appendix

Fenchel 双対の例 (2): 正則化付きロジスティック回帰 (Jaakkola & Haussler 99)

主問題 双対問題 .

min f (y ◦ X w ) + φλ (x) max −f (−α) − φ∗λ (X ⊤ (α ◦ y))
w α
 
 X
m
 X
m

 f (z) = log(1 + exp(−z )), 
 f ∗ (−α) = αi log(αi )
i 

i=1 i=1

 +(1 − αi ) log(1 − αi ),
 φ (x) = λ ∥x∥2 . . 

λ 
 1
2  φ∗ (v ) = ∥v ∥2 ,
λ

Hinge Loss Hinge Loss


Logistic Loss Logistic Loss

.
O 1
.

O 1
..
(a) primal losses (b) dual losses
冨岡 亮太 (東大) 60 / 66
Appendix

Fenchel 双対の例 (3): 線形計画

主問題 双対問題 .

(P) min c ⊤ x, (D) max b ⊤ y,


.
s.t. Ax = b, x ≥ 0. s.t. A⊤ y ≤ c.
⇕ ⇕
主問題’ 双対問題’
. ..

.
(P ) min f (Ax) + g(x)
x
(D′ ) max −f (−y) − g(A⊤ y)
 (  ∗
y

 0 (z = b),  ⊤

  f (y) = b( y,
 f (z) = +∞ (otherwise),
( ∗ 0 (α ≤ c),

 g (α) = +∞ (oterwise).

 c ⊤ x (x ≥ 0),

 .
 g(x) = +∞ (otehrwise).
冨岡 亮太 (東大) 61 / 66
Appendix

凸じゃない最適化は?

一般的に対処するのは困難
基本的な方針は凸最適化を繰り返し解くこと
EM
Difference of Convex (DC) programming
CCCP

冨岡 亮太 (東大) 62 / 66
Appendix

文献
全体的なまとめ
Tomioka, Suzuki, & Sugiyama (2011) Augmented Lagrangian Methods
for Learning, Selecting, and Combining Features. In Sra, Nowozin,
Wright., editors, Optimization for Machine Learning, MIT Press.
Combettes & Pesquet (2010) Proximal splitting methods in signal
processing. In Fixed-Point Algorithms for Inverse Problems in Science
and Engineering. Springer-Verlag.
Boyd, Parikh, Peleato, & Eckstein (2010) Distributed optimization and
statistical learning via the alternating direction method of multipliers.
教科書
Rockafellar (1970) Convex Analysis. Princeton University Press.
Bertsekas (1999) Nonlinear Programming. Athena Scientific.
Nesterov (2003) Introductory Lectures on Convex Optimization: A Basic
Course. Springer.

冨岡 亮太 (東大) 63 / 66
Appendix

文献
Proximal Point Algorithm/Augmented Lagrangian
Arrow, Hurwicz, & Uzawa (1958) Studies in Linear and Non-Linear
Programming. Stanford University Press.
Moreau (1965) Proximité et dualité dans un espace Hilbertien. Bul letin
de la S. M. F.
Rockafellar (1976) Monotone operators and the proximal point algorithm.
SIAM J Control Optim 14, 877–898.
Bertsekas (1982) Constrained Optimization and Lagrange Multiplier
Methods. Academic Press.
Tomioka, Suzuki, & Sugiyama (2011) Super-Linear Convergence of Dual
Augmented Lagrangian Algorithm for Sparse Learning. Arxiv:0911.4046.
IST/FISTA
Nesterov (2007) Gradient Methods for Minimizing Composite Objective
Function.
Beck & Teboulle (2009) A Fast Iterative Shrinkage-Thresholding
Algorithm for Linear Inverse Problems. SIAM J Imag Sci 2, 183–202.
冨岡 亮太 (東大) 64 / 66
Appendix

文献
Operator Splitting
Lions & Mercier (1976) Splitting Algorithms for the Sum of Two Nonlinear
Operators. SIAM J Numer Anal 16, 964–979.
Gabay & Mercier (1976) A dual algorithm for the solution of nonlinear
variational problems via finite element approximation. Comput Math
Appl 2, 17–40.
Eckstein & Bertsekas (1992) On the Douglas-Rachford splitting method
and the proximal point algorithm for maximal monotone operators.
マルチタスク/マルチカーネル
Evgeniou, Micchelli, & Pontil (2005) Learning Multiple Tasks with Kernel
Methods. JMLR 6, 615–637.
Bach, Thibaux, & Jordan (2005) Computing regularization paths for
learning multiple kernels. Advances in NIPS, 73–80.
Suzuki & Tomioka (2009) SpicyMKL. Arxiv:0909.5026.

冨岡 亮太 (東大) 65 / 66
Appendix

文献

行列/テンソル
Srebro, Rennie, & Jaakkola (2005) Maximum-Margin Matrix
Factorization. Advances in NIPS 17, 1329–1336.
Cai, Candès, & Shen (2008) A singular value thresholding algorithm for
matrix completion.
Tomioka, Suzuki, Sugiyama, & Kashima (2010) A Fast Augmented
Lagrangian Algorithm for Learning Low-Rank Matrices. In ICML 2010.
Tomioka, Hayashi, & Kashima (2010) On the extension of trace norm to
tensors. ArXiv:1010.0789.
Mazumder, Hastie, & Tibshirani (2010) Spectral Regularization
Algorithms for Learning Large Incomplete Matrices. JMLR 11,
2287–2322.

冨岡 亮太 (東大) 66 / 66

You might also like