40
系列ラベリングの機械学習 CRF から潜在変数パーセプトロンまで 2010121010回数理情報学輪講 東京大学大学院情報理工学系研究科 中川研究室 修士 1 年 得居誠也 (指導教員 中川裕志教授) 文献紹介

rinko2010

Embed Size (px)

DESCRIPTION

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

Citation preview

Page 1: rinko2010

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

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

文献紹介

Page 2: rinko2010

発表の概要

2

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

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

Page 3: rinko2010

紹介する 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

Page 4: rinko2010

発表の流れ

4

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

確率モデル Perceptron

潜在変数なし

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Page 5: rinko2010

系列ラベリング

5

x = x1 x2 …

y = y1 y2 ym…

観測系列

ラベル列

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

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

xm

Page 6: rinko2010

系列ラベリング (例: 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}

Page 7: rinko2010

発表の流れ

7

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

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Page 8: rinko2010

……

……

確率的識別モデルの学習

8

……

. . .

. . .

訓練集合

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

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

Θ

Θ

{(xi,y∗i )}d

i=1

d

P (y∗i |xi,Θ)

Page 9: rinko2010

確率的識別モデルの学習

9

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

Θ

…x 予測

y = argmaxy

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

Page 10: rinko2010

素性ベクトルとスコア

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

Page 11: rinko2010

対数線形モデル

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

Page 12: rinko2010

対数線形モデル

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)

Page 13: rinko2010

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) など

Page 14: rinko2010

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

Page 15: rinko2010

CRF の学習

15

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

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

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

maximized�

i=1

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

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

Page 16: rinko2010

発表の流れ

16

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

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Page 17: rinko2010

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)

Page 18: rinko2010

Θ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

Page 19: rinko2010

Θ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

Page 20: rinko2010

Structured Perceptron の理論的な評価

20

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

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

mistake bound という指標で評価

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

d

Page 21: rinko2010

分離可能性 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) ≥ δ.

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

Page 22: rinko2010

ただし  はを満たす定数.

分離可能な場合の 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

Page 23: rinko2010

発表の流れ

23

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

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Page 24: rinko2010

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

24

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

They are her flowers

B O B I

They gave her flowers

B O B B

.O

.O

B

B

are

gave

Page 25: rinko2010

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

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

25

They are her flowers

B O B I

They gave her flowers

B O B B

.O

.O

B

B

B1

B2

Page 26: rinko2010

DPLVM

26

- Discriminative Probabilistic Latent Variable Model

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

Y = { B , I , O }

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

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

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

Page 27: rinko2010

DPLVM

27

- Discriminative Probabilistic Latent Variable Model

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

y1 y2 ym…

h1 h2 hm…

y =

h =

∀j, hj ∈ Hyj

def.⇐⇒ Proj(h) = y

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

Page 28: rinko2010

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 のときより高次元

Page 29: rinko2010

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]

Page 30: rinko2010

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

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]

Page 31: rinko2010

DPLVM の学習

31

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

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

準ニュートン法 など

maximized�

i=1

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

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

Page 32: rinko2010

発表の流れ

32

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

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Page 33: rinko2010

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)

Page 34: rinko2010

分離可能な場合の 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

Page 35: rinko2010

発表の流れ

35

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

確率モデル Perceptron

非潜在変数

潜在変数モデル

1 2

3 4

CRF(Conditional Random Field)

DPLVM(Discriminative Probabilistic Latent Variable Model)

Structured Perceptron

Latent Variable Perceptron

‣実験, まとめ

Page 36: rinko2010

実験 (合成データ)

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)

Page 37: rinko2010

実験 (合成データ)

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

Page 38: rinko2010

実験 (合成データ)

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

Page 39: rinko2010

まとめ

39

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

Page 40: rinko2010

今後の課題

40

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

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