rinko2010

Post on 28-May-2015

5.447 views 0 download

Tags:

description

東大情報理工の数理輪講で発表したときのスライド資料です。CRF, Structured Perceptron, DPLVM (LD-CRF), Latent Variable Perceptron についての説明で、機械学習を専門としていない人も対象としています。

Transcript of rinko2010

系列ラベリングの機械学習CRF から潜在変数パーセプトロンまで

2010年12月10日 第10回数理情報学輪講東京大学大学院情報理工学系研究科 中川研究室修士 1 年 得居誠也 (指導教員 中川裕志教授)

文献紹介

発表の概要

2

機械学習における系列ラベリング問題に対して, ラベル間の潜在的な関係を考慮しながら高速に学習できる手法 Latent Variable Perceptron [Sun+, 09] を紹介

‣系列ラベリングの問題設定と, 確率的識別モデルによる学習についての基礎事項を解説‣そこに至るまでの, 2001 年以降の研究の一連の流れを, 4 本の論文に沿って概説

紹介する 4 本の論文

3

[Lafferty+, 01] Conditional Random Fields: Probabilistic Models for Segmenting and Labeling Sequence Data. John Lafferty, Andrew McCallum, Fernando Pereira. Proceedings of ICML’01, 2001.

[Collins, 02] Discriminative training methods for hidden markov models: Theory and experiments with perceptron algorithms. Michael Collins. Proceedings of EMNLP’02, 2002.

[Morency+, 07] Latent-dynamic discriminative models for continuous gesture recognition. Louis-Philippe Morency, Ariadna Quattoni, and Trevor Darrell. Proceedings of CVPR’07, 2007.

[Sun+, 09] Latent Variable Perceptron Algorithm for Structured Classification. Xu Sun, Takuya Matsuzaki, Daisuke Okanohara and Jun’ichi Tsujii. Proceedings of IJCAI’09, 2009

発表の流れ

4

‣系列ラベリングの問題設定‣ 4 つの手法の紹介

確率モデル Perceptron

潜在変数なし

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

系列ラベリング

5

x = x1 x2 …

y = y1 y2 ym…

観測系列

ラベル列

y1, . . . , ym ∈ Y : ラベル集合

観測系列だけを見て推定したい

xm

系列ラベリング (例: NP-chunking)

6

He is her brother .

NP NP

B O B I O

名詞句チャンキング (NP-chunking)x1 x2 x3 x4 x5

y1 y2 y3 y4 y5

Y = {B, I,O}

発表の流れ

7

‣系列ラベリングの問題設定‣ 4 つの手法の紹介

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

……

……

確率的識別モデルの学習

8

……

. . .

. . .

訓練集合

確率モデル (  : パラメータ)P (y|x,Θ)

       が大きくなるような  を学習

Θ

Θ

{(xi,y∗i )}d

i=1

d

P (y∗i |xi,Θ)

確率的識別モデルの学習

9

確率モデル (  : パラメータ)P (y|x,Θ)

Θ

…x 予測

y = argmaxy

P (y|x,Θ)観測系列

素性ベクトルとスコア

10

…… (x,y)

f(y,x) Θ

�→

素性

素性ベクトル

= =

f1(y,x)f2(y,x)

...

...fn(y,x)

·

Θ1

Θ2......

Θn

= F (y|x,Θ)

パラメータ

スコア  はすごく大きい (e.g. 108)n

対数線形モデル

11

対数線形モデルの条件付き分布

P (y|x,Θ) =1Z

exp F (y|x,Θ)�

Z =�

y�

expF (y�|x,Θ)�

F (y|x,Θ) = f(y,x) · Θ

argmaxy

P (y|x,Θ) = argmaxy

F (y|x,Θ)

•   は正規化のための係数•スコアを最大化するラベル列が予測となる:

1/Z

対数線形モデル

12

対数線形モデルの条件付き分布

P (y|x,Θ) =1Z

exp F (y|x,Θ)�

Z =�

y�

expF (y�|x,Θ)�

F (y|x,Θ) = f(y,x) · Θ

argmaxy

P (y|x,Θ) = argmaxy

F (y|x,Θ)

•   は正規化のための係数•スコアを最大化するラベル列が予測となる:

1/Z全探索するとの計算量になってしまう

O(|Y |m)

CRF: Conditional Random Field (sequential)

13

[Lafferty+, 01]…… yj−1 yj

s(j,x, yj)t(j,x, yj−1, yj)

�局所素性

state 素性edge 素性

条件: 各素性が局所素性の和になっている⇒

最大スコアのラベル列を効率よく計算できるViterbi アルゴリズム (DP) など

CRF: Conditional Random Field (sequential)

14

[Lafferty+, 01]…… yj−1 yj

s(j,x, yj)t(j,x, yj−1, yj)

�局所素性

state 素性edge 素性

条件: 各素性が局所素性の和になっている⇒

最大スコアのラベル列を効率よく計算できるViterbi アルゴリズム (DP) など

この条件を入れたものが CRF

CRF の学習

15

次の最適化問題を解いて, 最適なパラメータを求める

: 正則化項 (  の複雑さを表す)R(Θ) Θ

準ニュートン法 (L-BFGS) など

maximized�

i=1

log P (y∗i |xi,Θ)−R(Θ)

パラメータが高次元の場合, 最適化にとても時間がかかる

発表の流れ

16

‣系列ラベリングの問題設定‣ 4 つの手法の紹介

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Structured Perceptron

17

[Collins, 02]‣先の最適化問題を解くのは諦める ‣各    のスコア             が相対的に大きくなるように, 逐次的にパラメータを更新

(xi,y∗i )

……

(xi,y∗i ) 予測

Θi+1 = Θi

F (y∗i |xi,Θ) = Θ · f(y∗

i ,xi)

yi �= y∗i yi = y∗

i

Θi+1 = Θi + f(y∗i ,xi)− f(yi,xi)

yi = argmaxy

F (y|xi,Θi)

Θi+1 = Θi + f(y∗i ,xi)− f(yi,xi)

Structured Perceptron

18

[Collins, 02]

F (y∗i |xi,Θi+1)− F (yi|xi,Θi+1)

= F (y∗i |xi,Θi)− F (yi|xi,Θi) + �f(y∗

i ,xi)− f(yi,xi)�22

正解ラベル列 誤った予測

≥ 0

Θi+1 · (f(y∗i ,xi)− f(yi,xi))

= Θi · (f(y∗i ,xi)− f(yi,xi)) + �f(y∗

i ,xi)− f(yi,xi)�22

Θi+1 = Θi + f(y∗i ,xi)− f(yi,xi)

Structured Perceptron

19

[Collins, 02]

正解ラベル列 誤った予測

正解ラベル列  のスコアが, 間違えた予測ラベル列のスコアに比べて相対的に高くなる

y∗i yi

F (y∗i |xi,Θi+1)− F (yi|xi,Θi+1)

= F (y∗i |xi,Θi)− F (yi|xi,Θi) + �f(y∗

i ,xi)− f(yi,xi)�22

≥ 0

Structured Perceptron の理論的な評価

20

[Collins, 02]‣実用上はこの更新式でよい性能が得られる‣しかしこの段階では, 理論上の根拠がない

CRF と異なり, 確率モデルではない

mistake bound という指標で評価

アルゴリズムを  個の訓練データに対して一回ずつ適用したときの, 予測が外れた回数  の上界M

d

分離可能性 separability

21

としたとき, 次のように定義する.

G(xi) = {all possible label sequences for an example xi},G(xi) = G(xi)− {y∗

i }

[Collins, 02]

定義       がマージン   で分離可能 ⇔      なるベクトル  が存在して次が成立

δ > 0�U�2 = 1 U

{(xi,y∗i )}d

i=1

∀i,∀z ∈ G(xi), F (y∗i |xi,U)− F (z|xi,U) ≥ δ.

正解ラベル列のスコア 不正解ラベル列のスコア

ただし  はを満たす定数.

分離可能な場合の mistake bound

22

定理 マージン   で分離可能な訓練集合      に対して, Structured Perceptron アルゴリズムの誤予測回数  は次式で押さえられる.

δ > 0

R

{(xi,y∗i )}d

i=1

[Collins, 02]

M

M ≤ R2

δ2

データの特性や素性の入れ方だけで決まり, データ数  に依存しない.d

∀i,∀z ∈ G(xi), �f(y∗i ,xi)− f(z,xi)�2 ≤ R

発表の流れ

23

‣系列ラベリングの問題設定‣ 4 つの手法の紹介

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

ラベル間に潜在的な依存関係がある例

24

与えられたラベル集合だけでは直接読み取れない隠れた依存関係があるようなケース

They are her flowers

B O B I

They gave her flowers

B O B B

.O

.O

B

B

are

gave

与えられたラベル集合だけでは直接読み取れない隠れた依存関係があるようなケース

ラベル間に潜在的な依存関係がある例

25

They are her flowers

B O B I

They gave her flowers

B O B B

.O

.O

B

B

B1

B2

DPLVM

26

- Discriminative Probabilistic Latent Variable Model

[Morency+, 07]各ラベルをいくつかの潜在ラベルへと分割

Y = { B , I , O }

いくつかの「潜在ラベル」を一つのラベルに対応させる

HB = { B1 , . . . , B|HB| }

分割する数   は自分で決める |HB|

DPLVM

27

- Discriminative Probabilistic Latent Variable Model

[Morency+, 07]ラベル列のほかに潜在変数列を考える

y1 y2 ym…

h1 h2 hm…

y =

h =

∀j, hj ∈ Hyj

def.⇐⇒ Proj(h) = y

一意 任意性がある訓練データにある訓練データにない

DPLVM の素性ベクトルとスコア

28

……

Θ

�→

素性

素性ベクトル

= =

パラメータ

スコア

(x,h)

f1(h,x)f2(h,x)

...

...fn(h,x)

·

Θ1

Θ2......

Θn

= F (h|x,Θ)

f(h,x)

[Morency+, 07]

CRF のときより高次元

DPLVM の条件付き分布

29

P (h|x,Θ) =1Z

exp F (h|x,Θ)�

Z =�

h�

expF (h�|x,Θ)�

F (h|x,Θ) = f(h,x) ·Θ

潜在変数列  の条件付き分布h

素性ベクトル    は CRF と同じように書けるとするf(h,x)

                  が高速に計算できる

argmaxh

P (h|x,Θ) = argmaxh

F (h|x,Θ)

[Morency+, 07]

正解ラベル列  に対応する  を全部考えることにする

DPLVM の学習

30

各訓練データ    には潜在変数列  は含まれない➡CRF のように     を使って直ちに最適化問題を作ることはできない

(xi,y∗i ) h

P (h|x,Θ)

y∗i h

P (y|x,Θ) =�

h

P (y|h,x,Θ)P (h|x,Θ)

=�

h:Proj(h)=y

P (h|x,Θ)

[Morency+, 07]

DPLVM の学習

31

[Morency+, 07]CRF と同様に次の最適化問題を解く

: 正則化項 (  の複雑さを表す)R(Θ) Θ

準ニュートン法 など

maximized�

i=1

log P (y∗i |xi,Θ)−R(Θ)

パラメータが高次元の場合, 最適化にとても時間がかかる (しかも CRF よりも高次元)

発表の流れ

32

‣系列ラベリングの問題設定‣ 4 つの手法の紹介

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Latent Variable Perceptron

33

紹介論文 [Sun+, 09]

……

(xi,y∗i )

Θi+1 = Θi

yi �= y∗i yi = y∗

i

Θi+1 = Θi + f(h∗i ,xi)− f(h,xi)

h∗iとしたいが,  は与えられていない……

hi = argmaxh

F (hi|xi,Θ),

yi = Proj(hi)

→ 代わりに                を使うh∗i = argmax

h:Proj(h)=y∗i

F (h|xi,Θi)

分離可能な場合の mistake bound

34

紹介論文 [Sun+, 09]

定理 マージン   で分離可能な訓練集合      に対して, Latent Variable Perceptron アルゴリズムの誤予測回数  は次式で押さえられる.

δ > 0{(xi,y∗

i )}di=1

ただし  は訓練データ数  に依らない定数. また

M

M ≤ 2T 2M2

δ2

M = maxi,y

�f(y,xi)�2 .

T d

発表の流れ

35

‣系列ラベリングの問題設定‣ 4 つの手法の紹介

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

実験 (合成データ)

36

‣単語集合‣ラベル集合‣潜在ラベル集合‣あらかじめ決めてある遷移確率      と単語の生成確率     に従って  と  を生成する (後述)‣ラベル列は      と決める

Y = {A,B}HA = {A1,A2}, HB = {B1,B2}

X = {a, b}

h xy = Proj(h)

‣訓練集合      とテスト集合を作り, 訓練集合を使ってパラメータを学習後, テスト集合の単語列だけからラベル列を予測し, 正解した割合 (accuracy) を見る‣訓練集合, テスト集合共に 3000 例, 長さは 16 で固定

{(xi,y∗i )}d

i=1

P (hj |hj−1)P (xj |hj)

実験 (合成データ)

37

‣潜在ラベル列の遷移確率 ( は定数)from \ to

A1

A1

A2

A2

B1

B1

B2

B2

p

p

p

p(1− p)/3 (1− p)/3 (1− p)/3

(1− p)/3 (1− p)/3 (1− p)/3

(1− p)/3

(1− p)/3

(1− p)/3 (1− p)/3

(1− p)/3 (1− p)/3

p

‣単語の生成確率

0.1 0.7 0.7 0.6

P (xi = a|hi)

hi = A1 hi = A2 hi = B2hi = B1

実験 (合成データ)

38

40

50

60

70

80

90

100

0.5 0.55 0.6 0.65 0.7 0.75 0.8 0.85 0.9 0.95

Latent Variable Perceptron Structured Perceptron

accu

racy

[%]

p

まとめ

39

‣系列ラベリングの問題設定を説明した. 具体例として名詞句チャンキング問題について説明した.‣系列ラベリングの学習に広く用いられている手法として CRF と Structured Perceptron について概説した.- Structured Perceptron の mistake bound を紹介‣ラベル間に潜在的な依存関係があるケースについて触れ, 潜在変数を導入した DPLVM を紹介した.‣潜在変数を入れた系列ラベリングのモデルを高速に学習するための Latent Variable Perceptron を概説した.- こちらについても mistake bound を紹介‣合成データを用いて, 潜在的な依存関係を実際に学習できることを示した.

今後の課題

40

‣潜在変数の個数をどのように決めればよいか?- 現状は各ラベルに対して同数. 交差検定などで決める.- データの性質から自動的に決定できないか

‣ Latent Variable Perceptron の重み更新と予測をもっと速くしたい