rinko2010
-
Upload
seiya-tokui -
Category
Technology
-
view
5.446 -
download
0
description
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 の重み更新と予測をもっと速くしたい