第3章 最大熵值法
本章將介紹以限制為基礎(constraint based)的語言模型調適方法,從最大熵值 法(maximum entropy, ME)來切入,接著討論最小鑑別資訊法(minimum discrimination information, MDI)。
3.1 最大熵值法簡介
最大熵值法最早是由學者E. T. Jaines 在 1957 年所提出[Jaines 1957]。此方法應用 在語言模型調適上[Rosenfeld 1996; Berger et al. 1996; Chueh et al. 2004]和模型插 補法(model interpolation)的精神相似,都是嘗試將多個資訊來源(information sources)合併成一個新的模型的方法。差別在於模型插補法是將各個資訊來源個 別訓練出一個語言模型之後,再將這些模型乘以個別的權重之後合併,如式
(3.1):
(wi hi) P(wi hi) P (wi hi) nPn(wi hi)
P | =λ1 1 | +λ2 2 | +...+λ | (3.1)
其中 1
1
∑
== n
i λi 。在模型插補法中,通常同一個語言模型中的所有模型參數共用一 個權重,例如P1(wi |hi)和P1(wj |hj)皆使用λ1當作權重。然而,相反地,最大熵 值法並不對每一個資訊來源作個別的訓練,而是直接訓練出一個單一的、整合的 模型,這個模型將每一個資訊來源所提供的訊息都包含進來。
如上所述,最大熵值法是一種整合各種資訊來源(information sources)的方 法。在最大熵值方法中,每一個資訊來源都會引發一群限制(a set of constraints), 而這些限制的交集區域(intersection)便是代表滿足所有的限制的機率分佈的集
合,此集合內的機率分佈可能有無窮多個,然而在這些機率分佈中,擁有最高熵 值(highest entropy)的便是此方法的解。
舉個簡單的例子,假設現有一個骰子,若在僅知丟擲此骰子有可能出現 1 點、2 點、3 點、4 點、5 點以及 6 點,以及擲出這六種點數的機率和是 1 的情況 下,我們得到第一個限制(constraint),即:
( ) ( ) ( ) ( ) ( ) ( )1 +P 2 +P 3 +P 4 +P 5 +P 6 =1
P (3.2)
明顯地,滿足這個限制的機率分佈有無窮多個,例如 p( )3 =1,即每一次丟擲這 個骰子都是出現3 點,但這顯然不是一個好的機率分佈。直覺上,在沒有其他額 外資訊的情況下,我們可以將機率平均分給這六種點數:
( ) ( ) ( ) ( ) ( ) ( )
6 6 1 5 4
3 2
1 =P =P =P =P =P =
P (3.3)
會採用平均分配是因為我們至此只知道丟擲此骰子會出現六種點數,這樣子分配 既滿足已知的限制又合乎公平性;所謂的公平性是指每種點數出現的機率相同。
假設我們又獲得了其他的資訊,例如,丟擲此骰子出現1 點或 2 點的機率是 0.5,
則我們得到第二個限制:
( ) ( )
2 2 1 1 + P =
P (3.4)
當然,滿足此第一及第二限制的機率分佈還是無窮多個。在缺乏其他資訊的情況 下,我們仍可以合理的選擇一個滿足所有限制且最平均分配的機率分佈:
( ) ( )
( ) ( ) ( ) ( )
8 6 1 5 4 3
4 2 1 1
=
=
=
=
=
=
P P P P
P P
(3.5)
假設我們再獲得了其他的資訊,例如,丟擲此骰子出現2 點或 5 點的機率是 0.3,
則第三個限制可表示成:
( ) ( )
10 5 3 2 + P =
P (3.6)
同樣地,滿足此三個限制的機率分佈仍然有無窮多個,但我們還是選擇滿足所有 限制且最平均分配的分佈,不過這時候可能的機率分佈就沒有那麼明顯可以直接 觀察出來了。換句話說,隨著越多的資訊加入,限制也越來越多,要找出滿足所 有限制且最平均分配的機率分佈也就越困難。
這個問題可以用最大熵值法來解決。我們從熵值(entropy)的定義來看,給 定一個由事件w1,w2,...,wN所形成的機率模型P,其熵值可表示成:
( )
∑
( ) ( )=
−
= N
i P wi P wi
P H
1 log2 (3.7)
當某個事件w 的機率為 1,i P( )wi =1,而其他事件機率皆為 0 的時候,即
( ) =
= otherwise w w w
P i
, 0
,
1 ,H( )P 有最小值等於0;而H( )P 的最大值出現在每個事
件間為平均分佈(uniform distribution)的情況,即:
( )w P( )w P( )w N
P 1 = 2 =...= N = 1 (3.8)
此時熵值為H( )P =−log2(1/N)。所以說,要找到滿足所有限制且最平均分配的 機率模型,便等同於在滿足所有限制的機率模型當中,挑選出擁有最大熵值的機 率模型。
3.1.1 特徵與限制(Features and Constraints)
假設要估測P(h,很好)的機率值,其中 h 是『很好』這個詞的歷史詞序列(word history),且已知有一個資訊來源是二連語言模型(bigram language model)。二 連語言模型根據歷史詞序列 h 的最後一個詞來分割P(h,很好)的機率分佈,如圖 3.1 所示[Rosenfeld 1996]:
. . . . . .
. . . . .
. . . . .
. . . . .
. . . .
…
… h最後是 …
『心情』
h最後是
『天氣』
. . . . . .
. . . . .
. . . . .
. . . . .
. . . .
…
… h最後是 …
『心情』
h最後是
『天氣』
圖3.1、二連語言模型將機率分佈P( 很好h, )切割成每一行(column)的 等價類,在同一個等價類中的歷史詞序列h 的最後一個詞皆相同。
圖 3.1 中的每一行(column)是一個等價類(equivalence class),此二連語言模 型指派相同的機率值給屬於同一類中的事件。我們拿(h 最後是『天氣』)這一 行來說,當歷史詞序列h 是(『今天』,『天氣』)、(『明天』,『天氣』)或是(『昨 天』,『天氣』)…等等的時候,都會落在這一類中,當滿足此二連語言模型且最 平均分配的情況下,有以下的關係:
( ) ( ) ( )
(天氣,很好)
很好 天氣, 後天, 很好
天氣, 明天, 很好
天氣, 今天,
P P
P P
= + +
+
L (3.9)
且
(今天,天氣,很好)=P(明天,天氣,很好)=P(後天,天氣,很好)=L
P (3.10)
假設我們另外有一個主題模型(topic model),且令每個歷史詞序列都只能夠歸 類到某一個主題中。則此模型根據歷史詞序列所歸屬的主題來分割機率分佈
) , ( 很好h
P 如圖3.2 所示。
. . . .
…
. . . . h∈主題三
. . . . h∈主題二
. . . . h∈主題一
. . . .
…
. . . . h∈主題三
. . . . h∈主題二
. . . . h∈主題一
圖3.2、主題分類語言模型將機率分佈P( 很好h, )切割成每一列(row)
的等價類,在同一個等價類中的歷史詞序列h 皆歸屬於相同的主題。
圖 3.2 中的每一列(row)是一個等價類,主題模型指派相同的機率值給屬於同 一類中的事件。我們拿(h∈主題一)這一列來說,會歸屬於主題一的不同歷史 詞序列,如h1,h2,h3,L等等,都會落在這一類中,當滿足此主題模型且最平均分 配的情況下,有以下的關係:
(h1,很好) (P h2,很好) (P h3,很好) P(h T1,很好)
P + + +L= ∈ (3.11)
且
(h1,很好) (=P h2,很好) (=P h3,很好)=L
P (3.12)
式(3.11)中,T1代表主題一。接下來,我們討論同時滿足上述之二連語言模型與 主題模型的情況,此模型會依據歷史詞序列h 的最後一個詞以及其所歸屬的主題 來分割機率分佈P( 很好h, ),如圖3.3 所示。
. . .. . . . ..
. . . ..
. . . ..
h∈主題一 .
. . .. . . . ..
. . . ..
. . . ..
h∈主題二 .
. . . .
. .
. . . . .
. . . . .
. . .
… .
… h最後是 …
『心情』
h最後是
『天氣』
. . .. . . . ..
. . . ..
. . . ..
h∈主題一 .
. . .. . . . ..
. . . ..
. . . ..
h∈主題二 .
. . . .
. .
. . . . .
. . . . .
. . .
… .
… h最後是 …
『心情』
h最後是
『天氣』
圖3.3、機率分佈P( 很好h, )被二連語言模型與主題模型所切割,圖中每 一個方格為一個等價類,在同一個等價類中的歷史詞序列h 的最後一個 詞皆相同且歸屬於相同的主題。
圖3.3 中的每一個方格是一個等價類,經由滿足二連語言模型與主題分類語言模 型的機率模型指派相同的機率值給屬於同一類中的事件。我們拿滿足(h 最後是
『天氣』)與(h∈主題一)的這一個方格來說,滿足此兩個限制的歷史詞序列,
如h1,h2,h3,...等等,都會落在這一類中,在最平均分配的情況下有以下關係:
( )
( )
( )
=L
∈
=
∈
=
∈
很好 天氣
最後是
很好 天氣
最後是
很好 天氣
最後是
,
&
,
&
,
&
1 3 3
1 2 2
1 1 1
T h h
P
T h h
P
T h h
P
』
『
』
『
』
『
(3.13)
要表示我們所擁有的資訊可以利用指示函數(indicator function)f 來完成,
例如要表示二連語言模型中的(『天氣』,『很好』):
( )( )
=
,
0 , , 1
otherwise
w w h
h
f 最後的詞是『天氣』,且 是『很好』
『很好』
『天氣』, (3.14)
從式(3.14)可以得知,必須要(h 最後的詞是『天氣』)和(w 是『很好』)都成立 的情況下,f『天氣』,( 『很好』)( )h,w 的值才會是1,其他情形則為 0。我們又可稱f 為特 徵函數(feature function)或簡稱為特徵(feature)。
我們對特徵 f『天氣』,( 『很好』)( )h,w 在訓練語料中求期望值:
( )f P( )h w f『天氣』,( 『很好』)( )h w P(天氣,很好)
P
w h
, ~
~ ,
~
,
=
=∑ (3.15)
式(3.15)中的( )h,w 是由訓練語料中所蒐集到的歷史詞序列h,與詞典中的詞 w 所 組成的所有配對,P~( )•
是由訓練語料經由最大相似度估測法(MLE)所求得的 二連語言模型。式(3.15)中,P~( )f =P~(天氣,很好)代表了 f『天氣』( ,『很好』)( )h,w 在訓練 語料中的期望值,此期望值就是在式(3.9)中將所有歷史詞序列最後是『天氣』的 機率值,P(h,很好),相加起來所得到的值。
假設有一個任意的聯合機率函數P ,( )h w ,則特徵 f『天氣』( ,『很好』)( )h,w 在此機率函數 的期望值可以表示成:
( )=
∑
( ) ( )( )w h
w h f
w h P f
P
, , 『天氣』『, 很好』 , (3.16)
在3.1 節中提到,最大熵值法所要求的機率函數,必須要滿足所有蒐集到的資訊 來源,即限定此聯合機率函數P ,( )h w 滿足在訓練語料中各種資訊來源所引發的 限制。換句話說,對每個特徵(以下用 f ,( )h w 表示)而言,其在訓練語料中期 望值要等於使用機率函數P ,( )h w 所計算出的期望值:
( )f P( )f
P = ~ (3.17)
式(3.17)稱之為限制方程式(constraint equation)或簡稱為限制(constraint)。
將式(3.15)和式(3.16)代入式(3.17)中,可以得到對於某一特徵 f ,( )h w 而言,必須
滿足:
( ) ( ) ∑ ( ) ( )
∑ =
w h w
h
w h f w h P w
h f w h P
, ,
,
~ , ,
, (3.18)
由於在語音辨識中,語言模型是採用條件機率函數(conditional probability distribution),P(w|h),而式(3.18)中所求得的P ,( )h w 為聯合機率函數(joint probability distribution),我們可以由貝氏定理得到:
( ) ( ) ( )h P
w h h P w
P ,
| = (3.19)
不過要計算所有可能的歷史詞序列 h 與詞典中的詞 w 的機率P ,( )h w ,其隱含的 參數量總共有(|V |L+1),V 表示所使用的詞典,|V 則為此詞典所包含的詞的數| 量,L 是歷史詞序列 h 的長度,這即使在一個合理的詞典大小及 L 值之下,也是 一個很龐大的數量。然而,對於某個詞w 而言,在我們所蒐集的訓練語料中,i 並非所有的歷史詞序列都會與其相鄰著出現,換句話說,絕大部分P ,(h wi)的值 都等於0,只有少數的歷史詞序列會使得P ,(h wi)為非0 的值,則我們假設:
( )h P( )h
P ≈ ~ (3.20)
即歷史詞序列在 P 的事前機率P( )h 等於其在訓練語料中的事前機率P~( )h
。我們 將式(3.19)與式(3.20)代入式(3.18)中得到:
( ) ( ) ( ) ∑ ( ) ( )
∑ =
w h w
h
w h f w h P w
h f h w P h P
, ,
,
~ , ,
~ |
(3.21)
我們再對特徵(feature)與限制(constraint)做個定義:特徵是( )h,w 配對
的二元值函數(binary-valued function),f ,( )h w ;限制是特徵函數在某一機率分 佈下與訓練語料中之期望值「相等」的動作。
3.1.2 指數型(Exponential form)
今假設我們從訓練語料中找出n 個特徵,f1,f2,L,fn,根據最大熵值法的概念,
首先我們所要求的機率模型必須滿足這n 個特徵,令 C 是所有滿足此 n 個特徵的 機率模型的集合:
( ) ( )
{P P fi P~ fi for i 1,2,...,n}
| = =
∈
≡ P
C (3.22)
P 是所有機率模型的集合。在統計上,要估測一個條件機率分佈P(w|h)的熵值 可以利用條件熵值(conditional entropy):
( )≡−
∑
( )∑
( ) ( )h w
h w P h w P h P P
H | log | (3.23)
同式(3.20),我們將式(3.23)中的P( )h 置換成P~( )h
得到:
( )≡−
∑
( )∑
( ) ( )h w
h w P h w P h P P
H ~ | log |
(3.24)
接下來,就是要從集合 C 中找出擁有最大熵值的機率模型:
( )P
H
P* =argmaxP C∈ (3.25)
P*即為最大熵值法所要求的機率模型。
將式(3.24)代入式(3.25)中,可以得到:
( )
( ) ( ) ( )
−
=
=
∈ ∑
∈
w P h
P
h w P h w P h P P H P
,
*
| log
~ | max
arg max arg
C C
(3.26)
到目前為止,我們獲得了下列的訊息:
(A) 0≤P(w|h)≤1 ∀h,w,且 P(w h) h
w
∀
∑
| =1 ,(A)保證 P 是一個條件機率分佈。
(B) P( ) (h P w h) ( )f h w P( ) ( )h w f h w i n
w h
i w
h
i ~ , , for 1,..., ,
~ |
, ,
=
=∑
∑ ,
(B)是最大熵值法中令所求的機率函數 P 要滿足所有特徵的限制。
(C) ( )=−∑ ( ) ( ) ( )
w h
h w P h w P h P P
H
,
| log
~ |
我們使用Lagrange multiplier Λ 和γ,分別將(B)與(A)引入(C)中來估測P(w|h),
並令其為ξ(P,Λ,γ):
( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
−
−
−
+
−
= Λ
∑
∑ ∑ ∑
∑
1
|
,
~ , ,
~ |
| log
~ | ,
,
, ,
,
w
i hw
i w
h
i i
w h
h w P
w h f w h P w
h f h w P h P
h w P h w P h P P
γ λ γ
ξ
(3.27)
λi是特徵 fi( )h,w 的參數,Λ=(λ1,...,λn)。將式(3.27)對P(w|h)作偏微分後令其等 於0,可以求得P*(w|h),使得ξ(P,Λ,γ)有最大值:
( ) ( )( ( )) ( ) ( ) ( )( ( )) ( ) ( )
( ) ( ) ( )
( ) ( )
( )
− −
=
⇒
−
−
=
⇒
−
= +
⇒
=
− +
+
−
∂ =
∂
∑
∑
∑
∑
~ 1 exp ,
exp
|
~ 1 ,
| log
~ ,
| log
~ 1
0
~ ,
| log
~ 1 |
*
*
*
h w P
h f h
w P
h w P
h f h
w P
w h f h P h
w P h
P
w h f h P h
w P h
h P w P
i i i
i i i
i
i i
i
i i
λ γ λ γ
γ λ
γ ξ λ
(3.28)
我們再藉由(A)進一步的推導:
( )
( ) ( ) ( )
( ) ( )
( )
∑ ∑
( )∑ ∑
∑ ∑
∑
∑
=
− −
⇒
=
⋅
− −
⇒
=
− −
=
⇒
=
∀
w i
i i
w i
i i
w i
i i w
w
w h h f
P
w h h f
P
h w P
h f h
w P
h w P h
, exp
1 1 exp ~
1 ,
exp
~ 1 exp
1
~ 1 exp ,
exp
|
1
| ,
(A)
λ γ
γ λ
λ γ Q
(3.29)
將式(3.29)代入式(3.28),且令 ( )=
∑
∑
( )w i
i
if h w
h
Z exp λ , ,則式(3.28)可以改寫成:
( )
( ) ( )
( ) ( )
=
⋅
=
∑
∑ ∑ ∑
i i i
i i i
w i i i
w h h f
Z
w h f w
h f h
w P
, 1 exp
, exp
,ˆ exp
| 1
ˆ
*
λ
λ
λ (3.30)
式(3.30)即為指數型,其中Z( )h 是正規化因子(normalizing factor),確保P*(w|h)
是一個條件機率分佈。
3.1.3 最大熵值法與最大相似法的關係
給一個由訓練語料所訓練出來的聯合機率函數P ,~
( )
h w,及某個條件機率函數
(w h)
P | ,則以P(w|h)來預測訓練語料之對數相似值(log-likelihood)可定義成:
( )≡
∏
( ) ( ) =∑
( ) ( )w h w
h
w h P
P P P w h P h w P w h
L
, ,
~ ,
~ ~ , log |
|
log (3.31)
將式(3.30)中的P*(w|h)代入式(3.31)中的P(w|h):
( ) ( ) ( ) ( ) ( )
( ) ( ) ∑ ( ) ∑ ∑ ( )
∑ ∑
∑ ∑ ∑
∑ ∑
−
=
−
=
h w i
i i w
h i
i i
w
h w i
i i w
h i
i P i
w h f h
P w
h f w h P
w h f w
h P w
h f w
h P P
L
, exp
~ log ,
~ ,
, ˆ exp
log
~ , ,
~ ,
,
, ˆ
,
~
λ λ
λ λ
(3.32)
將式(3.32)對λi作偏微分,得到:
( ) ( ) ( ) ( ) ( ) ( )
( ) ( ) ( ) ( ) ( ) ( )
( ) ( )i i
w h
i w
h
i
h
w i i i
w
i i
i i w
h
i i
P
f P f P
w h f h w P h P w
h f w h P
w h f
w h f w h f h
P w
h f w h P P
L
−
=
−
=
⋅
−
∂ =
∂
∑
∑
∑ ∑ ∑
∑ ∑
∑
~
,
~ | ,
~ ,
ˆ , exp
, ,
~ exp ,
~ ,
,
* ,
ˆ ,
~
λ λ λ
(3.33)
式(3.33)中,P~( )fi
代表特徵 f 在 empirical distribution i P ,~( )h w
的期望值,P( )fi 代 表 特 徵 f 在i P~( ) (x P* y|x)
的 期 望 值 。 令 式(3.33) 等 於 0 , 可 以 得 到 一 組
(λ1,λ2,Lλn)
=
Λ ,使得式(3.31)有最大值,即P*(w|h)預測訓練語料有最大的對 數相似值(Maximum log-likelihood)。然而,令式(3.33)等於 0 得到:
( ) ( )
( ) ( ) ( ) ∑ ( ) ( )
∑ =
⇒
=
w
h i
w
h i
i i
w h f w h P w
h f h w P h P
f P f P
, ,
* ~ , ,
,
~ |
~
(3.34)
式(3.34)與 3.1.2 節中所得到的(B)相同,即最大熵值法中限制所求的機率模型必 須滿足所有特徵的式子。換句話說,最大熵值法所求得的機率函數P 也會使得* 預測訓練語料之對數相似值為最大。根據這個結果,我們可以將最大熵值法所要 解的問題重新定義如下:
找到ㄧ個機率函數P*(w|h)滿足所有的特徵,並且使預測訓練語料之對數相 似值為最大。