A Diversity-Promoting Objective Function for Neural Conversation Models》閱讀筆記


火爆的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è)輸入序列:X=\{x_1,x_2,...,x_{N_x} \},它都有一個(gè)對(duì)應(yīng)的目標(biāo)輸出序列:
Y=\{y_1, y_2, ..., y_{N_y} \}昆婿。則下面的方程表示了LSTM模型使用softmax函數(shù)來刻畫輸入與輸出的分布關(guān)系球碉。這里h_{k-1}表示在h-1時(shí)刻LSTM的輸出狀態(tài),f是激活函數(shù)仓蛆。每句話的decoder輸出以EOS結(jié)束睁冬。

p(Y|X)=\prod_{k=1}^{n} p(y_k|x_1,x_2,....,x_t,y_1, y_2,...y_{k-1})\\=\prod_{k=1}^{N_y}\frac{\exp(f(h_{k-1}, e_y))}{\sum_{y'}\exp(f(h_{k-1}, e_{y'}))}

所以對(duì)于輸入S=\{s_1,s_2,...,s_{N_s}\}, 對(duì)應(yīng)的目標(biāo)序列是:T = \{ t_1, t_2,..., t_{N_t}, EOS\}。seq2seq標(biāo)準(zhǔn)的目標(biāo)函數(shù)是對(duì)數(shù)似然函數(shù)形式看疙,在測(cè)試時(shí)看做生成一個(gè)統(tǒng)計(jì)決策問題:
\hat{T} = \mathop {\arg\max}\limits_{T} \{\log p(T|S)\}
從這個(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 之間的互信息渠旁。
\log\frac{p(S,T)}{p(S)p(T)}

采用互信息函數(shù)就可以避免產(chǎn)生非條件性的高頻回應(yīng)攀例,也就是安全的、無用的回應(yīng)顾腊,而更傾向于產(chǎn)生對(duì)應(yīng)于特定輸入的回應(yīng)粤铭。由貝葉斯公式 p(T|S)={p(S,T)} / {p(S)} 有下面的遞推式:
\log\frac{p(S,T)}{p(S)p(T)}=\log\frac{p(T|S)}{p(T)}=\log p(T|S)-\log p(T)
則有:
\hat{T} = \mathop {\arg\max}\limits_{T}\{\log p(T|S)-\log p(T) \}
再引入一個(gè)參數(shù)\lambda,可得最終的目標(biāo)函數(shù)一:
\hat{T} = \arg\max\{\log p(T|S)- \lambda \log p(T) \}
這個(gè)參數(shù)\lambda 可以理解為,需要懲罰多少無用的回應(yīng)(generic responses), \lambda越大懲罰的越多杂靶。

作者由貝葉斯公式構(gòu):
\log p(T)=\log p(T|S)+\log p(S)-\log p(S|T)
便可以重寫上面的目標(biāo)函數(shù)承耿,得到目標(biāo)函數(shù)二:
\hat{T} = \mathop {\arg\max}\limits_{T} \{(1-\lambda)\log p(T|S)+\lambda \log p(S|T) - \lambda \log p(S) \} \\ = \mathop {\arg\max}\limits_{T} \{(1- \lambda)\log p(T|S) + \lambda \log p(S|T) \}
因此,這個(gè)加權(quán)重MMI的目標(biāo)函數(shù)可以看做是表示由輸入考慮目標(biāo)p(T|S), 和由目標(biāo)考慮輸入p(S|T)的一種折中伪煤。

作者將上面兩種方案分別稱作MMI-antiLM和MMI-bidi加袋。但是在實(shí)際的實(shí)現(xiàn)中,采用MMI-antiLM方案容易導(dǎo)致語法錯(cuò)誤的結(jié)果(ungrammatical responses)抱既;而采用MMI-bidi是职烧,直接解碼會(huì)很難解決的(intractable),因?yàn)樵谟?jì)算p(S|T)之前防泵,也就是給定回復(fù)下得到輸入句的概率蚀之,這就要求先生成所有目標(biāo)序列T,因?yàn)槟繕?biāo)序列T在一個(gè)巨大的搜索空間中捷泞,因此找到所有可能的分布是幾乎無法實(shí)現(xiàn)的足删。為此,作者分別給出了下面的解決方案锁右。

  • MMI-antiLM中的語法錯(cuò)誤回復(fù)問題:

目標(biāo)函數(shù)一的第一部分 \log p(T|S)- \lambda \log p(T)失受,就是 \lambda \log p(T)讶泰, 可以看做是一種反語言模型(anti-language model),它 不僅懲罰了高頻出現(xiàn)拂到、通俗的回應(yīng)(generic responses)痪署,也懲罰了通順的句子,因此這就會(huì)導(dǎo)致語法錯(cuò)誤的結(jié)果兄旬。理論上狼犯,當(dāng)\lambda的值小于1時(shí)就會(huì)避免出現(xiàn)這個(gè)問題,因?yàn)榱祛恚?dāng)\lambda<1 語法錯(cuò)誤的結(jié)果會(huì)更多的被目標(biāo)函數(shù)中的第一項(xiàng)所懲罰悯森,但是實(shí)際上并不是這樣理想的。解決方案如下:
假設(shè)N_t是目標(biāo)輸出T 的長(zhǎng)度绪撵,所以目標(biāo)函數(shù)一中的語言模型 p(T) 可以寫成:
p(T) = \prod_{k=1}^{N_t} p(t_k| t_1,t_2,...,t_{k-1})
作者采用標(biāo)準(zhǔn)的語言模型乘以一個(gè)遞減的函數(shù)g(k), 命名為U(k),來替換p(T), g(k) 是一個(gè)隨著目前token的下標(biāo)而數(shù)值遞減的函數(shù)呐馆,于是得到:
U(T) = \prod_{k=1}^{N_t} p(t_k| t_1,t_2,...,t_{k-1}) * g(k)
作者之所以這樣做的考慮是,第一莲兢,神經(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)有更大的影響谒兄,這是g(k)遞減的意義所在摔桦。第二,隨著最初的輸入對(duì)解碼過程的影響減弱承疲,語言模型的影響將會(huì)逐漸成為支配力量邻耕。所以語法錯(cuò)誤的回復(fù)會(huì)在后面的解碼過程中漸漸消失,尤其是在長(zhǎng)句子中燕鸽。作者在實(shí)驗(yàn)中發(fā)現(xiàn)兄世,g(k)逐漸遞減式并沒有起到更好的效果,所以采用了下面的這個(gè)分段式遞減函數(shù):
\begin{equation}{g(x)=}
\left{
\begin{array}{lr}
1 & if\ k \le \gamma \
0 & if\ k > \gamma
\end{array}
\right.
\end{equation}
其中啊研,閾值 \gamma 也視作模型參數(shù)御滩,表示懲罰前面的 \gamma 個(gè)words!
于是党远,最初的目標(biāo)函數(shù)一可以改寫成:
\hat{T} = \mathop {\arg\max}\limits_{T} \{ \log p(T|S) - \gamma \log U(T) \}

另外削解,作者在實(shí)驗(yàn)中發(fā)現(xiàn),解碼時(shí) target T 的長(zhǎng)度(N_t)也對(duì)模型的結(jié)果產(chǎn)生了有益的影響沟娱,所以最終的損失定義如下:
Score(T) = \log p(T|S) - \gamma \log U(T)+\gamma N_t

  • MMI-bidi中的問題:

作者采用了一種近似的求法氛驮,先使用P(S|T)求得N-best候選應(yīng)答,然后在再根據(jù)完整的目標(biāo)函數(shù)二重排济似,得到最佳應(yīng)答矫废。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末盏缤,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子磷脯,更是在濱河造成了極大的恐慌蛾找,老刑警劉巖娩脾,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件赵誓,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡柿赊,警方通過查閱死者的電腦和手機(jī)俩功,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來碰声,“玉大人诡蜓,你說我怎么就攤上這事∫忍簦” “怎么了蔓罚?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)瞻颂。 經(jīng)常有香客問我豺谈,道長(zhǎng),這世上最難降的妖魔是什么贡这? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任茬末,我火速辦了婚禮,結(jié)果婚禮上盖矫,老公的妹妹穿的比我還像新娘丽惭。我一直安慰自己,他們只是感情好辈双,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布责掏。 她就那樣靜靜地躺著,像睡著了一般湃望。 火紅的嫁衣襯著肌膚如雪拷橘。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天喜爷,我揣著相機(jī)與錄音冗疮,去河邊找鬼。 笑死檩帐,一個(gè)胖子當(dāng)著我的面吹牛术幔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播湃密,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼诅挑,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼四敞!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起拔妥,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤忿危,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后没龙,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體铺厨,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年硬纤,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了解滓。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡筝家,死狀恐怖洼裤,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情溪王,我是刑警寧澤腮鞍,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布,位于F島的核電站莹菱,受9級(jí)特大地震影響移国,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芒珠,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一桥狡、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧皱卓,春花似錦裹芝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掐禁,卻和暖如春怜械,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背傅事。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工缕允, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人蹭越。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓障本,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子驾霜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 9. 循環(huán)神經(jīng)網(wǎng)絡(luò) 場(chǎng)景描述 循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network)是一種主流的深度學(xué)習(xí)...
    _龍雀閱讀 2,912評(píng)論 0 3
  • 1. 簡(jiǎn)稱 論文《Attention-Based Recurrent Neural Network Models ...
    魏鵬飛閱讀 1,868評(píng)論 0 5
  • 近日案训,谷歌官方在 Github開放了一份神經(jīng)機(jī)器翻譯教程,該教程從基本概念實(shí)現(xiàn)開始粪糙,首先搭建了一個(gè)簡(jiǎn)單的NMT模型...
    MiracleJQ閱讀 6,405評(píng)論 1 11
  • 閑聊作為人機(jī)對(duì)話的一個(gè)研究分支强霎,近年來取得很大的進(jìn)步。研究主要探索的是數(shù)據(jù)驅(qū)動(dòng)(data driven)的端到端(...
    Luuuuuua閱讀 923評(píng)論 0 0
  • 這篇論文是一篇綜述性質(zhì)的文章吧蓉冈,研究了現(xiàn)有的Seq2Seq模型的應(yīng)用和不足城舞,以及如何通過不同的強(qiáng)化學(xué)習(xí)方法解決不足...
    文哥的學(xué)習(xí)日記閱讀 3,742評(píng)論 0 3