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

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

0

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

本文作者: 汪思穎 2017-10-16 16:40
導(dǎo)語(yǔ):文本生成模型的標(biāo)準(zhǔn)框架以及一些基礎(chǔ)知識(shí)。

雷鋒網(wǎng) AI科技評(píng)論按,本文作者華南理工大學(xué)胡楊,本文首發(fā)于知乎專欄GAN + 文本生成 + 讀博干貨,雷鋒網(wǎng) AI科技評(píng)論獲其授權(quán)轉(zhuǎn)載。

1.基礎(chǔ):文本生成模型的標(biāo)準(zhǔn)框架

文本生成(Text Generation)通過(guò) 機(jī)器學(xué)習(xí) + 自然語(yǔ)言處理 技術(shù)嘗試使AI具有人類(lèi)水平的語(yǔ)言表達(dá)能力,從一定程度上能夠反應(yīng)現(xiàn)今自然語(yǔ)言處理的發(fā)展水平。

下面用極簡(jiǎn)的描述介紹一下文本生成技術(shù)的大體框架,具體可以參閱各種網(wǎng)絡(luò)文獻(xiàn)(比如:CSDN經(jīng)典Blog“好玩的文本生成”[1]),論文等。

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

文本生成按任務(wù)來(lái)說(shuō),比較流行的有:機(jī)器翻譯、句子生成、對(duì)話生成等,本文著重討論后面兩種?;谏疃葘W(xué)習(xí)的Text Generator 通常使用循環(huán)神經(jīng)網(wǎng)絡(luò)(Basic RNN,LSTM,GRU等)進(jìn)行語(yǔ)義建模。在句子生成任務(wù)中,一種常見(jiàn)的應(yīng)用:“Char-RNN”(這里“Char”是廣義上的稱謂,可以泛指一個(gè)字符、單詞或其他文本粒度單位),雖然簡(jiǎn)單基礎(chǔ)但可以清晰反應(yīng)句子生成的運(yùn)行流程,首先需要建立一個(gè)詞庫(kù)Vocab包含可能出現(xiàn)的所有字符或是詞匯,每次模型將預(yù)測(cè)得到句子中下一個(gè)將出現(xiàn)的詞匯,要知道softmax輸出的只是一個(gè)概率分布,其維度為詞庫(kù) Vocab 的size,需再通過(guò)函數(shù)將輸出概率分布轉(zhuǎn)化為 One-hot vector,從詞庫(kù) Vocab 中檢索得出對(duì)應(yīng)的詞項(xiàng);在“Char-RNN”模型訓(xùn)練時(shí),使用窗口在語(yǔ)料上滑動(dòng),窗口之內(nèi)的上下文及其后緊跟的字符配合分別為一組訓(xùn)練樣本和標(biāo)簽,每次以按照固定的步長(zhǎng)滑動(dòng)窗口以得出全部“樣本-標(biāo)簽”對(duì)。

與句子生成任務(wù)類(lèi)似,對(duì)話生成以每組Dialogue作為“樣本-標(biāo)簽”對(duì),循環(huán)神經(jīng)網(wǎng)絡(luò)RNN_1對(duì)Dialogue上文進(jìn)行編碼,再用另一個(gè)循環(huán)神經(jīng)網(wǎng)絡(luò)RNN_2對(duì)其進(jìn)行逐詞解碼,并以上一個(gè)解碼神經(jīng)元的輸出作為下一個(gè)解碼神經(jīng)元的輸入,生成Dialogue下文,需要注意的是:在解碼前需配置“開(kāi)始”標(biāo)記 _,用于指示解碼器Decoder開(kāi)啟Dialogue下文首詞(or 字)的生成,并配置“結(jié)束”標(biāo)記 _,用于指示解碼器結(jié)束當(dāng)前的 Text Generation 進(jìn)程。

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

這便是眾所周知的“Seq2Seq”框架的基礎(chǔ)形態(tài),為了提高基礎(chǔ)Seq2Seq模型的效果,直接從解碼器的角度有諸如 Beam-Search Decoder[2]、Attention mechanism Decoder[3](配置注意力機(jī)制的解碼器)等改進(jìn),而從神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)入手,也有諸如Pyramidal RNN[4](金字塔型RNN)、Hierarchical RNN Encoder[5](分層循環(huán)網(wǎng)絡(luò)編碼器)等改進(jìn)。改進(jìn)不計(jì)其數(shù),不一一詳舉,但不管如何,預(yù)測(cè)結(jié)果的輸出始終都是一個(gè)維度為詞庫(kù)大小的概率分布,需要再甄選出最大值的Index,到詞庫(kù)Vocab中檢索得出對(duì)應(yīng)的單詞(or 字符)。

2.問(wèn)題:GAN為何不能直接用于文本生成

2.1. GAN基礎(chǔ)知識(shí)

GAN對(duì)于大家而言想必已經(jīng)膾炙人口了,這里做一些簡(jiǎn)單的復(fù)習(xí)。GAN從結(jié)構(gòu)上來(lái)講巧妙而簡(jiǎn)單(盡管有與其他經(jīng)典工作Idea相似的爭(zhēng)議[6~7]),也非常易于理解,整個(gè)模型只有兩個(gè)部件:1.生成器G;2.判別器D。生成模型其實(shí)由來(lái)已久,所以生成器也并不新鮮,生成器G的目標(biāo)是生成出最接近于真實(shí)樣本的假樣本分布,在以前沒(méi)有判別器D的時(shí)候,生成器的訓(xùn)練依靠每輪迭代返回當(dāng)前生成樣本與真實(shí)樣本的差異(把這個(gè)差異轉(zhuǎn)化成loss)來(lái)進(jìn)行參數(shù)優(yōu)化,而判別器D的出現(xiàn)改變了這一點(diǎn),判別器D的目標(biāo)是盡可能準(zhǔn)確地辨別生成樣本和真實(shí)樣本,而這時(shí)生成器G的訓(xùn)練目標(biāo)就由最小化“生成-真實(shí)樣本差異”變?yōu)榱吮M量弱化判別器D的辨別能力(這時(shí)候訓(xùn)練的目標(biāo)函數(shù)中包含了判別器D的輸出)。GAN模型的大體框架如下圖所示:

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

我們?cè)賮?lái)簡(jiǎn)單復(fù)習(xí)一下GAN當(dāng)中的一些重要公式,這一步對(duì)后文的闡述非常重要。不管生成器G是什么形狀、多么深的一個(gè)神經(jīng)網(wǎng)絡(luò),我們暫且把它看成一個(gè)函數(shù) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,由它生成的樣本記作: 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,相對(duì)地,真實(shí)樣本記作: 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 。同樣,不管判別器D作為一個(gè)分類(lèi)神經(jīng)網(wǎng)絡(luò),我們也可將其視為一個(gè)函數(shù) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,而這個(gè)函數(shù)的輸出即為一個(gè)標(biāo)量,用于描述生成樣本 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 與真實(shí)樣本 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 之間的差距。

而GAN模型的整體優(yōu)化目標(biāo)函數(shù)是:

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

其中函數(shù) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 如下:

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

根據(jù)連續(xù)函數(shù)的期望計(jì)算方法,上式變形為:

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

先求外層的 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 的話,對(duì)積分符號(hào)內(nèi)的多項(xiàng)式求導(dǎo)取極值得到目標(biāo)D:

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

代回原式:

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

所以,當(dāng)生成器G能生成出與真實(shí)樣本一樣分布的樣本,那么ok,就達(dá)到最好的結(jié)果,然后大家注意一點(diǎn),這里生成樣本的loss衡量方法是JS散度。

2.2. GAN面對(duì)離散型數(shù)據(jù)時(shí)的困境(啥是離散型數(shù)據(jù)?)

GAN的作者早在原版論文[8]時(shí)就提及,GAN只適用于連續(xù)型數(shù)據(jù)的生成,對(duì)于離散型數(shù)據(jù)效果不佳(使得一時(shí)風(fēng)頭無(wú)兩的GAN在NLP領(lǐng)域一直無(wú)法超越生成模型的另一大佬VAE[9])。文本數(shù)據(jù)就是最典型的一種離散型數(shù)據(jù),這里所謂的離散,并不是指:文本由一個(gè)詞一個(gè)詞組成,或是說(shuō)當(dāng)今最流行的文本生成框架,諸如Seq2Seq,也都是逐詞(或者逐個(gè)Character)生成的。因?yàn)槟呐吕梅茄h(huán)網(wǎng)絡(luò)進(jìn)行一次成型的Sentences生成,也無(wú)法避免“數(shù)據(jù)離散”帶來(lái)的后果,抱歉都怪我年輕時(shí)的無(wú)知,離散型數(shù)據(jù)的真正含義,我們要從連續(xù)性數(shù)據(jù)說(shuō)起。 圖像數(shù)據(jù)就是典型的連續(xù)性數(shù)據(jù),故而GAN能夠直接生成出逼真的畫(huà)面來(lái)。我們首先來(lái)看看圖像數(shù)據(jù)的形狀:

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

圖像數(shù)據(jù)在計(jì)算機(jī)中均被表示為矩陣,若是黑白圖像矩陣中元素的值即為像素值或者灰度值(抱歉外行了,我不是做圖像的),就算是彩色圖像,圖像張量即被多加了一階用于表示RGB通道,圖像矩陣中的元素是可微分的,其數(shù)值直接反映出圖像本身的明暗,色彩等因素,很多這樣的像素點(diǎn)組合在一起,就形成了圖像,也就是說(shuō),從圖像矩陣到圖像,不需要“采樣”(Sampling),有一個(gè)更形象的例子:畫(huà)圖軟件中的調(diào)色板,如下圖,你在調(diào)色板上隨便滑動(dòng)一下,大致感受一下圖像數(shù)據(jù)可微分的特性。

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

文本數(shù)據(jù)可就不一樣了,做文本的同學(xué)都知道,假設(shè)我們的詞庫(kù)(Vocabulary)大小為1000,那么每當(dāng)我們預(yù)測(cè)下一個(gè)出現(xiàn)的詞時(shí),理應(yīng)得到的是一個(gè)One-hot的Vector,這個(gè)Vector中有999項(xiàng)是0,只有一項(xiàng)是1,而這一項(xiàng)就代表詞庫(kù)中的某個(gè)詞。然而,真正的隔閡在于,我們每次用無(wú)論什么分類(lèi)器或者神經(jīng)網(wǎng)絡(luò)得到的直接結(jié)果,都是一個(gè)1000維的概率分布,而非正正好好是一個(gè)One-hot的Vector,即便是使用softmax作為輸出,頂多也只能得到某一維上特別大,其余維上特別小的情況,而將這種輸出結(jié)果過(guò)渡到One-hot vector 然后再?gòu)脑~庫(kù)中查詢出對(duì)應(yīng)index的詞,這樣的操作被稱為“Sampling”,通常,我們找出值最大的那一項(xiàng)設(shè)其為1,其余為0。

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

當(dāng)前神經(jīng)網(wǎng)絡(luò)的優(yōu)化方法大多數(shù)都是基于梯度的(Gradient based),很多文獻(xiàn)這么說(shuō):GAN在面對(duì)離散型數(shù)據(jù)時(shí),判別網(wǎng)絡(luò)無(wú)法將梯度Back propagation(BP)給生成網(wǎng)絡(luò)。這句話當(dāng)時(shí)讓我等聽(tīng)的云里霧里,不妨換一個(gè)角度理解,我們知道,基于梯度的優(yōu)化方法大致意思是這樣的,微調(diào)網(wǎng)絡(luò)中的參數(shù)(weight),看看最終輸出的結(jié)果有沒(méi)有變得好一點(diǎn),有沒(méi)有達(dá)到最好的情形。

但是判別器D得到的是Sampling之后的結(jié)果,也就是說(shuō),我們經(jīng)過(guò)參數(shù)微調(diào)之后,即便softmax的輸出優(yōu)化了一點(diǎn)點(diǎn),比如上圖的例子中,正確結(jié)果本應(yīng)是第三項(xiàng),其output的倒數(shù)第二項(xiàng)從 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 變?yōu)榱?強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,第三項(xiàng)從 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 變?yōu)榱?強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,但是經(jīng)過(guò)Sampling之后,生成器G輸出的結(jié)果還是跟以前一模一樣,并再次將相同的答案重復(fù)輸入給判別器D,這樣判別器D給出的評(píng)價(jià)就會(huì)毫無(wú)意義,生成器G的訓(xùn)練也會(huì)失去方向。

有人說(shuō),與其這樣不如每次給判別器D直接吃Sampling之前的結(jié)果,也就是softamx輸出的那個(gè)distribution,同樣,這么做也有很大的問(wèn)題。我們回到GAN的基本原理,判別器D的初衷,它經(jīng)歷訓(xùn)練就是為了準(zhǔn)確辨別生成樣本和真實(shí)樣本的,那么生成樣本是一個(gè)充滿了float小數(shù)的分布,而真實(shí)樣本是一個(gè)One-hot Vector,判別器D很容易“作弊”,它根本不用去判斷生成分布是否與真實(shí)分布更加接近,它只需要識(shí)別出給到的分布是不是除了一項(xiàng)是 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,其余都是 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 就可以了。所以無(wú)論Sampling之前的分布無(wú)論多么接近于真實(shí)的One-hot Vector,只要它依然是一個(gè)概率分布,都可以被判別器D輕易地檢測(cè)出來(lái)。

上面所說(shuō)的原因當(dāng)然也有數(shù)學(xué)上的解釋,還記得在2.1節(jié)的時(shí)候,請(qǐng)大家注意生成樣本的loss衡量標(biāo)準(zhǔn)是什么嗎?沒(méi)錯(cuò),就是JS散度, 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 在應(yīng)用上其實(shí)是有弱點(diǎn)的(參考文獻(xiàn)[10]),它只能被正常地應(yīng)用于互有重疊(Overlap)的兩個(gè)分布,當(dāng)面對(duì)互不重疊的兩個(gè)分布 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上)強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,其JS散度:

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

大家再想想,除非softmax能output出與真實(shí)樣本 exactly 相同的獨(dú)熱分布(One-hot Vector)(當(dāng)然這是不可能的),還有什么能讓生成樣本的分布與真實(shí)樣本的分布發(fā)生重疊呢?于是,生成器無(wú)論怎么做基于Gradient 的優(yōu)化,輸出分布與真實(shí)分布的 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 始終是 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,生成器G的訓(xùn)練于是失去了意義。

3. 過(guò)渡方案:對(duì)于GAN的直接改進(jìn)用于文本生成

為了解決GAN在面對(duì)離散數(shù)據(jù)時(shí)的困境,最直接的想法是對(duì)GAN內(nèi)部的一些計(jì)算方式進(jìn)行微調(diào),這種對(duì)于GAN內(nèi)部計(jì)算方式的直接改進(jìn)也顯示出了一定的效果,為后面將GAN直接、流暢地應(yīng)用于文本等離散型數(shù)據(jù)的生成帶來(lái)了希望。 接下來(lái)簡(jiǎn)單介紹相關(guān)的兩篇工作[11~12]。

3.1. Wasserstein-divergence,額外的禮物

Wasserstein GAN[13](簡(jiǎn)稱WGAN),其影響力似乎達(dá)到了原版GAN的高度,在國(guó)內(nèi)也有一篇與其影響力相當(dāng)?shù)牟┪摹傲钊伺陌附薪^的Wasserstein GAN”[10],不過(guò)在看這篇論文之前,還要推薦另外一篇論文“f-GAN”[14],這篇論文利用芬切爾共軛(Fenchel Conjugate)的性質(zhì)證明了任何 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 都可以作為原先GAN中 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) (或者說(shuō) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) )的替代方案。 f-GAN 的定義如下:

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

公式中的 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 被稱為 f函數(shù),它必須滿足以下要求:

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

不難看出, 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 也是 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 的一種,f-GAN 原文提供了數(shù)十種各式各樣的 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,為GAN接下來(lái)沿此方向上的改進(jìn)帶來(lái)了無(wú)限可能。

Wasserstein GAN 對(duì)GAN的改進(jìn)也是從替換 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 這個(gè)角度對(duì)GAN進(jìn)行改進(jìn),其詳細(xì)的妙處大可參看文獻(xiàn)[10,13],總的來(lái)說(shuō),WGAN采用了一種奇特的 Divergence—— “推土機(jī)-Divergence”, 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 將兩個(gè)分布看作兩堆土,Divergence 計(jì)算的就是為了將兩個(gè)土堆推成一樣的形狀所需要泥土搬運(yùn)總距離。如下圖:

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

使用 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 訓(xùn)練的GAN相比原版的GAN有更加明顯的“演化”過(guò)程,換句話說(shuō)就是,WGAN的訓(xùn)練相比與GAN更加能突顯從“不好”到“不錯(cuò)”的循序漸經(jīng)的過(guò)程。從上面的2.2節(jié),我們知道JS散度在面對(duì)兩個(gè)分布不相重疊的情況時(shí),將發(fā)生“異?!?,計(jì)算結(jié)果均為 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,GAN的訓(xùn)練過(guò)程也是這樣,也許在很長(zhǎng)一段訓(xùn)練的過(guò)程中,JS散度的返回值都是 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,只有到達(dá)某個(gè)臨界點(diǎn)時(shí),才會(huì)突然優(yōu)化為接近最優(yōu)值的結(jié)果,而Wasserstein散度的返回值則要平滑很多。

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

既然Wasserstein散度能夠克服JS散度的上述弱點(diǎn),那么使用Wasserstein GAN直接吸收生成器G softmax層output的Distribution Vector 與真實(shí)樣本的 One-hot Vector,用判別器D 進(jìn)行鑒定,即便判別器D不會(huì)傻到真的被“以假亂真”,但生成器output每次更加接近于真實(shí)樣本的“進(jìn)步”總算還是能被傳回,這樣就保證了對(duì)于離散數(shù)據(jù)的對(duì)抗訓(xùn)練能夠繼續(xù)下去。不過(guò)Wasserstein GAN的原著放眼于對(duì)于GAN更加遠(yuǎn)大的改進(jìn)意義,并沒(méi)有著重給出關(guān)于文本生成等離散數(shù)據(jù)處理的實(shí)驗(yàn),反倒是后來(lái)的一篇“Improved Training of Wasserstein GANs”[11]專門(mén)給出了文本生成的實(shí)驗(yàn),從結(jié)果上可以看出,WGAN生成的文本雖然遠(yuǎn)不及當(dāng)下最牛X的文本生成效果,但好歹能以character為單位生成出一些看上去稍微正常一點(diǎn)的結(jié)果了,對(duì)比之下,GAN關(guān)于文本生成的生成結(jié)果顯然是崩塌的。

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

3.2. Gumbel-softmax,模擬Sampling的softmax

另外一篇來(lái)自華威大學(xué)+劍橋大學(xué)的工作把改進(jìn)GAN用于離散數(shù)據(jù)生成的重心放在了修改softmax的output這方面。如2.2節(jié)所述,Sampling 操作中的 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 函數(shù)將連續(xù)的softmax輸出抽取成離散的成型輸出,從而導(dǎo)致Sampling的最終output是不可微的,形成GAN對(duì)于離散數(shù)據(jù)生成的最大攔路虎,既然不用Sampling的時(shí)候,output與真實(shí)分布不重疊,導(dǎo)致JS散度停留于固定值 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,如果用了Sampling的話,離散數(shù)據(jù)的正常輸出又造成了梯度 Back-Propagation 上天然的隔閡。

既然如此,論文的作者尋找了一種可以高仿出Sampling效果的特殊softmax,使得softmax的直接輸出既可以保證與真實(shí)分布的重疊,又能避免Sampling操作對(duì)于其可微特征的破壞。它就是“耿貝爾-softmax”(Gumbel-Softmax),Gumbel-Softmax早先已經(jīng)被應(yīng)用于離散標(biāo)簽的再分布化[15](Categorical Reparameterization),在原先的Sampling操作中, 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 函數(shù)將普通softmax的輸出轉(zhuǎn)化成One-hot Vector:

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

而Gumbel-Softmax略去了 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) + 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 這一步,能夠直接給出近似Sampling操作的輸出:

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

精髓在于這其中的“逆溫參數(shù)” 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,當(dāng) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 時(shí),上式所輸出的分布等同于 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) + 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 給出的 Sampling 分布,而當(dāng) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 時(shí),上式的輸出就接近于均勻分布,而 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 則作為這個(gè)特殊softmax中的一個(gè)超參數(shù),給予一個(gè)較大的初始值,通過(guò)訓(xùn)練學(xué)習(xí)逐漸變小,向 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 逼近,這一部分詳細(xì)內(nèi)容可以閱讀文獻(xiàn)[15]。

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

論文的實(shí)驗(yàn)僅僅嘗試使用配合Gumbel-Softmax的GAN進(jìn)行長(zhǎng)度固定為12的 Context-free grammar 序列生成,可見(jiàn)GAN的訓(xùn)練并沒(méi)有崩塌,在少數(shù)樣例上也得到了還算逼真的效果。

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

所以,對(duì)于GAN進(jìn)行直接改進(jìn)用于文本生成,雖說(shuō)是取得了一定的成效,但距離理想的狀態(tài)仍然道阻且長(zhǎng),有沒(méi)有更好的辦法呢?當(dāng)然!

4. RL在GAN文本生成中所扮演的作用

4.1. 關(guān)于Reinforcement Learning的閑聊閑扯

強(qiáng)化學(xué)習(xí)(Reinforcement Learning,RL)由于其前衛(wèi)的學(xué)習(xí)方式,本不如監(jiān)督學(xué)習(xí)那么方便被全自動(dòng)化地實(shí)現(xiàn),并且在很多現(xiàn)實(shí)應(yīng)用中學(xué)習(xí)周期太長(zhǎng),一直沒(méi)有成為萬(wàn)眾矚目的焦點(diǎn),直到圍棋狗的出現(xiàn),才吸引了眾多人的眼球。

RL通常是一個(gè)馬爾科夫決策過(guò)程,在各個(gè)狀態(tài) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 下執(zhí)行某個(gè)動(dòng)作 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 都將獲得獎(jiǎng)勵(lì)(或者是"負(fù)獎(jiǎng)勵(lì)"——懲罰) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,而將從頭到尾所有的動(dòng)作連在一起就稱為一個(gè)“策略”或“策略路徑” 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,強(qiáng)化學(xué)習(xí)的目標(biāo)就是找出能夠獲得最多獎(jiǎng)勵(lì)的最優(yōu)策略:

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

為了達(dá)到這個(gè)目標(biāo),強(qiáng)化學(xué)習(xí)機(jī)可以在各個(gè)狀態(tài)嘗試各種可能的動(dòng)作,并通過(guò)環(huán)境(大多數(shù)是人類(lèi))反饋的獎(jiǎng)勵(lì)或者懲罰,評(píng)估并找出能夠最大化期望獎(jiǎng)勵(lì)強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 的策略。

其實(shí)也有人將RL應(yīng)用于對(duì)話生成的訓(xùn)練當(dāng)中[16],因?yàn)閷?duì)話生成任務(wù)本身非常符合強(qiáng)化學(xué)習(xí)的運(yùn)行機(jī)理(讓人類(lèi)滿意,拿獎(jiǎng)勵(lì))。設(shè),根據(jù)輸入句子 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,返回的回答 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 從人類(lèi)得到的獎(jiǎng)勵(lì)記為 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,而Encoder-Decoder對(duì)話模型服從的參數(shù)被統(tǒng)一記為 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,則基于RL的目標(biāo)函數(shù)說(shuō)白了就是最大化生成對(duì)話的期望獎(jiǎng)勵(lì),其中 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 表示在參數(shù) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 下,一組對(duì)話 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 出現(xiàn)的概率。

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

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

既然是一個(gè)最優(yōu)化的問(wèn)題,很直接地便想到使用基于梯度(Gradient)的優(yōu)化方法解決。當(dāng)然,在強(qiáng)化學(xué)習(xí)中,我們要得到的是最優(yōu)策略 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,此過(guò)程便在強(qiáng)化學(xué)習(xí)領(lǐng)域常聽(tīng)到的 Policy Gradient。我們把等式右邊 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 中的項(xiàng)單獨(dú)記為 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,它表示對(duì)話模型找到最優(yōu)參數(shù)時(shí)所得到的獎(jiǎng)勵(lì)期望。在實(shí)做時(shí),設(shè)某句話的應(yīng)答有$N$種可能性,則每組對(duì)話 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 出現(xiàn)的概率可視為服從均勻分布,故還可以進(jìn)行如下變形:

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

在優(yōu)化過(guò)程中,對(duì)話模型的權(quán)重 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 更新如下, 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 為所獲獎(jiǎng)勵(lì)的變化梯度,

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

借助復(fù)合函數(shù)的求導(dǎo)法則,繼續(xù)推導(dǎo)獎(jiǎng)勵(lì)的變化梯度,

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

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

這樣一來(lái),梯度優(yōu)化的重心就轉(zhuǎn)化到了生成對(duì)話的概率上來(lái),也就是說(shuō),通過(guò)對(duì)參數(shù) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 進(jìn)行更新,獎(jiǎng)勵(lì)會(huì)使模型趨于將優(yōu)質(zhì)對(duì)話的出現(xiàn)概率提高,而懲罰則會(huì)讓模型趨于將劣質(zhì)對(duì)話的出現(xiàn)概率降低。

自AlphaGo使得強(qiáng)化學(xué)習(xí)猛然進(jìn)入大眾視野以來(lái),大部分對(duì)于強(qiáng)化學(xué)習(xí)的理論研究都將游戲作為主要實(shí)驗(yàn)平臺(tái),這一點(diǎn)不無(wú)道理,強(qiáng)化學(xué)習(xí)理論上的推導(dǎo)看似邏輯通順,但其最大的弱點(diǎn)在于,基于人工評(píng)判的獎(jiǎng)勵(lì) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 的獲得,讓實(shí)驗(yàn)人員守在電腦前對(duì)模型吐出來(lái)的結(jié)果不停地打分看來(lái)是不現(xiàn)實(shí)的,游戲系統(tǒng)恰恰能會(huì)給出正確客觀的打分(輸/贏 或 游戲Score)?;赗L的對(duì)話生成同樣會(huì)面對(duì)這個(gè)問(wèn)題,研究人員采用了類(lèi)似AlphaGo的實(shí)現(xiàn)方式(AI棋手對(duì)弈)——同時(shí)運(yùn)行兩個(gè)機(jī)器人,讓它們自己互相對(duì)話,同時(shí),使用預(yù)訓(xùn)練(pre-trained)好的“打分器”給出每組對(duì)話的獎(jiǎng)勵(lì)得分 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,關(guān)于這個(gè)預(yù)訓(xùn)練的“打分器” 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ,可以根據(jù)實(shí)際的應(yīng)用和需求自己DIY。 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上)

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

稍微感受一下RL ChatBot的效果:

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

4.2. SeqGAN 和 Conditional SeqGAN

前面說(shuō)了這么多,終于迎來(lái)到了高潮部分:RL + GAN for Text Generation,SeqGAN[17]站在前人RL Text Generation的肩膀上,可以說(shuō)是GAN for Text Generation中的代表作。上面雖然花了大量篇幅講述RL ChatBot的種種機(jī)理,其實(shí)都是為了它來(lái)做鋪墊。試想我們使用GAN中的判別器D作為強(qiáng)化學(xué)習(xí)中獎(jiǎng)勵(lì) 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 的來(lái)源,假設(shè)需要生成長(zhǎng)度為T(mén)的文本序列,則對(duì)于生成文本的獎(jiǎng)勵(lì)值 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 計(jì)算可以轉(zhuǎn)化為如下形式:

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

這里要說(shuō)明幾點(diǎn),假設(shè)需要生成的序列總長(zhǎng)度為 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) , 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 是指先前已經(jīng)生成的部分序列(在RL中可視為當(dāng)前的狀態(tài)),通過(guò)蒙特卡洛搜索得到 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 種后續(xù)的序列,盡管文本生成依舊是逐詞尋找期望獎(jiǎng)勵(lì)最大的Action(下一個(gè)詞),判別器D還是以整句為單位對(duì)生成的序列給出得分 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 。

在新一代的判別器 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 訓(xùn)練之前,生成器 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 根據(jù)當(dāng)前判別器 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 返回的得分不斷優(yōu)化自己:

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

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

直到生成器G生成的文本足以亂真的時(shí)候,就是更新訓(xùn)練新判別器的時(shí)候了。一般來(lái)說(shuō),判別器D對(duì)生成序列打出的得分既是其判斷該序列為真實(shí)樣本的概率值,按照原版GAN的理論,判別器D對(duì)于 real/fake 樣本給出的鑒定結(jié)果均為 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 時(shí),說(shuō)明生成器G所生成的樣本足以亂真,那么倘若在上面的任務(wù)中,判別器屢屢對(duì)生成樣本打出接近甚至高出 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 的得分時(shí),即說(shuō)明判別器D需要再訓(xùn)練了。在實(shí)做中為了方便,一般等待多輪生成器的訓(xùn)練后,進(jìn)行一次判別器的訓(xùn)練。

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

SeqGAN的提出為GAN用于對(duì)話生成(Chatbot)完成了重要的鋪墊,同樣起到鋪墊作用的還有另外一個(gè)GAN在圖像生成領(lǐng)域的神奇應(yīng)用——Conditional GAN[18~19],有條件的GAN,顧名思義就是根據(jù)一定的條件生成一定的東西,該工作根據(jù)輸入的文字描述作為條件,生成對(duì)應(yīng)的圖像,比如:

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

對(duì)話生成可以理解為同樣的模式,上一句對(duì)話作為條件,下一句應(yīng)答則為要生成的數(shù)據(jù),唯一的不同是需要生成離散的文本數(shù)據(jù),而這個(gè)問(wèn)題,SeqGAN已經(jīng)幫忙解決了。綜上,我自己給它起名:Conditional SeqGAN[20]。根據(jù)4.1節(jié)以及本節(jié)的推導(dǎo),Conditional SeqGAN中的優(yōu)化梯度可寫(xiě)成:

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

不難看出,此式子與4.1節(jié)中的變化梯度僅一字之差,只是把“打分器”給出的獎(jiǎng)勵(lì)得分 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 換成了鑒別器認(rèn)為生成對(duì)話來(lái)自真人的概率得分 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) ??此撇顒e很很小,實(shí)際上 RL + GAN 的文本生成技術(shù)與單純基于RL的文本生成技術(shù)有著本質(zhì)的區(qū)別:在原本的強(qiáng)化學(xué)習(xí)對(duì)話生成中,雖然采用了AI互相對(duì)話,并設(shè)定了 jugle 進(jìn)行打分,但這個(gè) jugle 是預(yù)訓(xùn)練好的,在對(duì)話模型的訓(xùn)練過(guò)程當(dāng)中將不再發(fā)生變化;RL + GAN 的文本生成乃至對(duì)話模型則不同,鑒別器D與生成器G的訓(xùn)練更新將交替進(jìn)行,此消彼長(zhǎng),故而給出獎(jiǎng)勵(lì)得分的鑒別器D在這里是動(dòng)態(tài)的(dynamic)。

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

RL+ GAN 利用強(qiáng)化學(xué)習(xí)中的 強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(上) 機(jī)制以及 Policy Gradient 等技術(shù),巧妙地避開(kāi)了GAN面對(duì)離散數(shù)據(jù)時(shí)梯度無(wú)法BP的難題,在使用強(qiáng)化學(xué)習(xí)的方法訓(xùn)練生成器G的間隙,又采用對(duì)抗學(xué)習(xí)的原版方法訓(xùn)練判別器D。 在Conditional SeqGAN對(duì)話模型的一些精選結(jié)果中,RL+ GAN 訓(xùn)練得到的生成器時(shí)常能返回一些類(lèi)似真人的逼真回答(我真有那么一絲絲接近“恐怖谷”的感受)。

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

另外,相關(guān)細(xì)節(jié)與延伸參見(jiàn)強(qiáng)化學(xué)習(xí)在生成對(duì)抗網(wǎng)絡(luò)文本生成中扮演的角色(Role of RL in Text Generation by GAN)(下)。

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

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

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

編輯

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