• 検索結果がありません。

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

N/A
N/A
Protected

Academic year: 2021

シェア "2011/1/20: 機械学習における連続最適化の新しいトレンド"

Copied!
77
0
0

読み込み中.... (全文を見る)

全文

(1)

. . . .

.

.

.

.

.

.

.

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

冨岡 亮太1 共同研究者: 鈴木 大慈1杉山 将2 1東京大学 2東京工業大学

2011-01-20 @ NEC

冨岡 亮太 (東大) 1 / 66

(2)

. . . . イントロ

Outline

.

. .

1 イントロ

.

. .

2 準備

.

. .

3 手法

1: Prox

作用素

.

. .

4 手法

2: Legendre

変換

.

. .

5 手法

3: Operator Splitting

.

. .

6 まとめ

.

. .

7

Appendix

冨岡 亮太 (東大) 2 / 66

(3)

. . . . イントロ

標準形はお好き?

例)線形計画

(LP)

.

主問題

.

.

.

.

.

.

.

.

(P)

min

c

x,

s.t.

Ax = b, x

≥ 0.

.

双対問題

.

.

.

.

.

.

.

.

(D)

max

b

y ,

s.t.

A

y

≤ c.

2

次計画

(QP)

2

次錐計画

(SOCP)

,半正定値計画

(SDP)

etc...

良い点:既存の(ある程度)高性能なソルバーが利用できる. 悪い点:問題のモデル化に制限,問題の書き換えが必要. 冨岡 亮太 (東大) 3 / 66

(4)

. . . . イントロ

モデル化に制限が生じる例:

p

-

正則化

minimize

w

1

2

∥y − Xw∥

2

+ λ

n

X

j=1

|wj

|

p

.

p = 2:

正則化最小二乗法

逆行列で一発.

1 < p < 2: ?

p = 1: Lasso

⇒ 2

次計画. −3 −2 −1 0 1 2 3 0 1 2 3 4 |x|0.01 |x|0.5 |x| x2

(5)

. . . . イントロ

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

.

.

.

1 微分不可能性

:

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

.

SVM (微分不可能)

.

.

.

.

.

.

.

.

min

w

C

m

X

i=1

H

(

y

i

〈x

i

,

w

〉) +

1

2

∥w∥

2 max(0,1−yz)

.

SVM (2 次計画)

.

.

.

.

.

.

.

.

min

w

C

m

X

i=1

ξ

i

+

1

2

∥w∥

2

,

s.t.

y

i

〈x

i

,

w

〉 ≥ 1 − ξ

i

(

i = 1, . . . , m).

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

.

.

.

2

実装がめんどくさい

冨岡 亮太 (東大) 5 / 66

(6)

. . . . イントロ

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

SVM

(ロスが微分不可能)

minimize

w

C

m

X

i=1

ℓH

(

y

i

〈x

i

,

w

〉)

+

1

2

∥w∥

2

Lasso

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

minimize

w

L(w ) + λ

n

X

j=1

|wj

|

max(0,1−yz)

(7)

. . . . イントロ

マルチタスク学習

(Evgeniou et al 05)

minimize

w1,w2,w12

L(w

1

+

w

12

)

|

{z

}

タスク 1 のロス

+

L(w

|

2

{z

+

w

12

}

)

タスク 2 のロス

(

∥w

1

∥ + ∥w

2

∥ + ∥w

12

∥)

冨岡 亮太 (東大) 7 / 66

(8)

. . . .

イントロ

マルチカーネル学習

(Bach et al 05; Suzuki & Tomioka 09)

M

個の情報源があり,それぞれについて入力サンプル

x

i

x

jの内積 が

k

m

(

x

i

,

x

j

) (

m = 1, . . . , M)

と計算できるとき,それらをいかに組 み合わせて予測するか? 最適化問題

minimize

f1,f2,...,fM

C

N

X

i=1

H

³

y

i

P

M m=1

fm

(

x

i

)

´

+ λ

M

X

m=1

∥f

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

f

m

(

x

i

) =

N

X

j=1

k

m

(

x

i

,

x

j

(m)j

.

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

(9)

. . . . イントロ

行列穴埋め

部分的に観測された行列の未観測部分を低ランク性の仮定を使って 予測する問題.

協調フィルタリング.

minimize

X

1

2

∥Ω(X − Y )∥

2

+ λ

r

X

j=1

σ

j

(

X )

| {z }

特異値の線形和

.

は見えている部分だけを取り出す操作. −30 −2 −1 0 1 2 3 1 2 3 4 |x|0.01 |x|0.5 |x| x2 冨岡 亮太 (東大) 9 / 66

(10)

. . . .

イントロ

行列の空間上の判別問題

判別ラベル 予測関数

y

∈ {−1, +1}

f (X ) =

〈W , X〉 + b

• Multivariate Time Series

s Time e ns or s

• Secondorderstatistics

S

e

• Secondorderstatistics

Sensors 5 10 15 20 25 n s or s 5 10 15 2025 30 3540 45 30 35 40 45 Se n

(11)

. . . . イントロ

テンソルの穴埋め

S e n s o r s T i m e Fe a tu re s F a c to rs (lo a d in g s ) C o re (in t e ra c t io n s ) I 1 I2 I3 I1 I2 I3 r 1 r 2 r 3 r1 r2 r3 T u c k e r d e c o m p o s it io n 冨岡 亮太 (東大) 11 / 66

(12)

. . . .

イントロ

アジェンダ

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

Prox

作用素

(proximity operator)

凸関数の共役

(Legendre

変換

)

Operator splitting

(13)

. . . . 準備

Outline

.

. .

1 イントロ

.

. .

2 準備

.

. .

3 手法

1: Prox

作用素

.

. .

4 手法

2: Legendre

変換

.

. .

5 手法

3: Operator Splitting

.

. .

6 まとめ

.

. .

7

Appendix

冨岡 亮太 (東大) 13 / 66

(14)

. . . . 準備

凸集合

R

nの部分集合

V

は凸集合

⇔ V

の任意の

2

x, y

を結ぶ線分が

V

に入っている.つまり

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

x

y

(15)

. . . . 準備

凸関数

関数

f :

R

n

→ R ∪ {+∞}

が(拡張値)凸関数

関数

f

の“ 弦 ”がつねに関数自身より上にある.つまり

∀x, y ∈ R

n

,

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

<

が成り立つ場合を

strictly convex

と言う.

x

f(x)

y

f(y)

1−λ

λ

冨岡 亮太 (東大) 15 / 66

(16)

. . . . 準備

拡張値凸関数

-

なぜ

+

を許すか

f (x) = +

を許すと定義域(

or

制約)を含めて扱える. 例)

1/x

x > 0

で凸,

f (x) =

(

1/x

(

x > 0),

+

∞ (otherwise).

と定義すればよい.

.

定義(定義関数)

.

.

.

.

.

.

.

.

凸集合

C

の定義関数

δ

Cを以下のように定義する.

δ

C

(

x) =

(

0

(

x

∈ C),

+

∞ (otherwise).

このように定義した

δ

Cは凸関数. 冨岡 亮太 (東大) 16 / 66

(17)

. . . . 準備

凸最適化問題

拡張値凸関数

f

として

minimize

x∈Rn

f (x).

制約付き問題

minimize

x∈Rn

f (x) + δ

C

(

x).

正則化付き最小化問題

minimize

x∈Rn

L(x) + φ

|

{z

λ

(

x)

}

=:f (x)

.

冨岡 亮太 (東大) 17 / 66

(18)

. . . . 手法 1: Prox 作用素

Outline

.

. .

1 イントロ

.

. .

2 準備

.

. .

3 手法

1: Prox

作用素

.

. .

4 手法

2: Legendre

変換

.

. .

5 手法

3: Operator Splitting

.

. .

6 まとめ

.

. .

7

Appendix

冨岡 亮太 (東大) 18 / 66

(19)

. . . .

手法 1: Prox 作用素

Proximal Minimization

(Rockafellar 76)

.

.

.

1

x

0を適当に初期化する.

.

.

.

2 以下を繰り返す.

x

t+1

=

argmin

x

µ

f (x) +

1

t

∥x − x

t

2

良い点

: f

が凸関数であれば必ず収束.しかも速い(超

1

)

∥x

t+1

− x

∥ ≤

1

1 + ση

t

∥x

t

− x

(Tomioka et al. 11)

悪い点

:

そもそも

f (x)

の最小化が難しい時,上の最小化を各ステッ プやるのはつらい. 冨岡 亮太 (東大) 19 / 66

(20)

. . . . 手法 1: Prox 作用素

勾配法

各ステップで

f (x)

x

t の周りで線形化して

Proximal Minimization

する.

x

t+1

=

argmin

x

µ

∇f (x

t

)(

x

− x

t

)

+

1

t

∥x − x

t

2

=

x

t

− η

t

∇f (x

t

)

安定性の条件

:

η

t

≤ 1/L(f )

.

L(f )

は微分

∇f

のリプシッツ 定数

:

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

f

2

階微分可能な場合は

L(f )=

ヘシアンの最大固有値の上限. xt xt+1 x*

(21)

. . . .

手法 1: Prox 作用素 0th Generation Prox Method

0G:

射影付き勾配法

(Bertsekas 99; Nesterov 03) 目的関数を線形化,

δ

Cは束縛条件の定義関数,

x

t+1

=

argmin

x

µ

∇f (x

t

)(x

− x

t

)

+

δ

C

(

x)

+

1

t

∥x − x

t

2

=

argmin

x

µ

δ

C

(

x)

+

1

t

∥x − (x

t

− η

t

∇f (x

t

))

2

=

proj

C

(

x

t

− η

t

∇f (x

t

)).

安定性の条件は制約のない場合 と同様

: η

t

≤ 1/L(f ).

収束の速さ

f (x

k

)

− f (x

)

L(f )

∥x

0

− x

2

2k

もちろん射影

proj

Cが効率的に 計算できることが必要. −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 冨岡 亮太 (東大) 21 / 66

(22)

. . . .

手法 1: Prox 作用素 1st Generation Prox Method

Proximal Operator:

射影の一般化

prox

φλ

(

z) = argmin

x

µ

φλ

(

x)

+

1

2

∥x − z∥

2

凸集合への射影

: proj

C

(

z) = prox

δC

(

z).

Soft-Threshold (φ

λ

(

x) = λ

∥x∥

1

)

prox

λ

(

z) = argmin

x

µ

λ

∥x∥

1

+

1

2

∥x − z∥

2

=

z

j

+ λ

(

z

j

<

−λ),

0

(

−λ ≤ z

j

≤ λ),

z

j

− λ (z

j

> λ).

λ −λ z ST(z) 何らかの意味で分離可能な

φ

λ

Prox

が簡単に計算できる. 微分不可能でも解析的に計算できる.

(23)

. . . .

手法 1: Prox 作用素 1st Generation Prox Method

1G: Iterative Shrinkage Thresholding (IST)

x

t+1

=

argmin

x

µ

∇L(x

t

)(x

− x

t

)

+

φ

λ

(

x)

+

1

t

∥x − x

t

2

=

argmin

x

µ

φ

λ

(

x)

+

1

t

∥x − (x

t

− η

t

∇L(x

t

))

2

=

prox

ληt

(

x

t

− η

t

∇L(x

t

)).

安定性の条件,収束性は射影付き勾 配法と同じ.

(Beck & Teboulle 09)

f (x

k

)

− f (x

)

L(f )

∥x

0

− x

2

2k

Prox

作用素

prox

λが計算できれば 実装簡単.

Forward-Backward Splitting

とも 呼ばれる(Lions & Mercier 76)

(24)

. . . .

手法 1: Prox 作用素 1st Generation Prox Method

IST

を用いた行列穴埋め

(Mazumder et al. 10)

ロス:

L(X ) =

1

2

∥Ω(X − Y )∥

2

.

微分:

∇L(X) = Ω

(Ω(

X

− Y ))

正則化項:

φ

λ

(

X ) = λ

r

X

j=1

σ

j

(

X )

(

特異値の線形和

).

Prox

作用素

(Singular Value

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

か ける,の繰り返し.

(25)

. . . .

手法 1: Prox 作用素 2nd Generation Prox Method

FISTA: IST

の加速版

(Beck & Teboulle 09; Nesterov 07)

.

.

.

1

x

0を適当に初期化,

y

1

=

x

0,

s

1

=

1

とする.

.

.

.

2

x

tを更新

:

x

t

=

prox

ληt

(

y

t

− η

t

∇L(y

t

)).

.

.

.

3

y

t を更新

:

y

t+1

=

x

t

+

µ

s

t

− 1

s

t+1

(

x

t

− x

t−1

)

,

ただし,

s

t+1

=

¡

1 +

q

1 + 4s

t2

¢±

2.

ステップあたりの計算量は

IST

とほぼ同じ.収束性は

O(1/k

2

).

どこの点で勾配ステップを取るべきか予測している感じ? 冨岡 亮太 (東大) 25 / 66

(26)

. . . .

手法 1: Prox 作用素 2nd Generation Prox Method

加速の効果

0 2000 4000 6000 8000 10000 10−8 10−6 10−4 10−2 100 102 ISTA MTWIST FISTA Without acceleration With acceleration 反復数

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

(27)

. . . .

手法 1: Prox 作用素 3rd Generation Prox Method

3G?:

もっとタイトな下限を作るアイディア

IST:

x

t+1

=

argmin

x

µ

∇L(x

t

)(x

− x

t

)

+

φ

λ

(

x)

+

1

t

∥x − x

t

2

xt xt+1 xt+1 xt

IST:

現在の点

x

t で下限を作る.

DAL:

次の点

x

t+1で下限を作る. 冨岡 亮太 (東大) 27 / 66

(28)

. . . .

手法 1: Prox 作用素 3rd Generation Prox Method

次の点で下限を作るには?

下限の傾き

y

をパラメータとして最適化する

:

x

t+1

=

argmin

x

µ

L(x)

+

φ

λ

(

x)

+

1

t

∥x − x

t

2

=

argmin

x

µ

max

y

(

〈x, y〉 − L

(

y ))

+

φ

λ

(

x)

+

1

t

∥x − x

t

2

⇓ Min

Max

の順番を入れ替えて計算する

.

DAL (Tomioka et al 11)

.

.

.

.

.

.

.

.

x

t+1

=

prox

ληt

¡

x

t

− η

t

y

t

¢

,

ただし,

y

t

=

argmax

y

µ

−L

(

y )

1

η

t

Φ

ληt

¡

x

t

− η

t

y

¢¶

冨岡 亮太 (東大) 28 / 66

(29)

. . . .

手法 1: Prox 作用素 3rd Generation Prox Method

DAL

の利点

(ℓ

1

-

正則化の場合

)

(1) Prox

作用素は解析的に計算可能

x

t+1

=

prox

ηtλ

¡

x

t

− η

t

y

t

¢

(2)

内部最適化は微分可能

y

t

=

argmax

y

³

−L

(

y )

| {z }

微分可能

1

t

∥prox

ληt

(

x

t

− η

t

y )

2

|

{z

}

非ゼロ成分の数に比例

´

−λ 0 λ φλ∗(w) Φ λ ∗(w) 冨岡 亮太 (東大) 29 / 66

(30)

. . . .

手法 1: Prox 作用素 3rd Generation Prox Method

DAL

を用いた行列の空間上の判別問題

判別ラベル 予測関数

y

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

• Multivariate Time Series

s Time e ns or s

• Secondorderstatistics

S

e

• Secondorderstatistics

Sensors 5 10 15 20 25 n s or s 51015202530354045 30 35 40 45 Se n 最適化問題

:

minimize

W m

X

i=1

LR

(

y

i

f (X

i

)) + λ

∥W ∥

| {z }

tr 低ランク化 ロジスティック損失

:

LR

(

z

i

) =

log(1 + exp(

−z

i

))

(31)

. . . .

手法 1: Prox 作用素 3rd Generation Prox Method

DAL

を用いた行列の空間上の判別問題

(Tomioka et al 10) 0 50 100 150 0.0001 0.001 0.01 0.1 1 CPU time (s)

Relative duality gap

AG IP PG M−DAL

AG:

加速付き

IST

IP:

内点法

PG:

射影勾配法

M-DAL:

提案法

(32)

. . . . 手法 2: Legendre 変換

Outline

.

. .

1 イントロ

.

. .

2 準備

.

. .

3 手法

1: Prox

作用素

.

. .

4 手法

2: Legendre

変換

.

. .

5 手法

3: Operator Splitting

.

. .

6 まとめ

.

. .

7

Appendix

冨岡 亮太 (東大) 32 / 66

(33)

. . . . 手法 2: Legendre 変換

凸関数の作り方

線形関数の

point-wise maximum

は凸関数.

f (x) = max

i=1,...,k

(

〈a

i

,

x

〉 − b

i

) .

冨岡 亮太 (東大) 33 / 66

(34)

. . . . 手法 2: Legendre 変換

凸共役

(Fenchel-Legendre

変換

)

f

(

y ) = sup

x∈Rn

(

〈y, x〉 − f (x)) .

のように定義される

f

を関数

f

の凸共役と呼ぶ. f(x) f(x)=log(1+exp(−x)) f*(y) 0 −1 f*(−y)=ylog(y)+(1−y)log(1−y)

(35)

. . . . 手法 2: Legendre 変換

注意

: f (x)

は凸でなくてもよい

f (x)

が凸関数であってもなくても

f

(

y )

は凸関数. f*(y) f(x) 冨岡 亮太 (東大) 35 / 66

(36)

. . . . 手法 2: Legendre 変換

凸共役の性質

定義より

∀x, y ∈ R

n

,

f (x) + f

(

y )

≥ 〈y, x〉 .

x

がある

y

に関して

〈y, x〉 − f (x)

を最大化するならば

f

(

y ) =

〈y, x〉 − f (x).

つまり,

f (x) = f

∗∗

(

x) = sup

y

(

〈y, x〉 − f

(

y )) .

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

(37)

. . . . 手法 2: Legendre 変換

凸でない

f

の場合

f

̸= f

∗∗ f(x) f*(y)

f

が微分可能

⇔ f

strictly convex

.

冨岡 亮太 (東大) 37 / 66

(38)

. . . .

手法 2: Legendre 変換

Uzawa’s method (Dual ascent;

双対分解

)

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

:

minimize

x∈Rn,z∈Rm

f (z) + g(x),

subject to

z = Ax.

ラグランジアン

:

L(x, z, α) = f (z) + g(x) +

α

(

z

− Ax)

.

ラグランジアンの最小化は凸共役の計算

−f

(

−α)

=

min

z

¡

f (z) +

­

α

t

,

z

®¢

,

−g

(

A

α)

=

min

x

³

g(x)

D

A

α

t

,

x

.

(39)

. . . .

手法 2: Legendre 変換

Uzawa’s method (Uzawa 58; Bertsekas 99)

ラグランジアンを

x, z

に関して最小化

:

z

t+1

=

argmin

z

¡

f (z) +

­

α

t

,

z

®¢

,

x

t+1

=

argmin

x

¡

g(x)

­

A

α

t

,

x

®¢

.

ラグランジュ乗数

α

t を更新:

α

t+1

= α

t

+ η

t

(

z

t+1

− Ax

t+1

).

ラグランジュ乗数の更新は双対での勾 配法

(dual ascent)

に対応 良い点

:

シンプル! 悪い点

:

凸共役

f

,

g

が微分できないと き劣勾配法

(sub-gradient ascent)

収束するの? 宇澤 弘文 primal dual 冨岡 亮太 (東大) 39 / 66

(40)

. . . .

手法 2: Legendre 変換

Uzawa’s method

を用いた行列穴埋め

(Cai et al. 08)

minimize

X

1

∥z − y∥

2

|

{z

}

Strictly convex

+

³

τ

∥X∥

tr

+

1

2

∥X∥

2

|

{z

}

Strictly convex

´

,

subject to

Ω(

X ) = z.

ラグランジアン

:

L(X , z, α) =

1

∥z − y∥

2

|

{z

}

=f (z)

+

³

τ

∥X∥

tr

+

1

2

∥X∥

2

|

{z

}

=g(x)

´

+ α

(

z

− Ω(X)).

Uzawa’s method:

X

t+1

=

prox

τ

¡

t

)

¢

(Singular-Value Thresholding)

z

t+1

=

y

− λα

t

(41)

. . . .

手法 2: Legendre 変換

Uzawa’s method

を用いた行列穴埋め

(Cai et al. 08)

minimize

X

1

∥z − y∥

2

|

{z

}

Strictly convex

+

³

τ

∥X∥

tr

+

1

2

∥X∥

2

|

{z

}

Strictly convex

´

,

subject to

Ω(

X ) = z.

ラグランジアン

:

L(X , z, α) =

1

∥z − y∥

2

|

{z

}

=f (z)

+

³

τ

∥X∥

tr

+

1

2

∥X∥

2

|

{z

}

=g(x)

´

+ α

(

z

− Ω(X)).

Uzawa’s method:

X

t+1

=

prox

τ

¡

t

)

¢

(Singular-Value Thresholding)

z

t+1

=

y

− λα

t

α

t+1

= α

t

+ η

t

(

z

t+1

− Ω(X

t+1

))

(42)

. . . .

手法 2: Legendre 変換

拡張ラグランジュ法

(Augmented Lagrangian Method)

拡張ラグランジアン

L

η

(

x, z, α) = f (z) + g(x) + α

(

z

− Ax) +

η

2

∥z − Ax∥

2

.

拡張ラグランジュ法

:

拡張ラグランジアンを

x, z

に関して最小化:

(

x

t+1

,

z

t+1

) =

argmin

x∈Rn,z∈Rm

L

ηt

(

x, z, α

t

).

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

α

t+1

= α

t

+ η

t

(

z

t+1

− Ax

t+1

).

良い点

:

ペナルティ項を追加(双対は必ず微分可能になる) 悪い点

: x

z

の間に絡みが発生

!

(別々に最小化できない)

(43)

. . . . 手法 2: Legendre 変換

実は

拡張ラグランジュ法をまじめにやると双対側で

Proximal

Minimization

α

t+1

=

argmin

α∈Rm

³

f

(

−α) + g

(

A

α)

|

{z

}

双対目的関数の符号反転

+

1

t

∥α − α

t

2

´

をやっているのと等価.

DAL (Dual Augmented Lagrangian)

はその逆.

拡張ラグランジュを不真面目に解くと双対側で色々な手法が出て くる.

(44)

. . . .

手法 2: Legendre 変換

対応関係

主問題 双対

厳密 拡張ラグランジアン

Proximal Minimization

Proximal Minimization

DAL

近似

Alternating Minimization

Al-gorithm

Forward-Backward

Splitting

(IST

と等価

)

(Tseng 91)

Alternating Direction Method

of Multipliers

Douglas-Rachford Splitting

(Gabay & Mercier 76)

(Lions & Mercier 76)

(45)

. . . .

手法 2: Legendre 変換

Alternating Direction Method of Multipliers (ADMM;

Gabay & Mercier 76)

拡張ラグランジアンを

x

に関して最小化:

x

t+1

=

argmin

x∈Rn

L

ηt

(

x, z

t

, α

t

).

拡張ラグランジアンを

z

に関して最小化:

z

t+1

=

argmin

z∈Rm

L

ηt

(

x

t+1

,

z, α

t

).

ラグランジュ乗数を更新

:

α

t+1

= α

t

+ η

t

(

z

t+1

− Ax

t+1

).

今更新した

x

t+1

z

t+1の計算に入っているところがポイント. 冨岡 亮太 (東大) 44 / 66

(46)

. . . .

手法 2: Legendre 変換

ADMM (Gabay & Mercier 76)

書き直すと

x

t+1

=

argmin

x∈Rn

³

g(x) +

η

t

2

∥z

t

− Ax + α

t

t

2

´

z

t+1

=

argmin

z∈Rm

³

f (z) +

η

t

2

∥z − Ax

t+1

+ α

t

t

2

´

α

t+1

= α

t

+ η

t

(

z

t+1

− Ax

t+1

).

z

に関する最小化は

Prox

作用素

prox

f(簡単).

x

に関する最小化は行列

A

が変数を絡ませるのでちょっと難しい.

1

反復あたりのコストが同じなら

FBS

より明らかに速い(理論的に は不明)

双対側での

Douglas Rachford Splitting

と等価

ステップサイズ

η

(47)

. . . .

手法 2: Legendre 変換

ADMM (Gabay & Mercier 76)

書き直すと

x

t+1

=

argmin

x∈Rn

³

g(x) +

η

t

2

∥z

t

− Ax + α

t

t

2

´

z

t+1

=

argmin

z∈Rm

³

f (z) +

η

t

2

∥z − Ax

t+1

+ α

t

t

2

´

α

t+1

= α

t

+ η

t

(

z

t+1

− Ax

t+1

).

z

に関する最小化は

Prox

作用素

prox

f(簡単).

x

に関する最小化は行列

A

が変数を絡ませるのでちょっと難しい.

1

反復あたりのコストが同じなら

FBS

より明らかに速い(理論的に は不明)

双対側での

Douglas Rachford Splitting

と等価

ステップサイズ

η

によらず

ADMM

は安定.(Lions & Mercier 76; Eckstein & Bertsekas 92)

(48)

. . . . 手法 2: Legendre 変換

テンソルの穴埋め問題への

ADMM

の適用

凸最適化の適用のポイント

:

テンソルの行列化

(Matricization)

テンソルが

Tucker

分解の意味で低ランク

そのテンソルの行列化は(行列の意味で)低ランク I1 I2 I3 I1 I2 I2 I2 I3 M o d e 1 u n fo ld in g I1 I2 I3 I2 I3 I3 I3 I1 M o d e 2 u n fo ld in g

X

(1)

X

(2)

(49)

. . . . 手法 2: Legendre 変換

テンソルの穴埋め問題への

ADMM

の適用

数学的な定式化

:

minimize

x,z1,...,zK∈RN

1

∥Ωx − y∥

2

+

K

X

k =1

γ

k

∥Z

k

tr

| {z }

低ランク化

,

subject to

P

k

x = z

k

(

k = 1, . . . , K ),

x

は推定すべきテンソルをベクトルとして書いたもの.

y

∈ R

Mは観測.(

M

≪ N = n

1

n

2

· · · n

K

)

ベクトル化,行列化は要素の並び替え(線形変換)に過ぎない.

P

k⊤

P

k

=

I

(置換は直交変換). すべてのモードが同時に低ランクになるように正則化. 冨岡 亮太 (東大) 47 / 66

(50)

. . . . 手法 2: Legendre 変換

テンソルの穴埋め問題への

ADMM

の適用

拡張ラグランジアン

L

η

(

x,

{Z

k

}

Kk =1

,

k

}

Kk =1

) =

1

∥Ωx − y∥

2

+

K

X

k =1

γ

k

∥Z

k

tr

+

K

X

k =1

³

α

k⊤

(

P

k

x

− z

k

) +

η

2

∥P

k

x

− z

k

2

´

.

x

に関する最小化

P

k が直交行列なので解析的に

O(N)

で計算可能.

Z

k

z

kを行列として並べたもの)に関する最小化はトレースノルム に関する

Prox

作用素. ラグランジュ乗数ベクトルは制約の数(モードの数)だけ必要.

(51)

. . . . 手法 2: Legendre 変換

テンソル結果

1:

予測精度

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 10−4 10−2 100 102

Fraction of observed elements

Generalization error As a Matrix (mode 1) As a Matrix (mode 2) As a Matrix (mode 3) Constraint Mixture Tucker (large) Tucker (exact) Optimization tolerance 提案手法

Constraint

35%

くらい見えればほぼ完璧に予測可能. ランクを前もって決める必要なし. 既存手法

Tucker(EM

アルゴリズム

)

はランクが合っていれば

OK

. ランクが間違っていると汎化誤差が収束しない. 冨岡 亮太 (東大) 49 / 66

(52)

. . . . 手法 2: Legendre 変換

テンソル結果

2:

計算速度

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0 10 20 30 40 50

Fraction of observed elements

Computation time (s) As a Matrix Constraint Mixture Tucker (large) Tucker (exact) しかも凸最適化は速い!

(Tomioka et al. 10)

(53)

. . . . 手法 3: Operator Splitting

Outline

.

. .

1 イントロ

.

. .

2 準備

.

. .

3 手法

1: Prox

作用素

.

. .

4 手法

2: Legendre

変換

.

. .

5 手法

3: Operator Splitting

.

. .

6 まとめ

.

. .

7

Appendix

冨岡 亮太 (東大) 51 / 66

(54)

. . . . 手法 3: Operator Splitting

凸最適化

方程式のゼロ点

.

最小化問題

.

.

.

.

.

.

.

.

min

x

f (x) + g(x).

.

方程式のゼロ点

.

.

.

.

.

.

.

.

Find x such that

(

T

f

+

T

g

)(

x)

∋ 0,

where

T

f

= ∂

f ,

T

g

= ∂

g

(

劣微分作用素

).

(Prox

作用素

):

x = prox

f

(

z) = argmin

x∈Rn

µ

f (x

) +

1

2

∥x

− z∥

2

⇔ T

f

(

x) + (x

− z) ∋ 0

⇔ prox

f

(

z) = (I + T

f

)

−1

(

z)

(55)

. . . . 手法 3: Operator Splitting

凸最適化

方程式のゼロ点

.

最小化問題

.

.

.

.

.

.

.

.

min

x

f (x) + g(x).

.

方程式のゼロ点

.

.

.

.

.

.

.

.

Find x such that

(

T

f

+

T

g

)(

x)

∋ 0,

where

T

f

= ∂

f ,

T

g

= ∂

g

(

劣微分作用素

).

(Prox

作用素

):

x = prox

f

(

z) = argmin

x∈Rn

µ

f (x

) +

1

2

∥x

− z∥

2

⇔ T

f

(

x) + (x

− z) ∋ 0

⇔ prox

f

(

z) = (I + T

f

)

−1

(

z)

冨岡 亮太 (東大) 52 / 66

(56)

. . . .

手法 3: Operator Splitting

Forward-Backward Splitting (

⇔ IST)

(Lions & Mercier 76)

minimize

x

f (x) + g(x)

⇔ find x T

f

(

x) + T

g

(

x)

∋ 0

⇔ find x ηT

f

(

x) + ηT

g

(

x)

∋ 0

⇔ find x x + ηT

f

(

x)

∋ x − ηT

g

(

x)

⇔ find x (I + ηT

f

)(

x) = (x

− ηT

g

(

x))

⇔ find x x = prox

ηf

(

x

− ηT

g

(

x))

反復式

:

x

t+1

=

prox

ηtf

(

x

t

− η

t

∇g(x

t

))

Douglas Rachford Splitting

も同様の方法で導出できる(複雑すぎる ので省略)

(57)

. . . .

手法 3: Operator Splitting

Forward-Backward Splitting (

⇔ IST)

(Lions & Mercier 76)

minimize

x

f (x) + g(x)

⇔ find x T

f

(

x) + T

g

(

x)

∋ 0

⇔ find x ηT

f

(

x) + ηT

g

(

x)

∋ 0

⇔ find x x + ηT

f

(

x)

∋ x − ηT

g

(

x)

⇔ find x (I + ηT

f

)(

x) = (x

− ηT

g

(

x))

⇔ find x x = prox

ηf

(

x

− ηT

g

(

x))

反復式

:

x

t+1

=

prox

ηtf

(

x

t

− η

t

∇g(x

t

))

Douglas Rachford Splitting

も同様の方法で導出できる(複雑すぎる ので省略)

(58)

. . . .

手法 3: Operator Splitting

Forward-Backward Splitting (

⇔ IST)

(Lions & Mercier 76)

minimize

x

f (x) + g(x)

⇔ find x T

f

(

x) + T

g

(

x)

∋ 0

⇔ find x ηT

f

(

x) + ηT

g

(

x)

∋ 0

⇔ find x x + ηT

f

(

x)

∋ x − ηT

g

(

x)

⇔ find x (I + ηT

f

)(

x) = (x

− ηT

g

(

x))

⇔ find x x = prox

ηf

(

x

− ηT

g

(

x))

反復式

:

x

t+1

=

prox

ηtf

(

x

t

− η

t

∇g(x

t

))

Douglas Rachford Splitting

も同様の方法で導出できる(複雑すぎる ので省略)

(59)

. . . .

手法 3: Operator Splitting

Forward-Backward Splitting (

⇔ IST)

(Lions & Mercier 76)

minimize

x

f (x) + g(x)

⇔ find x T

f

(

x) + T

g

(

x)

∋ 0

⇔ find x ηT

f

(

x) + ηT

g

(

x)

∋ 0

⇔ find x x + ηT

f

(

x)

∋ x − ηT

g

(

x)

⇔ find x (I + ηT

f

)(

x) = (x

− ηT

g

(

x))

⇔ find x x = prox

ηf

(

x

− ηT

g

(

x))

反復式

:

x

t+1

=

prox

ηtf

(

x

t

− η

t

∇g(x

t

))

Douglas Rachford Splitting

も同様の方法で導出できる(複雑すぎる ので省略)

(60)

. . . .

手法 3: Operator Splitting

Forward-Backward Splitting (

⇔ IST)

(Lions & Mercier 76)

minimize

x

f (x) + g(x)

⇔ find x T

f

(

x) + T

g

(

x)

∋ 0

⇔ find x ηT

f

(

x) + ηT

g

(

x)

∋ 0

⇔ find x x + ηT

f

(

x)

∋ x − ηT

g

(

x)

⇔ find x (I + ηT

f

)(

x) = (x

− ηT

g

(

x))

⇔ find x x = prox

ηf

(

x

− ηT

g

(

x))

反復式

:

x

t+1

=

prox

ηtf

(

x

t

− η

t

∇g(x

t

))

Douglas Rachford Splitting

も同様の方法で導出できる(複雑すぎる ので省略)

(61)

. . . .

手法 3: Operator Splitting

Forward-Backward Splitting (

⇔ IST)

(Lions & Mercier 76)

minimize

x

f (x) + g(x)

⇔ find x T

f

(

x) + T

g

(

x)

∋ 0

⇔ find x ηT

f

(

x) + ηT

g

(

x)

∋ 0

⇔ find x x + ηT

f

(

x)

∋ x − ηT

g

(

x)

⇔ find x (I + ηT

f

)(

x) = (x

− ηT

g

(

x))

⇔ find x x = prox

ηf

(

x

− ηT

g

(

x))

反復式

:

x

t+1

=

prox

ηtf

(

x

t

− η

t

∇g(x

t

))

Douglas Rachford Splitting

も同様の方法で導出できる(複雑すぎる ので省略)

(62)

. . . .

手法 3: Operator Splitting

Forward-Backward Splitting (

⇔ IST)

(Lions & Mercier 76)

minimize

x

f (x) + g(x)

⇔ find x T

f

(

x) + T

g

(

x)

∋ 0

⇔ find x ηT

f

(

x) + ηT

g

(

x)

∋ 0

⇔ find x x + ηT

f

(

x)

∋ x − ηT

g

(

x)

⇔ find x (I + ηT

f

)(

x) = (x

− ηT

g

(

x))

⇔ find x x = prox

ηf

(

x

− ηT

g

(

x))

反復式

:

x

t+1

=

prox

ηtf

(

x

t

− η

t

∇g(x

t

))

Douglas Rachford Splitting

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

(63)

. . . . まとめ

Outline

.

. .

1 イントロ

.

. .

2 準備

.

. .

3 手法

1: Prox

作用素

.

. .

4 手法

2: Legendre

変換

.

. .

5 手法

3: Operator Splitting

.

. .

6 まとめ

.

. .

7

Appendix

冨岡 亮太 (東大) 54 / 66

(64)

. . . . まとめ

メッセージ

ブラックボックス最適化から中身を考慮した最適化へ 微分不可能でも怖くない

Prox

作用素や凸共役を計算しよう

(65)

. . . . Appendix

Outline

.

. .

1 イントロ

.

. .

2 準備

.

. .

3 手法

1: Prox

作用素

.

. .

4 手法

2: Legendre

変換

.

. .

5 手法

3: Operator Splitting

.

. .

6 まとめ

.

. .

7

Appendix

冨岡 亮太 (東大) 56 / 66

(66)

. . . . Appendix

凸共役の性質

(contd.)

凸共役(

Legendre

変換)と畳み込み

:

(

f + g)

(

y ) = inf

α

(

f

(

y

− α) + g

(α)) .

最小化と凸共役

:

inf

x

f (x) =

− sup

x

(〈0, x〉 − f (x)) = −f

(

0).

Fenchel

双対

:

inf

x

(f (x) + g(x)) =

−(f + g)

(

0) = sup

α

(

−f

(

−α) − g

(α)) .

(67)

. . . . Appendix

凸共役の性質

(contd.)

凸共役(

Legendre

変換)と畳み込み

:

(

f + g)

(

y ) = inf

α

(

f

(

y

− α) + g

(α)) .

最小化と凸共役

:

inf

x

f (x) =

− sup

x

(

〈0, x〉 − f (x)) = −f

(

0).

Fenchel

双対

:

inf

x

(f (x) + g(x)) =

−(f + g)

(

0) = sup

α

(

−f

(

−α) − g

(α)) .

冨岡 亮太 (東大) 57 / 66

(68)

. . . . Appendix

凸共役の性質

(contd.)

凸共役(

Legendre

変換)と畳み込み

:

(

f + g)

(

y ) = inf

α

(

f

(

y

− α) + g

(α)) .

最小化と凸共役

:

inf

x

f (x) =

− sup

x

(

〈0, x〉 − f (x)) = −f

(

0).

Fenchel

双対

:

inf

x

(

f (x) + g(x)) =

−(f + g)

(

0) = sup

α

(

−f

(

−α) − g

(α)) .

(69)

. . . . Appendix

Fenchel

双対定理

inf

x

(

f (Ax) + g(x)) = sup

α

³

−f

(

−α) − g

(

A

α)

´

.

等式制約付き最適化問題

minimize

x∈Rn,z∈Rm

f (z) + g(x),

subject to

Ax = z

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

(70)

. . . . Appendix

Fenchel

双対の例

(1): SVM

.

主問題

.

.

.

.

.

.

.

.

min

w

f (y

◦ Xw) + φ

λ

(

x)

f (z) =

m

X

i=1

max(0, 1

− z

i

),

φ

λ

(

x) =

λ

2

∥x∥

2

.

.

双対問題

.

.

.

.

.

.

.

.

max

α

−f

(

−α) − φ

λ

(

X

◦ y))

f

(

−α)=

(P

m i=1

−α

i

(0

≤ α ≤ 1),

+

(oterwise),

φ

λ

(

v ) =

1

∥v∥

2

.

冨岡 亮太 (東大) 59 / 66

(71)

. . . .

Appendix

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

.

主問題

.

.

.

.

.

.

.

.

min

w

f (y

◦ Xw) + φ

λ

(

x)

f (z) =

m

X

i=1

log(1 + exp(

−z

i

)),

φ

λ

(

x) =

λ

2

∥x∥

2

.

.

双対問題

.

.

.

.

.

.

.

.

max

α

−f

(

−α) − φ

λ

(

X

◦ y))

f

(

−α)=

m

X

i=1

α

i

log(α

i

)

+(1

− α

i

)

log(1

− α

i

),

φ

λ

(

v ) =

1

∥v∥

2

,

(a) primal losses

O 1 Hinge Loss Logistic Loss (b) dual losses O 1 Hinge Loss Logistic Loss 冨岡 亮太 (東大) 60 / 66

(72)

. . . . Appendix

Fenchel

双対の例

(3):

線形計画

.

主問題

.

.

.

.

.

.

.

.

(P)

min

c

x,

s.t.

Ax = b, x

≥ 0.

.

主問題’

.

.

.

.

.

.

.

.

(P

)

min

x

f (Ax) + g(x)

f (z) =

(

0

(

z = b),

+

∞ (otherwise),

g(x) =

(

c

x

(

x

≥ 0),

+

∞ (otehrwise).

.

双対問題

.

.

.

.

.

.

.

.

(D)

max

b

y ,

s.t.

A

y

≤ c.

.

双対問題’

.

.

.

.

.

.

.

.

(D

)

max

y

−f (−y) − g(A

y )

f

(

y ) = b

y ,

g

(α) =

(

0

≤ c),

+

∞ (oterwise).

冨岡 亮太 (東大) 61 / 66

(73)

. . . . Appendix

凸じゃない最適化は?

一般的に対処するのは困難 基本的な方針は凸最適化を繰り返し解くこと EM

Difference of Convex (DC) programming CCCP

(74)

. . . .

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.

参照

関連したドキュメント

Dual averaging and proximal gradient descent for online alternating direction multiplier method. Stochastic dual coordinate ascent with alternating direction method

Proof of Theorem 2: The Push-and-Pull algorithm consists of the Initialization phase to generate an initial tableau that contains some basic variables, followed by the Push and

Proof of Theorem 2: The Push-and-Pull algorithm consists of the Initialization phase to generate an initial tableau that contains some basic variables, followed by the Push and

We start with some introductory materials to the over-relaxed η- proximal point algorithm based on the notion of maximal η-monotonicity, and recall some investigations on

It is suggested by our method that most of the quadratic algebras for all St¨ ackel equivalence classes of 3D second order quantum superintegrable systems on conformally flat

The purpose of this paper is to introduce and consider new hybrid proximal-type algorithms for finding a common element of the set EP of solutions of a generalized equilibrium

We introduce hybrid-iterative schemes for solving a system of the zero-finding problems of maximal monotone operators, the equilibrium problem, and the fixed point problem of

We prove that the class of this extension is the image of a canonical class that we dene in the Hochschild 3-cohomology of H (B); corresponding to a component of its A 1