Deep Reinforcement Learning For Sequence to Sequence Models

這篇論文是一篇綜述性質(zhì)的文章吧揩魂,研究了現(xiàn)有的Seq2Seq模型的應(yīng)用和不足炮温,以及如何通過不同的強(qiáng)化學(xué)習(xí)方法解決不足,寫的深入具體忘分,mark一下。

本文的順序是對文章的一個總結(jié)白修,并不是文章真實(shí)的組織順序妒峦。

論文鏈接:https://www.paperweekly.site/papers/1973

代碼鏈接:https://github.com/yaserkl/RLSeq2Seq

1、Seq2Seq模型

1. Seq2Seq模型簡單回顧

Seq2Seq是解決序列問題的一種通用算法框架兵睛,在文章摘要肯骇、標(biāo)題生成、對話系統(tǒng)祖很、語音識別笛丙、圖像轉(zhuǎn)文本等領(lǐng)域都有廣泛的應(yīng)用,模型結(jié)構(gòu)如下圖所示:

訓(xùn)練時假颇,Encoder的輸入是訓(xùn)練數(shù)據(jù)中的真實(shí)序列形耗,Decoder也是訓(xùn)練數(shù)據(jù)中的真實(shí)序列,Decoder階段每個時刻t的輸出經(jīng)過softmax之后得到選擇每個單詞的概率,并選擇交叉熵?fù)p失函數(shù)作為模型損失指導(dǎo)模型的訓(xùn)練愧哟,交叉熵?fù)p失函數(shù)如下圖所示:

預(yù)測階段,Decoder時刻t的輸入是t-1時刻輸出的概率最大的單詞灭抑。這一階段可以通過beam-search的方法選擇一條最合適的序列作為輸出案腺。同時拷姿,選擇ROUGE , BLEU, METEOR, CIDEr等方法抵乓,對模型的預(yù)測結(jié)果進(jìn)行評價田弥。

1.2 Seq2Seq模型的應(yīng)用

文章總結(jié)了Seq2Seq的在各個領(lǐng)域的應(yīng)用:

1.3 Seq2Seq模型存在的問題

文章中指出Seq2Seq模型存在以下兩個問題:

exposure bias:這個可以簡單理解為只泼,一步錯步步錯,只要Decoder某個時刻的輸出是錯誤的鸥印,那會導(dǎo)致后面整個序列都是錯誤的骚揍。

mismatch in training and evaluating:在訓(xùn)練階段選擇的是交叉熵?fù)p失進(jìn)行模型的訓(xùn)練,在預(yù)測階段丁逝,選擇ROUGE等方法來評估模型罪既,這就導(dǎo)致了mismatch的問題探熔,即交叉熵?fù)p失最小的模型并不一定在ROUGE評估中效果最好涡驮,通過ROUGE等方法評估的最好的模型,并不一定能使交叉熵?fù)p失最小忱辅。

2橡卤、強(qiáng)化學(xué)習(xí)算法對于改進(jìn)Seq2Seq模型的一些思路

2.1 Seq2Seq中的強(qiáng)化學(xué)習(xí)

在Seq2Seq方法中強(qiáng)化學(xué)習(xí)的幾個關(guān)鍵要素是如下定義的:
State:強(qiáng)化學(xué)習(xí)發(fā)生在Decoder階段碧库,時刻t的State定義為前面已經(jīng)選擇的t-1個單詞和當(dāng)前模型的輸入
Action:Action是根據(jù)某種策略選擇一個單詞作為時刻t的輸出
Reward:獎勵考慮立即的獎勵和未來的獎勵,這里的獎勵可以理解為當(dāng)生成完整個句子之后吠架,通過ROUGE等評估方法得到的反饋菠劝。

強(qiáng)化學(xué)習(xí)中的幾個重要的公式如下:

Q函數(shù)和狀態(tài)價值函數(shù)

優(yōu)勢函數(shù)
為什么要引入優(yōu)勢函數(shù),這里主要是淡化state的影響鸠珠,我們不再去關(guān)心state本身的好壞巍耗,而只關(guān)心在當(dāng)前state下選取的action的好壞。優(yōu)勢函數(shù)計算如下:

優(yōu)勢函數(shù)刻畫了當(dāng)前狀態(tài)下渐排,每個動作對這個特定狀態(tài)的好壞炬太。V(s)是所有動作的獎勵的期望值,因此優(yōu)勢函數(shù)大于0的動作所能獲得的獎勵高于期望值驯耻,而優(yōu)勢函數(shù)小于0的動作所能獲得的獎勵值小于期望值亲族。

強(qiáng)化學(xué)習(xí)的目標(biāo)

強(qiáng)化學(xué)習(xí)的目標(biāo)可以是下面三個中的任意一個:

即最大化期望獎勵炒考,最大化每個時刻的優(yōu)勢函數(shù),最大化每個時刻的Q值霎迫。

2.2 Policy Gradient

策略梯度的方法的優(yōu)化目標(biāo)是我們剛才提到的第一個斋枢,即最大化期望獎勵,那么結(jié)合Seq2Seq是怎么做的呢知给?將文中提到的一下碎片化的東西整理一下瓤帚,可以得到以下的過程:

Pre-train模型
為了提高模型的收斂速度,我們需要首先預(yù)訓(xùn)練模型涩赢,預(yù)訓(xùn)練模型使用交叉熵?fù)p失函數(shù)戈次。

每次訓(xùn)練采樣N個序列
在每次訓(xùn)練的時候,基于當(dāng)前的模型采樣得到N個完整的序列筒扒。采樣基于Decoder每個時刻t的輸出經(jīng)softmax后的結(jié)果怯邪,并作為下一時刻的輸入。原文中一開始說每次訓(xùn)練指采樣一個序列花墩,但是這對模型來說Variance非常大悬秉,因?yàn)椴煌男蛄械玫降腞eward差別很大,模型的方差自然也很大冰蘑。

通過ROUGE等方法得到reward并訓(xùn)練
為了保證訓(xùn)練和預(yù)測時模型的一致性搂捧,我們通過ROUGE等方法得到這批序列的reward,并使用如下的損失函數(shù)進(jìn)行模型的訓(xùn)練:

上面的損失函數(shù)的意思即懂缕,我們希望加大能夠得到更大reward的詞出現(xiàn)的概率,減小得到較低reward的詞出現(xiàn)的概率王凑。

另一個需要注意的點(diǎn)搪柑,文章中提到,減去一個rb(rb一般通過這一批Sample的平均reward得到)可以減小模型的方差Variance索烹,是否減去這個rb是不會影響期望的損失的工碾。為什么會減小Variance呢?這就好比優(yōu)勢函數(shù)的概念百姓,我們忽略state本身好壞的影響渊额,而只關(guān)注在這個state下,action的好壞垒拢。

Policy Gradient算法缺點(diǎn)
使用該方法可以得到一個無偏的反饋旬迹,但是需要采樣完整的序列才可以得到獎勵,因此收斂速度可能非常慢求类,因此考慮時間差分的方法奔垦,即在每一步采樣之后都能夠得到一個反饋,可以考慮Actor-Critic方法和DQN等方法尸疆。

2.3 Actor-Critic Model

使用Actor-Critic的最大化目標(biāo)是優(yōu)勢函數(shù)最大化椿猎,即:

使用AC方法無需進(jìn)行一個完整序列的采樣惶岭,可以在每一步通過Critic來估計我們可能得到的獎勵。上面的式子中犯眠,我們期望的是優(yōu)勢函數(shù)最大化按灶,優(yōu)勢函數(shù)計算如下:

可以近似的認(rèn)為是下面的式子:

因此,我們的Critic估計的其實(shí)是一個狀態(tài)的價值筐咧,即V(s)鸯旁。Critic對狀態(tài)價值V(s)的估計通過監(jiān)督學(xué)習(xí)的方式進(jìn)行訓(xùn)練:

vi是通過采樣以及ROGUE評估的到的當(dāng)前狀態(tài)的真實(shí)價值,即:

因此嗜浮,Actor-Critic的過程如下所示:

使用AC的方法羡亩,我們可以減小模型的方差,因?yàn)槲覀兪窃诿恳徊蕉加幸粋€獎勵的反饋危融,但是這個反饋是有偏畏铆,因?yàn)槲覀儧]有觀測一個完整的序列而得到獎勵。

當(dāng)模型收斂后吉殃,我們認(rèn)為我們的Actor已經(jīng)是最優(yōu)的策略了辞居。那么在預(yù)測階段,我們就可以采用beam-search或者是greedy的方法蛋勺,根據(jù)Encoder的輸入來得到Decoder的輸出瓦灶。

2.4 Actor-Critic with Q-Learning

使用該方法的最優(yōu)化目標(biāo)是Q值最大化,通過Q值的反饋來更新Actor的策略抱完,即:

此時Critic預(yù)估的是Q值贼陶,其通過下面的式子進(jìn)行訓(xùn)練:

式子中第一項(xiàng)是q-eval值,即預(yù)估的Q值巧娱,第二項(xiàng)是q-target碉怔,即真實(shí)的Q值,我們希望二者越相近越好禁添。真實(shí)的Q值如何計算呢撮胧,在上圖式子中的第二行給出了答案,即立即獲得的獎勵老翘,加上下一個狀態(tài)所能獲得的最大獎勵的折現(xiàn)芹啥。

可以看到,基于Q函數(shù)和上面的AC方法有兩點(diǎn)的不同铺峭。首先墓怀,基于Q函數(shù)只需要得到當(dāng)前的立即獎勵,而另一種方法需要完整的采樣卫键,然后計算多輪獎勵的折現(xiàn)和捺疼,作為狀態(tài)價值V(s)。另外永罚,基于Q函數(shù)的Critic估計的是狀態(tài)-動作對的Q值啤呼,而另一種方法估計的是狀態(tài)價值V(s)

Deep-Q-learning的具體過程如下:

3卧秘、其他注意的點(diǎn)

3.1 Deep-Q-learning的改進(jìn)

文中主要提到了雙網(wǎng)絡(luò)結(jié)構(gòu)Double-DQN,加入優(yōu)勢函數(shù)的Dueling-DQN官扣,以及通過經(jīng)驗(yàn)池來減少數(shù)據(jù)中相關(guān)性等等翅敌。

不同的強(qiáng)化學(xué)習(xí)方法有缺點(diǎn)如下:

3.2 RL+Seq2Seq的應(yīng)用

文中總結(jié)了不同應(yīng)用的Seq2Seq和RL的結(jié)合,其狀態(tài)惕蹄,動作以及價值分別是什么蚯涮。如下表所示:

本文只是對文章內(nèi)容的一個簡單理解,大家如果感興趣的話卖陵,可以閱讀原文遭顶,也歡迎大家與我討論!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末泪蔫,一起剝皮案震驚了整個濱河市棒旗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌撩荣,老刑警劉巖铣揉,帶你破解...
    沈念sama閱讀 221,548評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異餐曹,居然都是意外死亡逛拱,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,497評論 3 399
  • 文/潘曉璐 我一進(jìn)店門台猴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來朽合,“玉大人,你說我怎么就攤上這事饱狂〔懿剑” “怎么了?”我有些...
    開封第一講書人閱讀 167,990評論 0 360
  • 文/不壞的土叔 我叫張陵嗡官,是天一觀的道長。 經(jīng)常有香客問我毯焕,道長衍腥,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,618評論 1 296
  • 正文 為了忘掉前任纳猫,我火速辦了婚禮婆咸,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芜辕。我一直安慰自己尚骄,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,618評論 6 397
  • 文/花漫 我一把揭開白布侵续。 她就那樣靜靜地躺著倔丈,像睡著了一般憨闰。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上需五,一...
    開封第一講書人閱讀 52,246評論 1 308
  • 那天鹉动,我揣著相機(jī)與錄音,去河邊找鬼宏邮。 笑死泽示,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蜜氨。 我是一名探鬼主播械筛,決...
    沈念sama閱讀 40,819評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼飒炎!你這毒婦竟也來了埋哟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,725評論 0 276
  • 序言:老撾萬榮一對情侶失蹤厌丑,失蹤者是張志新(化名)和其女友劉穎定欧,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體怒竿,經(jīng)...
    沈念sama閱讀 46,268評論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡砍鸠,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,356評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了耕驰。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片爷辱。...
    茶點(diǎn)故事閱讀 40,488評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖朦肘,靈堂內(nèi)的尸體忽然破棺而出饭弓,到底是詐尸還是另有隱情,我是刑警寧澤媒抠,帶...
    沈念sama閱讀 36,181評論 5 350
  • 正文 年R本政府宣布弟断,位于F島的核電站,受9級特大地震影響趴生,放射性物質(zhì)發(fā)生泄漏阀趴。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,862評論 3 333
  • 文/蒙蒙 一苍匆、第九天 我趴在偏房一處隱蔽的房頂上張望刘急。 院中可真熱鬧,春花似錦浸踩、人聲如沸叔汁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,331評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽据块。三九已至码邻,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間瑰钮,已是汗流浹背冒滩。 一陣腳步聲響...
    開封第一講書人閱讀 33,445評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留浪谴,地道東北人开睡。 一個月前我還...
    沈念sama閱讀 48,897評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像苟耻,于是被迫代替她去往敵國和親篇恒。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,500評論 2 359

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