火爆的QA系統(tǒng)纯出,現(xiàn)在常采用seq2seq的模型來做滥沫,這篇文章是為了優(yōu)化一個(gè)問題松靡。seq2seqm模型通常的回復(fù)會(huì)是更安全的(safe)、更通用(平常的)的內(nèi)容坛增,比如'i don't know'或者'i am Ok'之類获雕。作者猜測(cè),這是因?yàn)橥ǔK鼈冊(cè)赿ecoder層采用的目標(biāo)函數(shù)是計(jì)算輸入與輸出的似然性轿偎,比如最大似然估計(jì)(MLE)典鸡。作者采用最大互信息(Maximum Mutual Information 被廓,MMI)作為目標(biāo)函數(shù)來優(yōu)化這一問題坏晦。
在seq2seq模型中,對(duì)于目標(biāo)序列(target) T 和輸入序列(source) S。給一個(gè)輸入序列:,它都有一個(gè)對(duì)應(yīng)的目標(biāo)輸出序列:
昆婿。則下面的方程表示了LSTM模型使用softmax函數(shù)來刻畫輸入與輸出的分布關(guān)系球碉。這里
表示在h-1時(shí)刻LSTM的輸出狀態(tài),f是激活函數(shù)仓蛆。每句話的decoder輸出以EOS結(jié)束睁冬。
所以對(duì)于輸入, 對(duì)應(yīng)的目標(biāo)序列是:
。seq2seq標(biāo)準(zhǔn)的目標(biāo)函數(shù)是對(duì)數(shù)似然函數(shù)形式看疙,在測(cè)試時(shí)看做生成一個(gè)統(tǒng)計(jì)決策問題:
從這個(gè)公式豆拨,作者分析,seq2seq模型容易產(chǎn)生generic responses能庆,原因是它僅僅從給定的輸入選擇目標(biāo)序列施禾,而沒有從反方向考慮。為了修正這種觀點(diǎn)搁胆,作者提出了最大互信息(Maximum Mutual Information 弥搞,MMI)作為目標(biāo)函數(shù),然后搜尋目標(biāo)函數(shù)中的參數(shù)來最大化輸入序列 S 和目標(biāo)序列 T 之間的互信息渠旁。
采用互信息函數(shù)就可以避免產(chǎn)生非條件性的高頻回應(yīng)攀例,也就是安全的、無用的回應(yīng)顾腊,而更傾向于產(chǎn)生對(duì)應(yīng)于特定輸入的回應(yīng)粤铭。由貝葉斯公式 有下面的遞推式:
則有:
再引入一個(gè)參數(shù),可得最終的目標(biāo)函數(shù)一:
這個(gè)參數(shù) 可以理解為,需要懲罰多少無用的回應(yīng)(generic responses),
越大懲罰的越多杂靶。
作者由貝葉斯公式構(gòu):
便可以重寫上面的目標(biāo)函數(shù)承耿,得到目標(biāo)函數(shù)二:
因此,這個(gè)加權(quán)重MMI的目標(biāo)函數(shù)可以看做是表示由輸入考慮目標(biāo), 和由目標(biāo)考慮輸入
的一種折中伪煤。
作者將上面兩種方案分別稱作MMI-antiLM和MMI-bidi加袋。但是在實(shí)際的實(shí)現(xiàn)中,采用MMI-antiLM方案容易導(dǎo)致語法錯(cuò)誤的結(jié)果(ungrammatical responses)抱既;而采用MMI-bidi是职烧,直接解碼會(huì)很難解決的(intractable),因?yàn)樵谟?jì)算之前防泵,也就是給定回復(fù)下得到輸入句的概率蚀之,這就要求先生成所有目標(biāo)序列T,因?yàn)槟繕?biāo)序列T在一個(gè)巨大的搜索空間中捷泞,因此找到所有可能的分布是幾乎無法實(shí)現(xiàn)的足删。為此,作者分別給出了下面的解決方案锁右。
- MMI-antiLM中的語法錯(cuò)誤回復(fù)問題:
目標(biāo)函數(shù)一的第一部分 失受,就是
讶泰, 可以看做是一種反語言模型(anti-language model),它 不僅懲罰了高頻出現(xiàn)拂到、通俗的回應(yīng)(generic responses)痪署,也懲罰了通順的句子,因此這就會(huì)導(dǎo)致語法錯(cuò)誤的結(jié)果兄旬。理論上狼犯,當(dāng)
的值小于1時(shí)就會(huì)避免出現(xiàn)這個(gè)問題,因?yàn)榱祛恚?dāng)
<1 語法錯(cuò)誤的結(jié)果會(huì)更多的被目標(biāo)函數(shù)中的第一項(xiàng)所懲罰悯森,但是實(shí)際上并不是這樣理想的。解決方案如下:
假設(shè)是目標(biāo)輸出T 的長(zhǎng)度绪撵,所以目標(biāo)函數(shù)一中的語言模型
可以寫成:
作者采用標(biāo)準(zhǔn)的語言模型乘以一個(gè)遞減的函數(shù), 命名為
,來替換
,
是一個(gè)隨著目前token的下標(biāo)而數(shù)值遞減的函數(shù)呐馆,于是得到:
作者之所以這樣做的考慮是,第一莲兢,神經(jīng)網(wǎng)絡(luò)的解碼結(jié)合了之前已經(jīng)建立的表征和目前要預(yù)測(cè)的word汹来,在解碼過程中,初始輸入對(duì)解碼結(jié)果的影響將隨著已經(jīng)預(yù)測(cè)的單詞的變多而漸漸減弱改艇。換句話說收班,最開始被預(yù)測(cè)的詞將非常大的影響后面的結(jié)果。因此采用語言模型對(duì)開頭的詞語執(zhí)行更大的懲罰會(huì)比懲罰后面的詞對(duì)產(chǎn)生多樣性(diversity)有更大的影響谒兄,這是遞減的意義所在摔桦。第二,隨著最初的輸入對(duì)解碼過程的影響減弱承疲,語言模型的影響將會(huì)逐漸成為支配力量邻耕。所以語法錯(cuò)誤的回復(fù)會(huì)在后面的解碼過程中漸漸消失,尤其是在長(zhǎng)句子中燕鸽。作者在實(shí)驗(yàn)中發(fā)現(xiàn)兄世,
逐漸遞減式并沒有起到更好的效果,所以采用了下面的這個(gè)分段式遞減函數(shù):
\begin{equation}{g(x)=}
\left{
\begin{array}{lr}
1 & if\ k \le \gamma \
0 & if\ k > \gamma
\end{array}
\right.
\end{equation}
其中啊研,閾值 也視作模型參數(shù)御滩,表示懲罰前面的
個(gè)words!
于是党远,最初的目標(biāo)函數(shù)一可以改寫成:
另外削解,作者在實(shí)驗(yàn)中發(fā)現(xiàn),解碼時(shí) target T 的長(zhǎng)度()也對(duì)模型的結(jié)果產(chǎn)生了有益的影響沟娱,所以最終的損失定義如下:
- MMI-bidi中的問題:
作者采用了一種近似的求法氛驮,先使用P(S|T)求得N-best候選應(yīng)答,然后在再根據(jù)完整的目標(biāo)函數(shù)二重排济似,得到最佳應(yīng)答矫废。