39
人人人人人人 II 人 10 人 人人 1

人工知能特論 II  第 10 回

  • Upload
    gyula

  • View
    68

  • Download
    0

Embed Size (px)

DESCRIPTION

人工知能特論 II  第 10 回. 二宮 崇. 今日の講義の予定. HMM の前向き後向きアルゴリズムによるパラメータ学習 生成モデルと識別モデル 教科書 北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル 東大出版会 Christopher M. Bishop “PATTERN RECOGNITION AND MACHINE LEARNING” Springer, 2006. HMM の教師無し学習 Unsupervised Learning of HMMs. パラメータ推定 訓練データ ( 入力 ) パラメータ ( 出力 ). - PowerPoint PPT Presentation

Citation preview

Page 1: 人工知能特論 II  第 10 回

1

人工知能特論 II  第 10 回二宮 崇

Page 2: 人工知能特論 II  第 10 回

2

今日の講義の予定

HMM の前向き後向きアルゴリズムによるパラメータ学習

生成モデルと識別モデル教科書

北研二 ( 著 ) 辻井潤一 ( 編 ) 言語と計算 4 確率的言語モデル 東大出版会

Christopher M. Bishop “PATTERN RECOGNITION AND MACHINE LEARNING” Springer, 2006

Page 3: 人工知能特論 II  第 10 回

3

HMM の教師無し学習Unsupervised Learning of HMMs

パラメータ推定 訓練データ ( 入力 )

パラメータ ( 出力 )

n

i QqQqQqiTTii

ba

n

iiTii

ba

n

ii

ba

iT

ii

i

oqoqoqp

ooop

xpba

1 ,,2211

,,

121

,,

1,,

21

)(maxarg

)(maxarg

)(maxarg,,

の記号列長

とする。。単語列文を表す記号列

訓練データ

ii

iTiiiii

n

xT

ooooxx

xxx

i

:

)(:

:

321

21

Page 4: 人工知能特論 II  第 10 回

4

HMM の EM アルゴリズム

n

q

n

ooqqqp

n

qqooqqp

n

i QqQqTT

n

i QqQqTT

q

iT

ii

iT

ii

となる回数の期待値先頭が

1 ,,12

1 ,,111

2

1

);|(

])[;|(

パラメータ更新式π, a, b を π’, a’, b’ に更新

Page 5: 人工知能特論 II  第 10 回

5

HMM の EM アルゴリズム

に遷移する回数からの中で rqqqqqrqC TT 11 );,(

待値から遷移する回数の期状態値へ遷移する回数の期待から状態状態

q

rq

qqrqCooqqp

qqrqCooqqp

qrqqooqqp

qrqqooqqp

a

Qr

n

i QqQqTTT

n

i QqQqTTT

Qr

n

i QqQq

T

tttTT

n

i QqQq

T

tttTT

rq

iT

iii

iT

iii

iT

i

ii

iT

i

ii

1 ,,111

1 ,,111

1 ,, 2111

1 ,, 2111

,

1

1

1

1

);,();|(

);,();|(

]][[);|(

]][[);|(

パラメータ更新式π, a, b を π’, a’, b’ に更新

Page 6: 人工知能特論 II  第 10 回

6

HMM の EM アルゴリズム

を出力する回数からの中で oqooqqooqqoqC TTTT 1111 ),;,(

が出現した回数の中でqqqqqqC TT 11 );(

値に滞在する回数の期待状態値を出力する回数の期待に滞在し記号状態

q

oq

qqqCooqqp

ooqqoqCooqqp

ooqqooqqp

ooqqooqqp

b

n

i QqQqTTT

n

i QqQqTTTT

o

n

i QqQq

T

tttTT

n

i QqQq

T

tttTT

oq

iT

iii

iT

iiii

iT

i

ii

iT

i

ii

1 ,,111

1 ,,1111

1 ,, 111

1 ,, 111

,

1

1

1

1

);();|(

),;,();|(

]][[);|(

]][[);|(

パラメータ更新式π, a, b を π’, a’, b’ に更新

Page 7: 人工知能特論 II  第 10 回

7

HMM のための EM アルゴリズムの問題点

期待値を計算するために全ての可能な隠れ状態を列挙すると文長に対し、指数爆発的計算量が必要

解決策:前向き後向きアルゴリズム。隠れ状態を列挙することなく、この期待値を計算する動的計画法。

Page 8: 人工知能特論 II  第 10 回

8

前向きアルゴリズムと後ろ向きアルゴリズム

Page 9: 人工知能特論 II  第 10 回

9

前向きアルゴリズム (1/3)

動的計画法

状態 1

o1 o2 oT

トレリス

o3

状態 2

状態 3

状態 4

α(t, q): o1 … ot を出力し、 ot が出力される時 ( 時刻 t) に状態 q である確率

全ての t,q に対し、 α(t, q) を求めれば良い

時刻 1 2 3 T出力記号

QqQqoqqq

t

uoqqqoqq

t

ttuuuubababqt

11

11111,,

,,

1

2,,,),(

Page 10: 人工知能特論 II  第 10 回

10

前向きアルゴリズム (2/3)

o1 o2 oTot-1

状態 q

Qqoqqqt

Qq QqQqoqqqoqqq

t

uoqqqoqq

QqQqoqqq

t

uoqqqoqq

t

tt

t t

ttttttuuuu

t

ttuuuu

baqt

bababab

bababqt

1

1

1 21

111121111

11

11111

,,1

,,,,,,

2

2,,,

,,,,

1

2,,,

),1(

),(

ot

状態 1

状態 2

全ての遷移確率の和

Page 11: 人工知能特論 II  第 10 回

11

α[1,q] := π[q]b[q,o1] (for all q)

for t =2 to T for q ∈ Q α[t, q] := Σq’∈Q {α[t-1, q’]a[q’,q]b[q, ot]}

前向きアルゴリズム (3/3)

Page 12: 人工知能特論 II  第 10 回

12

後ろ向きアルゴリズム (1/3)

前向きアルゴリズムを逆方向に適用 文末から文頭に向かって実行 向きが逆になることを除けば前向きアルゴリズムと

まったく同じ β(t, q) : 時刻 t に状態 q から始める状態遷移に

よって ot+1…oT まで出力する確率

QqQq

T

tuoqqqoqqq

Tt

uuuutttbabaqt

,, 2,,,,

1

1111),(

Page 13: 人工知能特論 II  第 10 回

13

後ろ向きアルゴリズム (2/3)

o1 o2 oTot

状態 q

ot+1

状態 1

状態 2

全ての遷移確率の和

Qqtoqqq

Qq QqQq

T

tuoqqqoqqqoqqq

QqQq

T

tuoqqqoqqq

t

ttt

t nt

uuuuttttttt

Tt

uuuuttt

qtba

bababa

babaqt

1

111

1 2

12221111

1

1111

),1(

),(

1,,

,, 3,,,,,,

,, 2,,,,

Page 14: 人工知能特論 II  第 10 回

14

後ろ向きアルゴリズム (3/3)

β[T,q] := 1 (for all q)for t := T-1 to 1 for q ∈ Q β[t, q] := Σq’∈Q {a[q, q’]b[q’, ot+1]β[t+1, q’]}

Page 15: 人工知能特論 II  第 10 回

15

前向き後ろ向きアルゴリズムの導出

Page 16: 人工知能特論 II  第 10 回

16

前向き後ろ向きアルゴリズム : 生成確率

生成確率

Qq

iQqQq

TTT qToqoqpoopiT

iii),()()(

,,111

1

Page 17: 人工知能特論 II  第 10 回

17

前向き後ろ向きアルゴリズム : π’

n

iQq

i

n

ioqq

T

n

i QqQq

T

toq

T

tqqoqqqoqq

T

n

i QqQqTTq

qT

qq

n

qboopn

bababoopn

qqooqqpn

i

iT

i

tt

i

tt

i

iT

ii

1'

1,

1

1 ,, 3,

3,,,,

1

1 ,,111

)',(

),1(),1(1

),1();(

11

);(

11

])[;|(1

1

2

12221

1

Page 18: 人工知能特論 II  第 10 回

18

前向き後ろ向きアルゴリズム : π’

o1 o2 oT

状態 q

後向き確率

n

iQq

i

n

ioqq

Tq qT

qq

nqb

oopni 1

'1

,1 )',(

),1(),1(1),1(

);(

111

Page 19: 人工知能特論 II  第 10 回

19

前向き後ろ向きアルゴリズム : a’

n

i

T

torrq

T

n

i

T

t QqQqoqqq

t

uoqqqoqqorrq

T

n

i

T

t QqQqorrqoqqq

t

uoqqqoqq

T

n

i

T

t QqQq QqQq

T

tuoqqqoqqrorrqoqqq

t

uoqqqoqq

T

n

i

T

t QqQq QqQq

T

tuoqqqoqqrorrqoqqq

t

uoqqqoqq

T

n

i

T

t QqQqtt

T

tuoqqqoqqqoqqqoqqq

t

uoqqqoqq

T

n

i

T

t QqQqtt

T

uoq

T

uqqq

T

n

i QqQq

T

ttt

T

uoq

T

uqqq

T

n

i QqQq

T

tttTTrq

i

t

i

i

t

ttuuuut

i

i

t

tttuuuu

i

i

t iTt

i

uuuuttttttuuuu

i

i

t iTt

i

uuuuttttttuuuu

i

i

iT

i

uuuuttttttttttttuuuu

i

i

iT

i

uu

i

uu

i

iT

ii

uu

i

uu

i

iT

i

ii

rtbaqtoop

bababrtbaoop

rtbabababoop

babababababoop

babababababoop

qrqqbabababababoop

qrqqbaoop

qrqqbaoop

qrqqooqqpa

1 2,,

1

1 2 ,,,,

2

2,,,,,

1

1 2 ,,,,,,

2

2,,,

1

1 2 ,, ,, 2,,,,,,,,

2

2,,,

1

1 2 ,, ,, 2,,,,,,,,

2

2,,,

1

1 2 ,,1

2,,,,,,,,

2

2,,,

1

1 2 ,,1

1,

2,

1

1 ,, 21

1,

2,

1

1 ,, 2111,

),(),1();(

1

),();(

1

),();(

1

);(

1

);(

1

]][[);(

1

]][[);(

1

]][[);(

1

]][[);|(

21

121111

21

121111

21 1

1111121111

21 1

1111121111

1

1111111121111

1

11

1

11

1

の分子部分

Page 20: 人工知能特論 II  第 10 回

20

前向き後ろ向きアルゴリズム : a’

γ(t,q,r): 記号列 o1…oT に対し、時刻 t - 1 から時刻 t に状態q から状態 r に遷移する確率

Qq

orrq

qT

rtbaqtrqt t

'

,,

)',(

),(),1(),,(

o1 o2 oTot-1

状態 q

ot

……

…状態 r

前向き確率 後向き確率

Page 21: 人工知能特論 II  第 10 回

21

前向き後ろ向きアルゴリズム : a’

Qr

n

i

T

t

n

i

T

t

Qr

n

i QqQq

T

tttTT

n

i QqQq

T

tttTT

rq

i

i

iT

i

ii

iT

i

ii

rqt

rqt

qrqqooqqp

qrqqooqqp

a

1 2

1 2

1 ,, 2111

1 ,, 2111

,

),,(

),,(

]][[);|(

]][[);|(

1

1

Page 22: 人工知能特論 II  第 10 回

22

前向き後ろ向きアルゴリズム : b’

n

i

T

tt

T

oqqq

n

i

T

t QqQq

t

uoqqqoqqt

T

n

i

T

t QqQqtoqqq

t

uoqqqoqq

T

n

i

T

t QqQq QqQq

T

utoqqqoqqqtoqqq

t

uoqqqoqq

T

n

i

T

t QqQq QqQqt

T

utoqqqoqqqoqqq

t

uoqqqoqq

T

n

i

T

t QqQqtt

T

utoqqqoqqqoqqq

t

uoqqqoqq

T

n

i

T

t QqQqtt

T

uoq

T

uqqq

T

n

i QqQq

T

tttTToq

i

i

tt

i

t

uuuu

i

i

t

ttuuuu

i

i

t iTt

i

tttttttttuuuu

i

i

t iTt

i

tttttttttuuuu

i

i

iT

i

ttttttttttttuuuu

i

i

iT

i

uu

i

uu

i

iT

i

ii

qtqtoooop

bababqtoooop

qtoobababoop

babaoobababoop

oobababababoop

ooqqbababababoop

ooqqbaoop

ooqqooqqpb

1 11

,,1 1 ,,

1

2,,,

1

1 1 ,,,,

1

2,,,

1

1 1 ,, ,, 2,,,,,,

1

2,,,

1

1 1 ,, ,, 2,,,,,,

1

2,,,

1

1 1 ,, 2,,,,,,

1

2,,,

1

1 1 ,, 1,

2,

1

1 ,, 111,

),(),(][);(

1

),(][);(

1

),(][);(

1

][);(

1

][);(

1

]][[);(

1

]][[);(

1

]][[);|(

1

11

1111

11

11111

11 1

111111111

11 1

111111111

1

111111111

1

11

1

の分子部分

Page 23: 人工知能特論 II  第 10 回

23

前向き後ろ向きアルゴリズム : b’

γ(t,q): 記号列 o1…oT に対し、時刻 t に状態 q に滞在する確率

Qq

qT

qtqtqt

'

)',(

),(),(),(

o1 o2 oTot

状態 q

ot+1

……

前向き確率 後向き確率

Page 24: 人工知能特論 II  第 10 回

24

前向き後ろ向きアルゴリズム : b’

n

i

T

t

n

i

T

tt

o

n

i

T

tt

n

i

T

tt

o

n

i QqQq

T

tttTT

n

i QqQq

T

tttTT

oq

i

i

i

i

iT

i

ii

iT

i

ii

qt

qtoo

qtoo

qtoo

ooqqooqqp

ooqqooqqp

b

1 1

1 1

1 1

1 1

1 ,, 111

1 ,, 111

,

),(

),(][

),(][

),(][

]][[);|(

]][[);|(

1

1

ちなみに、 ),1(1

)',(

),1(),1(1

1'

qnqT

qq

n

n

iQq

iq

Page 25: 人工知能特論 II  第 10 回

25

前向き後向きアルゴリズムまとめ (1/2)

α(t, q): o1 … ot を出力し、 ot が出力される時 ( 時刻 t) に状態 q である確率

β(t, q) : 時刻 t に状態 q から始める状態遷移によって ot+1…oT まで出力する確率

Qqoqqqt

QqQqoqqq

t

uoqqqoqq

t

tt

t

ttuuuu

baqt

bababqt

1

1

11

11111

,,1

,,,,

1

2,,,

),1(

),(

Qqtoqqq

QqQq

T

tuoqqqoqqq

t

ttt

Tt

uuuuttt

qtba

babaqt

1

111

1

1111

),1(

),(

1,,

,, 2,,,,

Qq

orrq

qT

rtbaqtrqt t

'

,,

)',(

),(),1(),,(

Qq

qT

qtqtqt

'

)',(

),(),(),(

Page 26: 人工知能特論 II  第 10 回

26

前向き後向きアルゴリズムまとめ (2/2)

あるパラメータ π,a,b が与えられているとする α を求める ( 前向きアルゴリズム ) β を求める ( 後向きアルゴリズム )

それぞれ動的計画法。計算量は O(T) ※ ビタビアルゴリズムも計算量は O(T) 。ビタビアルゴリズムのおよそ 3 倍の計算量。

次のように π, a, b を更新する

n

i

T

t

n

i

T

tt

oq

Qr

n

i

T

t

n

i

T

trq

n

iq

i

i

i

i

qt

qtoo

q

oqb

rqt

rqt

q

rqa

qn

qn

1 1

1 1,

1 2

1 2,

1

),(

),(]['

),,(

),,('

),1(1

)(1

'

値に滞在する回数の期待状態値を出力する回数の期待に滞在し記号状態

待値から遷移する回数の期状態値へ遷移する回数の期待から状態状態

となる回数の期待値先頭が

Page 27: 人工知能特論 II  第 10 回

27

生成モデルと識別モデルGenerative Model and Discriminative Model

Page 28: 人工知能特論 II  第 10 回

28

生成モデルから識別モデルへ

生成モデルHMM

状態遷移による生成状態遷移の確率は一つ前の状態のみに依存任意の文 s と状態列 q に対する同時確率 p(s,q) を計算

できるPCFG

CFG による生成のステップ(書換規則の適用 A → B C )の確率を p(B C| A) とする

CFG による生成の過程の確率を、独立な事象の ( 条件付き ) 確率の積とする

任意の文 s と構文木 t に対する同時確率 p(s, t) を計算できる

Page 29: 人工知能特論 II  第 10 回

29

生成モデルの改良の先に

構文木の分岐の外の情報を条件部に導入PCFG: p(BC|A, hw) [Ahw→BhwC] (hw: 主辞 )HMM: p(qj|qj-1, qj-2)

素性(特徴)という考え方条件部をどんどんリッチにして線形補間をとれ

ばよいのでは?→構文木のノード x の確率p(x)=p(x|x 周辺の状況 )

Page 30: 人工知能特論 II  第 10 回

30

生成モデルの問題点独立性の仮定

PCFG では、各構文木ノードは独立な ( 条件付き)試行により生成されていると仮定している

例えば、 (S (NP John) (VP eats (NP apples))) という構文木は、以下の独立な(条件付き)事象に分解されている

S から NP VP を生成 NP から John を生成 VP から eats NP を生成 NP から apples を生成

結果、上記の NP の文脈 (S→NP VP) から導出された NPか (VP→eats NP) から導出された NP かわからなくなっている→主語の NP なのか目的語の NP なのかわからない。

生成モデルの問題点

Page 31: 人工知能特論 II  第 10 回

31

生成モデルの問題点

生成モデル

しかし、

 であるから p (s;θ) が計算できてしまう分、冗長なモデルになっている。間接的に分類問題を解いている。

独立性を仮定した事象に分解しないと同時確率を計算することができない

);,(maxarg);|(maxarg~ tspstpttt

);();|();,( spstptsp

Page 32: 人工知能特論 II  第 10 回

32

識別モデル

識別モデル直接

を解く独立な事象を仮定しない「条件部の確率」をモデルにいれない

);|(maxarg~ stptt

Page 33: 人工知能特論 II  第 10 回

生成モデルと識別モデル( イメージ )

生成モデル 識別モデル

GOOD

BAD

Page 34: 人工知能特論 II  第 10 回

34

生成モデルと識別モデル(イメージ2)

生成モデル 絵を描いて全体像の比較

識別モデル それぞれの特徴を比較

鼻の位置 耳の形 体の大きさ 舌の表面

Page 35: 人工知能特論 II  第 10 回

35

識別するための訓練

教師付学習良い例と悪い例を与えて、どこに注目すれば

より良く識別出来るのか学習good examples

bad examples

Page 36: 人工知能特論 II  第 10 回

識別モデル

)|( stp s = “A blue eye girl with white hair and skin walked”

t1 t2 t3 t4

文法 G により s から導出出来る全ての構文木集合

p(t3|s) は t1,t2,t3,..,tn から t3 を選択する確率

tn

素性ベクトル( 特徴ベクトル )

(0,0,1,0) (1,0,1,0) (1,1,1,0) (0,0,1,1) (1,0,0,0)

Page 37: 人工知能特論 II  第 10 回

生成モデルと識別モデル

生成モデル 識別モデル

),( 1yxp

),( 2yxp

1.0

)|( 1 xyp

)|( 2 xyp

Page 38: 人工知能特論 II  第 10 回

38

どちらが優秀なのか?

Tom Minka (2005) Discriminative models, not discriminative training, MSR-TR-2005-144, 1 p.

x を入力 ( 文 ) 、 y を出力 ( 構文木 ) としたときのパラメータ推定

生成モデル

識別モデル

一般モデル

);();|();,( ypyxpyxp

);|( xyp

);();|(),;,( xpxypyxp

θ = θ’

Page 39: 人工知能特論 II  第 10 回

39

まとめ

HMM の前向き後向きアルゴリズム 前向き後向きアルゴリズム

動的計画法 計算量は O(T) ※ ビタビアルゴリズムも計算量は O(T) 。ビタビアルゴリズムの

およそ 3 倍の計算量。 隠れ状態を全て並べあげることなく、トレリス上で期待値を計算できる

ある状態からある状態への遷移回数の期待値 ある状態からある記号を出力する回数の期待値

生成モデルと識別モデル

今までの講義資料http://aiweb.cs.ehime-u.ac.jp/~ninomiya/ai2/