丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能 正文
發(fā)私信給汪思穎
發(fā)送

0

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

本文作者: 汪思穎 2017-10-16 16:42
導(dǎo)語:關(guān)于一些細(xì)節(jié)和延伸。

雷鋒網(wǎng) AI科技評論按,本文作者華南理工大學(xué)胡楊,本文首發(fā)于知乎專欄GAN + 文本生成 + 讀博干貨,雷鋒網(wǎng) AI科技評論獲其授權(quán)轉(zhuǎn)載。本文為下篇,上篇參見強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上)。

5. 一些細(xì)節(jié) + 一些延伸

上文所述的,只是 RL + GAN 進(jìn)行文本生成的基本原理,大家知道,GAN在實際運行過程中任然存在諸多不確定因素,為了盡可能優(yōu)化 GAN 文本生成的效果,而后發(fā)掘更多GAN在NLP領(lǐng)域的潛力,還有一些值得一提的細(xì)節(jié)。

5.1. Reward Baseline:獎勵值上的 Bias

在4.2節(jié)中提到,我們采用鑒別器D給予生成樣本 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的概率得分( 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 屬于真實樣本的概率)作為獎勵 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,既然是概率值,應(yīng)該意識到這些概率得分都是非負(fù)的,如此一來即便生成出再差的結(jié)果,鑒別器D也不會給出負(fù) 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 進(jìn)行懲罰。從理論上來講,生成器的訓(xùn)練會趨向于降低較小獎勵值樣本 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 出現(xiàn)的概率而提高較大獎勵值樣本 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 出現(xiàn)的概率,然而在實做時,由于采樣不全等不可控因素的存在,這樣不夠分明的獎懲區(qū)別將有可能使得生成器G的訓(xùn)練變得偏頗。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

實際上,在強化學(xué)習(xí)的對話生成模型當(dāng)中,就已經(jīng)出現(xiàn)了此類問題。解決的方法很簡單,我們設(shè)置一個獎勵值 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的基準(zhǔn)值Baseline,每次計算獎勵值的時候,在后面減去這個基準(zhǔn)值作為最終的 獎勵 or 懲罰 值,使得生成器G的生成結(jié)果每次得到的獎懲有正有負(fù),顯得更加分明。記獎懲基準(zhǔn)值為 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,則4.1節(jié)中優(yōu)化梯度的計算公式修改為:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

對應(yīng)地,在 RL + GAN 的文本生成任務(wù)中,同樣在鑒別器D對各個生成樣本打出的概率得分上減去獎懲基準(zhǔn)值 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,則4.2節(jié)中 SeqGAN 與 Conditional SeqGAN 期望獎勵值的優(yōu)化梯度計算公式也分別修改為如下:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

5.2. REGS:一人犯錯一人當(dāng)

細(xì)心的讀者可以發(fā)現(xiàn),在SeqGAN的獎勵優(yōu)化梯度計算公式的推導(dǎo)中,由鑒別器D給予的生成樣本獎勵得分其實是順應(yīng)序列文本的生成過程,逐詞產(chǎn)生的,可以看到之前的推導(dǎo)公式中顯示了對于Partly文本序列的階段性獎勵值求和再求平均。然而在起初的實驗中,根據(jù)最終推導(dǎo)的獎勵值優(yōu)化梯度計算公式,鑒別器D被訓(xùn)練為用于對整句生成結(jié)果進(jìn)行評估打分,這樣的話,鑒別器D的打分對于生成序列中的每一個token都是同等的存在,要獎勵就一起獎勵(獎勵值可視為相同),要懲罰就一起懲罰,這種做法會導(dǎo)致一個后果,看下面的例子。

比如有這樣一個對話組(包含真實回答和生成回答):

question = ['你', '叫', '什么', '名字', '?']
real_answer = ['我', '叫', '張三', '。']
fake_answer = ['我', '不', '知道', '。']

很顯然,鑒別器D能夠輕易辨識后者回答是假的,必然會給出極低的獎勵值得分,但是仔細(xì)對比真/假兩個回答可以發(fā)現(xiàn),第一個詞 “我 ” 其實和真實樣本的第一個詞是一樣的,而最后一個字符 “?!逼鋵嵰膊o大礙,它們其實并沒有錯,真正錯誤的是 “不 ” 和 “知道 ” 這兩個詞,但很不幸,鑒別器判定 fake_answer 的整體回答是假的,原本無辜的詞項 “我 ” 和 “?!?也要跟著一起接受低分判定的懲罰。

讓我們回到 GAN + RL 對文本生成模型的優(yōu)化原理,假設(shè) 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 是面對輸入上文 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 時生成對話下文 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的概率,我們將它拆分成逐個單詞拼接的形式,每一個出現(xiàn)的詞匯都將收到之前context的影響。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

在4.1,4.2節(jié)中提到,如果生成樣本 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 被鑒別器D打出低分(受到懲罰),生成器G將被訓(xùn)練于降低產(chǎn)出此結(jié)果的概率。結(jié)合上面這條公式,倘若單獨將生成序列中的一部分前綴 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 拿出來與真實樣本中完全相同,豈不是也要接受整體低分而帶來的懲罰?

解決這一缺陷的直接方法就是把獎懲的判定粒度進(jìn)一步細(xì)化到 word 或 character 級別,在文本逐詞生成的過程中對partly的生成結(jié)果進(jìn)行打分。這種處理其實在SeqGAN的論文中[17]就已經(jīng)實施了,拓展到Conditional SeqGAN中,優(yōu)化梯度的計算公式應(yīng)改寫為如下:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

公式中, 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 是計算的關(guān)鍵,它代表鑒別器D在文本逐詞生成過程中獲得部分文本的情況下對于最終reward的估計,簡而言之就是每得到一個新的生成詞,就結(jié)合此前生成的前序文本估計最終reward,并作為該生成詞單獨的reward,SeqGAN的論文中使用蒙特卡洛搜索[21](Monte Carlo Search,MC search)的方法計算部分生成序列對于整體reward的估計值。而在Conditional SeqGAN的論文中,賦予了這種處理一個名字 —— Reward for Every Generation Step(REGS)。

5.3. MC Search & Discriminator for Partially Decoded Sequences:準(zhǔn)度與速度的抉擇

上一節(jié)說到SeqGAN中使用MC search進(jìn)行部分序列獎勵估計值 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的計算,作為REGS操作的關(guān)鍵計算,其難處在于,我們并不能預(yù)知部分生成序列能給我們帶來的最終結(jié)果,就好像一場籃球比賽,可能半場結(jié)束比分領(lǐng)先,卻也不能妄言最終的比賽結(jié)果一樣。

既然如此,在只得到部分序列的情況下, 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 只得估計獲得,Monte Carlo Search[21]就是其中一種估計方法,Monte Carlo Search的思想極其簡單,假設(shè)我們已經(jīng)擁有了部分生成的前綴 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,我們使用當(dāng)前的Generator,強制固定這個前綴,并重復(fù)生成出$M$個完整的序列(有點采樣實驗的意思),分別交給鑒別器D進(jìn)行打分,這 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 個模擬樣本的平均獎勵得分即為部分序列 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的獎勵估計值 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

當(dāng)然,使用MC search的缺點也很明顯:每生成一個詞,就要進(jìn)行 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 次生成采樣,非常耗時;還有一小點,每當(dāng)我們計算較為后期的一些部分序列獎勵估計值的時候,總是會無法避免地再一次計算前面早期生成的項,這樣計算出來的 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 可能導(dǎo)致對于較前子序列(比如第一個詞)的過擬合。

另外一種方法提出于Conditional SeqGAN的論文,干脆訓(xùn)練一個可以對部分已生成前綴進(jìn)行打分的new鑒別器D。將某真實樣本的 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的全部前綴子序列(必須從第一個詞開始)集合記作 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,同樣將某生成樣本$X^-$的全部前綴子序列集合記作 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,我們每次從這兩者中隨機挑選一個或若干個標(biāo)定為 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) (與原序列相同),與原序列一同加入鑒別器D的訓(xùn)練中,這樣訓(xùn)練得到的Discriminator便增添了給前綴子序列打分的能力,直接使用這樣的Discriminator給前綴子序列打分即可獲得 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 。這種方法的耗時比起使用MC search要少很多,但得損失一定的準(zhǔn)度。

一句話總結(jié)兩種 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的計算方法:一種是利用部分序列YY出完整序列來給鑒別器打分,而另一種則直接將部分序列加入鑒別器的訓(xùn)練過程,得到可以為部分序列打分的鑒別器,一個較慢,另一個快卻損失準(zhǔn)度,如何選擇就看大家了。

5.4. Teacher Forcing:給Generator一個榜樣

在開始講解SeqGAN中的Teacher Forcing之前,先幫助大家簡單了結(jié)一下RNN運行的兩種mode:(1). Free-running mode;(2). Teacher-Forcing mode[22]。前者就是正常的RNN運行方式:上一個state的輸出就做為下一個state的輸入,這樣做時有風(fēng)險的,因為在RNN訓(xùn)練的早期,靠前的state中如果出現(xiàn)了極差的結(jié)果,那么后面的全部state都會受牽連,以至于最終結(jié)果非常不好也很難溯源到發(fā)生錯誤的源頭,而后者Teacher-Forcing mode的做法就是,每次不使用上一個state的輸出作為下一個state的輸入,而是直接使用ground truth的對應(yīng)上一項作為下一個state的輸入。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)


就拿Seq2Seq模型來舉例,我們假設(shè)正輸出到第三項,準(zhǔn)備生成第四項:

input = ['a', 'b', 'c', 'e', 'f', 'g', 'h']
output = ['o', 'p', 's', ...]
label = ['o', 'p', 'q', 'r', 's', 't', 'u']

Free-running mode下的decoder會將第三項錯誤的輸出 output[2] = 's'(下標(biāo)從0開始)作為下一個state的輸入,而在Teacher-forcing mode下,decoder則會將正確樣本的第三項  label[2] = 'q' 作為下一個state的輸入。 當(dāng)然這么做也有它的缺點,因為依賴標(biāo)簽數(shù)據(jù),在training的時候會有較好的效果,但是在testing的時候就不能得到ground truth的支持了。最好的結(jié)果是將Free-running mode的behavior訓(xùn)練得盡可能接近于Teacher-forcing mode,Professor Forcing[23]使用GAN嘗試實現(xiàn)了這一目標(biāo)。

當(dāng)然,這些都是題外話,我們要回到Teacher-Forcing mode最初的motivation:訓(xùn)練(迭代)早期的RNN非常弱,幾乎不能給出好的生成結(jié)果(以至于破灌破摔,產(chǎn)生垃圾的output影響后面的state),必須依靠ground truth強行扶著走,才能慢慢進(jìn)入正軌。

SeqGAN也存在這樣的問題,一開始的生成器G非常弱,即便是經(jīng)過一定量的預(yù)訓(xùn)練,也幾乎生成不出好的Result,然后這些bad result給到鑒別器D必然只能返回很低的 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) (懲罰),生成器G的訓(xùn)練只能根據(jù)鑒別器的打分來優(yōu)化而無法得到good example的指導(dǎo),永遠(yuǎn)不知道什么是好的結(jié)果,結(jié)果必然是惡性循環(huán)。于是,有必要在SeqGAN訓(xùn)練中給到生成器G真實樣本的指導(dǎo),也就是告訴生成器:“什么樣的樣本才配得到高分 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ?”

4.2節(jié)中提到,生成器G 和 判別器D的訓(xùn)練時交替進(jìn)行的,由于鑒別器返回的打分是判定輸入樣本為真的概率,我們可以隨機取出一部分真實的樣本對話組 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,然后直接設(shè)置他們的鑒別器獎勵值為 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) (或者其他任意定義的最高分),將它們加入生成器G的訓(xùn)練過程中,這樣生成器就能知道何種樣本能得到最高的獎勵,從而一定程度上避免了SeqGAN的訓(xùn)練過程由于一方的弱勢而發(fā)生崩塌。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

或者也可以這樣:用訓(xùn)練好的鑒別器D也為隨機抽樣的真實樣本打分,然后加入到生成器G的訓(xùn)練過程中,不過,一定要確保鑒別器D已經(jīng)得到充分訓(xùn)練,至少給予任意真實樣本 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的打分要高于baseline才行(獎勵值經(jīng)過偏置處理后也必須為正)。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

5.5. Actor-Critic:更廣義上的GAN?

在DeepMind的一篇半綜述式的文章[24]中,談到了強化學(xué)習(xí)中的另一個特殊的模型——Actor-Critic,并分析了這個模型與GAN之間的聯(lián)系。

首先我們回顧一下GAN中鑒別器D和生成器G優(yōu)化時的目標(biāo)函數(shù):

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

再說說強化學(xué)習(xí),在基于策略迭代的強化學(xué)習(xí)中,通過嘗試當(dāng)前策略的action,從環(huán)境獲得 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,然后更新策略。這種操作在游戲?qū)嶒灜h(huán)境中非常有效,因為游戲系統(tǒng)有封閉且清晰的環(huán)境,能夠穩(wěn)定地根據(jù)各種接收到的action客觀地給出對應(yīng) 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,而在現(xiàn)實生活中,很多時候并沒有封閉清晰的環(huán)境,給定action應(yīng)該得到什么樣的 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 本身也不準(zhǔn)確,只能通過設(shè)定DIY的打分器來實現(xiàn),顯然這么做很難完美m(xù)odel真實世界千變?nèi)f化的情況。

那么,能不能先學(xué)習(xí)出一個能夠準(zhǔn)確評估出獎勵值的值函數(shù) 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,盡可能地描述環(huán)境,對各種action返回較為公正的預(yù)期獎勵呢?也就是說 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的估計模型本身也是被學(xué)習(xí)的,這就是Actor-Critic,Actor部分采用傳統(tǒng)的Policy Gradient優(yōu)化策略 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,Critic部分借助“Q-Learning”學(xué)習(xí)出最優(yōu)的action-value值函數(shù),聽起來有沒有點像GAN的模式?來看看它的目標(biāo)函數(shù),其中 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 指任意一中Divergence,值域非負(fù)當(dāng)且僅當(dāng)兩個分布相同時取值為零即可(比如,KL-divergence, JS-divergence 等等):

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

文中將GANs模型比作一種特殊形式的Actor-Critic,并比較了兩者各自的特點以及后續(xù)的改進(jìn)技術(shù)在兩者上的適配情況。試想一下,既然強化學(xué)習(xí)技術(shù)幫助GAN解決了在離散型數(shù)據(jù)上的梯度傳播問題,那么同為強化學(xué)習(xí)的Actor-Critic也為對抗式文本生成提供了另外一種可能。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

5.6. IRGAN:兩個檢索模型的對抗

IRGAN[25]這篇工作發(fā)表于2017年的SIGIR,從作者的陣容來看就注定不是一篇平凡的作品,其中就包含SeqGAN的原班人馬,作者將生成對抗網(wǎng)絡(luò)的思想應(yīng)用于信息檢索領(lǐng)域,卻又不拘泥于傳統(tǒng)GAN的經(jīng)典Framework,而是利用了IR領(lǐng)域原本就存在的兩種不同路數(shù)的model:生成式IR模型 和 判別式IR模型。

生成式IR模型目標(biāo)是產(chǎn)生一個query 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) document的關(guān)聯(lián)度分布,利用這個分布對每個輸入的query返回相關(guān)的檢索結(jié)果;而判別式IR模型看上去更像是一個二類分類器,它的目標(biāo)是盡可能地區(qū)分有關(guān)聯(lián)查詢對和無關(guān)聯(lián)查詢對,對于給定的查詢對,判別式IR模型給出該查詢對中的兩項的關(guān)聯(lián)程度。

光從兩個模型簡單的介紹來看就能絲絲感覺到它們之間特殊的聯(lián)系,兩種風(fēng)格迥異的IR模型在GAN的思想中“有緣地”走到了對立面,我們將生成式IR模型記作: 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,將判別式IR模型記作: 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,于是整個IRGAN的目標(biāo)函數(shù)為:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

在IRGAN中,鑒別器D定義為判別式IR模型的邏輯回歸:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

于是鑒別器D的目標(biāo)函數(shù)進(jìn)一步寫為:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

相對地,生成器G就直接輸出以query為condition答案池中所有document與該query的關(guān)聯(lián)分布,不幸地,我們必須將通過這個關(guān)聯(lián)分布,過濾出當(dāng)前認(rèn)為最相關(guān)的document答案,才能作為鑒別器D的輸入來判定此時此刻檢索結(jié)果的質(zhì)量,原本連續(xù)型的分布經(jīng)過這一步的折騰又變成離散型的數(shù)據(jù)了,還好,我們有強化學(xué)習(xí),設(shè) 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,則生成器G的目標(biāo)函數(shù)被寫成:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

也就是最大化鑒別器D給出的獎勵,而這個獎勵值主要來源于檢索結(jié)果形成的查詢對 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 在判別式IR模型中被認(rèn)為確實有關(guān)聯(lián)的概率之和。將求和符號內(nèi)的項記作: 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,按照Policy Gradient的方式進(jìn)行梯度優(yōu)化,并使用4.1節(jié)中的推導(dǎo)方法描述 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 的優(yōu)化梯度,在實做時為了方便,采樣 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 個當(dāng)前生成式IR模型給出的查詢結(jié)果求近似。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

當(dāng)然,也不能忘了我們的baseline—— 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) ,文中設(shè)置baseline為當(dāng)前查詢結(jié)果的平均期望 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

上述是針對Pointwise情形的IR任務(wù),不同于Pointwise情形著重于得到直接的檢索結(jié)果,Pairwise情形的IR把更多精力放在了ranking上,其返回結(jié)果 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 中全是非對稱二元對,其中 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 與當(dāng)前的查詢項關(guān)聯(lián)性更高。IRGAN也可以擴展到Pairwise的情形,原則是:“一切從減”。 鑒別器函數(shù)將改寫為:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

而假設(shè)生成器G是一個softmax函數(shù),則Pairwise情形下的變形和簡化推導(dǎo)如下:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

IRGAN在Pairwise情形下的總目標(biāo)函數(shù)如下,其中, 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 表示真實的非對稱二元組,而 強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下) 則表示生成式IR模型生成的二元組:

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

IRGAN的一大特點是,對抗model中的兩個組件各自都是一種IR模型,所以經(jīng)過對抗訓(xùn)練之后,不管拿出來哪個,都有希望突破原先的瓶頸。作者還關(guān)于IRGAN的訓(xùn)練目標(biāo)是否符合納什均衡做了一些討論,盡管在真實檢索的應(yīng)用中很難獲得所謂的真實關(guān)聯(lián)分布,但作者認(rèn)為不管是觀察到的關(guān)聯(lián)樣本還是未觀察到的關(guān)聯(lián)樣本,判別IR模型的輸出總是和生成IR模型的對應(yīng)輸出存在著正相關(guān)的作用力,于是也孕育而生了文中那個關(guān)于浮力和拖拽重物最終達(dá)到漂浮平衡狀態(tài)的略顯晦澀的比喻。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

結(jié)語

這一領(lǐng)域的發(fā)展之迅速,也許在我完成這篇Blog的時候,又有一批工作爭先恐后的冒出來了,但最終的結(jié)局肯定不止于此,我也不怎么擅長結(jié)尾,也許要等待GAN來為我,為我們帶來一個奇妙的結(jié)局。

Acknowledgement

要特別感謝臺灣大學(xué)李宏毅老師生動的授課[26],這為我在多個知識點上的理解帶來了重要的幫助。

Reference

[1] 何永燦CSDN. 好玩的文本生成[EB/OL]. http://geek.csdn.net/news/detail/131622.

[2] Ashwin, K, Vijayakumar, Michael, Cogswell, Ramprasath, R, Selvaraju, Qing, Sun, Stefan, Lee, David, Crandall, Dhruv, Batra. Diverse Beam Search: Decoding Diverse Solutions from Neural Sequence Models[J/OL]. https://arxiv.org/abs/1610.02424v1.

[3] Minh-Thang, Luong, Hieu, Pham, Christopher, D, Manning. Effective Approaches to At-tention-based Neural Machine Translation[J/OL]. https://arxiv.org/abs/1508.04025.

[4] W. Chan, N. Jaitly, Q. Le and O. Vinyals, “Listen, attend and spell: A neural network for large vocabulary conversational speech recognition,” ICASSP, 2016, https://research.google.com/pubs/pub44926.html.

[5] Jiwei, Li, Minh-Thang, Luong, Dan, Jurafsky. A Hierarchical Neural Autoencoder for Par-agraphs and Documents[J/OL]. https://arxiv.org/abs/1506.01057.

[6] 鄭華濱. 從PM到GAN——LSTM之父Schmidhuber橫跨22年的怨念[EB/OL]. https://zhuanlan.zhihu.com/p/27159510?utm_source=zhihu&utm_medium=social.

[7] Jürgen, Schmidhuber. Learning Factorial Codes by Predictability Minimization[J]. Neural Computation, 1992, 4(6): 863-879, http://www.mitpressjournals.org/doi/abs/10.1162/neco.1992.4.6.863.

[8] Ian, J, Goodfellow, Jean, Pouget-Abadie, Mehdi, Mirza, Bing, Xu, David, Warde-Farley, Sherjil, Ozair, Aaron, Courville, Yoshua, Bengio. Generative Adversarial Networks[J/OL]. https://arxiv.org/abs/1406.2661v1.

[9] Samuel, R, Bowman, Luke, Vilnis, Oriol, Vinyals, Andrew, M, Dai, Rafal, Jozefowicz, Samy, Bengio. Generating Sentences from a Continuous Space[J/OL]. https://arxiv.org/abs/1511.06349.

[10] 鄭華濱. 令人拍案叫絕的Wasserstein GAN[EB/OL]. https://zhuanlan.zhihu.com/p/25071913.

[11] Ishaan, Gulrajani, Faruk, Ahmed, Martin, Arjovsky, Vincent, Dumoulin, Aaron, Courville. Improved Training of Wasserstein GANs[J/OL]. https://arxiv.org/abs/1704.00028.

[12] Matt, J, Kusner, José, Miguel, Hernández-Lobato. GANS for Sequences of Discrete Ele-ments with the Gumbel-softmax Distribution[J/OL]. https://arxiv.org/abs/1611.04051.

[13] Martin, Arjovsky, Soumith, Chintala, Léon, Bottou. Wasserstein GAN[J/OL]. https://arxiv.org/abs/1701.07875v1.

[14] Sebastian, Nowozin, Botond, Cseke, Ryota, Tomioka. f-GAN: Training Generative Neural Samplers using Variational Divergence Minimization[J/OL]. https://arxiv.org/abs/1606.00709.

[15] Eric, Jang, Shixiang, Gu, Ben, Poole. Categorical Reparameterization with Gum-bel-Softmax[J/OL]. https://arxiv.org/abs/1611.01144.

[16] Jiwei, Li, Will, Monroe, Alan, Ritter, Michel, Galley, Jianfeng, Gao, Dan, Jurafsky. Deep Reinforcement Learning for Dialogue Generation[J/OL]. https://arxiv.org/abs/1606.01541v3.

[17] Lantao, Yu, Weinan, Zhang, Jun, Wang, Yong, Yu. SeqGAN: Sequence Generative Adver-sarial Nets with Policy Gradient[J/OL]. https://arxiv.org/abs/1609.05473.

[18] Mehdi, Mirza, Simon, Osindero. Conditional Generative Adversarial Nets[J/OL]. https://arxiv.org/abs/1411.1784.

[19] Scott, Reed, Zeynep, Akata, Xinchen, Yan, Lajanugen, Logeswaran, Bernt, Schiele, Honglak, Lee. Generative Adversarial Text to Image Synthesis[J/OL]. https://arxiv.org/abs/1605.05396.

[20] Jiwei, Li, Will, Monroe, Tianlin, Shi, Sébastien, Jean, Alan, Ritter, Dan, Jurafsky. Adver-sarial Learning for Neural Dialogue Generation[J/OL]. https://arxiv.org/abs/1701.06547.

[21] Silver, D.; Huang, A.; Maddison, C. J.;Guez, A.; Sifre, L.; et al. 2016. Mastering the game

of go with deep neural networks and tree search. Nature 529(7587):484–489, http://www.nature.com/nature/journal/v529/n7587/abs/nature16961.html.

[22] Williams, R. J. and Zipser, D. (1989). A learning algorithm for continually running fully recurrent neural networks. Neural computation, 1(2), 270–280, http://www.mitpressjournals.org/doi/abs/10.1162/neco.1989.1.2.270.

[23] Alex, Lamb, Anirudh, Goyal, Ying, Zhang, Saizheng, Zhang, Aaron, Courville, Yoshua, Bengio. Professor Forcing: A New Algorithm for Training Recurrent Networks[J/OL]. https://arxiv.org/abs/1610.09038v1.

[24] David, Pfau, Oriol, Vinyals. Connecting Generative Adversarial Networks and Ac-tor-Critic Methods[J/OL]. https://arxiv.org/abs/1610.01945.

[25] Jun, Wang, Lantao, Yu, Weinan, Zhang, Yu, Gong, Yinghui, Xu, Benyou, Wang, Peng, Zhang, Dell, Zhang. IRGAN: A Minimax Game for Unifying Generative and Discriminative Information Retrieval Models[J/OL]. https://arxiv.org/abs/1705.10513v1.

[26] Hungyi, Lee. Machine Learning and having it Deep and Structured[EB/OL]. http://speech.ee.ntu.edu.tw/~tlkagk/courses_MLDS17.html.

雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

強化學(xué)習(xí)在生成對抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)

分享:
相關(guān)文章

編輯

關(guān)注AI學(xué)術(shù),例如論文
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說