趙婷婷,宋亞靜,李貴喜,王 嫄,陳亞瑞,任德華
(天津科技大學(xué)人工智能學(xué)院,天津300457)
深度強(qiáng)化學(xué)習(xí)(deep reinforcement learning,DRL)集成了深度學(xué)習(xí)對(duì)復(fù)雜環(huán)境的感知能力,以及強(qiáng)化學(xué)習(xí)對(duì)復(fù)雜場(chǎng)景的決策能力,實(shí)現(xiàn)了端到端的學(xué)習(xí)模式[1].深度強(qiáng)化學(xué)習(xí)的出現(xiàn)使得強(qiáng)化學(xué)習(xí)技術(shù)真正走向?qū)嵱?,解決現(xiàn)實(shí)場(chǎng)景中的復(fù)雜問題[2],在無(wú)人駕駛[3-4]、智能交通系統(tǒng)[5]、機(jī)器人系統(tǒng)[6-7]、游戲[8]等領(lǐng)域取得了突破性進(jìn)展,被認(rèn)為是最有希望實(shí)現(xiàn)通用人工智能目標(biāo)的研究領(lǐng)域之一.目前,更多的研究者開始把深度強(qiáng)化學(xué)習(xí)應(yīng)用在各種不同領(lǐng)域,例如視覺導(dǎo)航[9]、細(xì)粒度圖像分類[10]、商業(yè)游戲[11]、金融決策等[12].在自然語(yǔ)言處理(natural language processing,NLP)的文本生成領(lǐng)域中,有不少研究者嘗試使用深度強(qiáng)化學(xué)習(xí)改進(jìn)現(xiàn)有的網(wǎng)絡(luò)模型結(jié)構(gòu)或者網(wǎng)絡(luò)訓(xùn)練流程,并取得了顯著性成果[13].
文本自動(dòng)生成是自然語(yǔ)言處理領(lǐng)域的一個(gè)重要研究方向,實(shí)現(xiàn)文本自動(dòng)生成也是人工智能走向成熟的一個(gè)重要標(biāo)志[14].文本生成問題是以文本、圖像、數(shù)據(jù)等作為輸入,通過計(jì)算機(jī)處理輸出文本的過程.文本生成技術(shù)作為各種生成任務(wù)的關(guān)鍵模塊被廣泛采用,包括機(jī)器翻譯[15]、摘要總結(jié)[16-17]、圖像字幕[18-19]、風(fēng)格轉(zhuǎn)換[20]等,文本生成模式根據(jù)各自應(yīng)用場(chǎng)景而不同.本文關(guān)注的是以已有文本為輸入,輸出相似類型文本的創(chuàng)作型文本生成任務(wù).
自然語(yǔ)言生成問題通常是基于高維且稀疏的特征利用機(jī)器學(xué)習(xí)方法訓(xùn)練淺層模型[21].隨著神經(jīng)網(wǎng)絡(luò)及其變體在諸多任務(wù)中展示出良好的應(yīng)用前景,Bengio等[22]提出了進(jìn)行文本生成任務(wù)的神經(jīng)網(wǎng)絡(luò)語(yǔ)言模型,從語(yǔ)言模型的角度出發(fā),將模型求解最優(yōu)值的過程轉(zhuǎn)換為求詞向量預(yù)測(cè)的過程[23].然而,該方法不能捕捉單詞之間的長(zhǎng)期依賴關(guān)系,使得文本脫離了上下文.為了解決此問題,Kombrink等[24]提出了遞歸神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)語(yǔ)言模型,它是一種加入了馬爾可夫特性的語(yǔ)言模型.遞歸神經(jīng)網(wǎng)絡(luò)隱藏層之間的節(jié)點(diǎn)也是有連接的,且隱藏層接收來自輸入層的輸出和上一時(shí)刻隱藏層的輸出,因此RNN模型能保留句子之間的依賴關(guān)系[24].然而,由于RNN模型的梯度消失問題,使得RNN語(yǔ)言模型更善于學(xué)習(xí)距離較近的依賴關(guān)系.為了預(yù)測(cè)長(zhǎng)距離的依賴關(guān)系,長(zhǎng)短時(shí)記憶(long short-term memory,LSTM)[25]、門控循環(huán)單元(gated recurrent unit,GRU)[26]等被陸續(xù)提出.訓(xùn)練RNN模型最常用的方法是使用最大似然估計(jì)(maximum likelihood estimation,MLE)[27].然而,由于訓(xùn)練階段與推理階段的內(nèi)在差異,MLE在理論上存在暴露偏差(exposure bias)問題,即模型在訓(xùn)練時(shí)基于真實(shí)樣本前綴生成后續(xù)字符,而在推理時(shí)基于模型生成的字符前綴預(yù)測(cè)下一字符[28].這種差異隨著序列長(zhǎng)度的增加而累積,因此在長(zhǎng)文本生成任務(wù)中效果不佳.為了解決這一問題,計(jì)劃抽樣(scheduled sampling,SS)模型被提出,該模型以ε的概率選擇真實(shí)樣本前綴,以1?ε的概率選擇生成字符前綴,以此消除訓(xùn)練和推理階段的差異[29].SS模型與MLE相比有明顯改善,但Huszár[30]從理論的角度證明了計(jì)劃抽樣是個(gè)不一致的策略,并不能從本質(zhì)上解決暴露偏差問題.
為了有效解決暴露偏差問題,Guo[31]提出利用強(qiáng)化學(xué)習(xí)改變傳統(tǒng)生成模型的訓(xùn)練方式.隨后,強(qiáng)化學(xué)習(xí)的Actor-Critic框架[32]也被用來和編碼-解碼器模型相結(jié)合應(yīng)用于文本生成任務(wù)中[33].除了這種利用值函數(shù)求解改變生成模型訓(xùn)練方式的方法,還可將基于循環(huán)神經(jīng)網(wǎng)絡(luò)的文本序列生成模型看作是馬爾可夫過程[34].如何獲得精準(zhǔn)的獎(jiǎng)勵(lì)函數(shù)設(shè)計(jì)指導(dǎo)生成模型的輸出是將強(qiáng)化學(xué)習(xí)應(yīng)用于文本生成任務(wù)的研究重點(diǎn),Papineni等[35]提出使用強(qiáng)化學(xué)習(xí)算法直接優(yōu)化生成句子任務(wù)的評(píng)價(jià)指標(biāo),把測(cè)試時(shí)用的雙語(yǔ)評(píng)估替換(bilingual evaluation understudy,BLEU)和基于召回率替換的二元主旨評(píng)價(jià)指標(biāo)(recall-oriented understudy for gisting evaluation,ROUGE)[36]作為訓(xùn)練模型時(shí)的獎(jiǎng)勵(lì)[37].但這種使用靜態(tài)獎(jiǎng)勵(lì)的方法計(jì)算量非常大,而且只能計(jì)算出真實(shí)文本與生成文本的n-gram相似性[38],并不是一個(gè)完美的度量標(biāo)準(zhǔn).Yu等[39]成功將生成對(duì)抗網(wǎng)絡(luò)[40]應(yīng)用于自然語(yǔ)言處理的離散任務(wù)中,提出利用判別器為強(qiáng)化學(xué)習(xí)智能體提供動(dòng)態(tài)獎(jiǎng)勵(lì).但基于二分類的判別器提供的信息有限,使生成模型在訓(xùn)練時(shí)存在獎(jiǎng)勵(lì)稀疏及模式崩潰的問題.RankGAN[41]、MaliGAN[42]、LeakGAN[43]算法通過設(shè)計(jì)不同的提供獎(jiǎng)勵(lì)信息的方式解決上述問題.因此,獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)是算法設(shè)計(jì)中的核心,這也是本文將要探討的主要內(nèi)容.
本文將以基于強(qiáng)化學(xué)習(xí)的文本生成任務(wù)為核心展開綜述,首先介紹強(qiáng)化學(xué)習(xí)的背景知識(shí)及文本生成任務(wù)建模,然后綜述強(qiáng)化學(xué)習(xí)方法在文本生成任務(wù)中的應(yīng)用并分析各算法優(yōu)缺點(diǎn),最后總結(jié)全文并分析深度強(qiáng)化學(xué)習(xí)技術(shù)與自然語(yǔ)言生成任務(wù)相結(jié)合的研究趨勢(shì)和應(yīng)用前景.
強(qiáng)化學(xué)習(xí)描述的是智能體為實(shí)現(xiàn)任務(wù)而連續(xù)作出決策控制的過程,其以試錯(cuò)機(jī)制與環(huán)境進(jìn)行交互,最終找到適合當(dāng)前狀態(tài)的最優(yōu)動(dòng)作選擇策略,取得整個(gè)決策過程的最大累積獎(jiǎng)賞[44],基本框架如圖1所示.
圖1 強(qiáng)化學(xué)習(xí)基本框架Fig. 1 Framework of reinforcement learning
強(qiáng)化學(xué)習(xí)任務(wù)通常建模為馬爾可夫決策過程(Markov decision process,MDP)[45],由狀態(tài)集合S、動(dòng)作集合A、狀態(tài)轉(zhuǎn)移函數(shù)P、初始狀態(tài)概率密度P0和獎(jiǎng)勵(lì)函數(shù)R這5個(gè)基本元素組成.強(qiáng)化學(xué)習(xí)的核心是找到能夠產(chǎn)生最優(yōu)動(dòng)作的策略π,π可定義為狀態(tài)空間到動(dòng)作空間的映射.智能體在當(dāng)前狀態(tài)ts下根據(jù)策略π選擇動(dòng)作at作用于環(huán)境,接收到環(huán)境反饋的獎(jiǎng)勵(lì)rt,并以轉(zhuǎn)移概率轉(zhuǎn)移到下一個(gè)狀態(tài)st+1.強(qiáng)化學(xué)習(xí)的目的是通過不斷調(diào)整策略使長(zhǎng)期累積獎(jiǎng)勵(lì)最大化,表示折扣因子.為了預(yù)測(cè)累計(jì)獎(jiǎng)勵(lì)的期望大小,有兩種類型的價(jià)值函數(shù):狀態(tài)值函數(shù)π()V s和狀態(tài)-動(dòng)作值函數(shù).狀態(tài)值函數(shù)在遵循策略π下描述某個(gè)狀態(tài)的期望獎(jiǎng)勵(lì).狀態(tài)-動(dòng)作值函數(shù)在遵循策略π下描述某個(gè)狀態(tài)下執(zhí)行某個(gè)動(dòng)作的期望獎(jiǎng)勵(lì).隨后,可以根據(jù)或者得到最優(yōu)策略 π*.
求解強(qiáng)化學(xué)習(xí)問題主要可通過基于值函數(shù)的策略迭代與基于策略的策略搜索兩大算法.基于值函數(shù)的策略迭代根據(jù)上述的值函數(shù)貪婪地選擇值函數(shù)最大的動(dòng)作,有效地解決離散狀態(tài)動(dòng)作空間問題.基于策略的策略搜索直接對(duì)策略建模并學(xué)習(xí),此類算法適用于解決具有連續(xù)動(dòng)作空間的復(fù)雜決策任務(wù).
基于值函數(shù)的策略迭代方法通常使用線性或者非線性的函數(shù)逼近器近似表示狀態(tài)值函數(shù)或者動(dòng)作值函數(shù),其通過選擇最大值函數(shù)的動(dòng)作從而獲得策略.基于值函數(shù)的策略迭代方法的核心是對(duì)狀態(tài)值函數(shù)或者動(dòng)作值函數(shù)進(jìn)行近似估計(jì),其中,時(shí)序差分學(xué)習(xí)[46]和Q學(xué)習(xí)[47]是分別用于求解狀態(tài)值函數(shù)和動(dòng)作值函數(shù)的經(jīng)典算法.Mnih等[48]提出了深度Q網(wǎng)絡(luò)(deep Q-network,DQN)模型,該模型創(chuàng)新性地將卷積神經(jīng)網(wǎng)絡(luò)和Q學(xué)習(xí)相結(jié)合,可以直接將游戲的原始圖像作為輸入,不依賴于手動(dòng)提取特征,實(shí)現(xiàn)了端到端的學(xué)習(xí)方式.自DQN被提出后,出現(xiàn)了各種改進(jìn)方法,其中包括對(duì)訓(xùn)練算法的改進(jìn)、網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)、學(xué)習(xí)機(jī)制的改進(jìn)以及算法的改進(jìn)等[49].Schaul等[50]提出了一種帶有優(yōu)先級(jí)經(jīng)驗(yàn)回放的DQN模型,Van Hasselt等[51]提出了Double DQN模型,Wang等[52]提出了基于DQN的競(jìng)爭(zhēng)網(wǎng)絡(luò)模型,Hausknecht等[53]提出了DRQN模型,F(xiàn)ortunato等[54]提出了Noisy DQN模型,Bellemare等[55]提出了分布式DQN模型.
基于值函數(shù)的策略學(xué)習(xí)方法需要計(jì)算所有狀態(tài)-動(dòng)作值函數(shù),再?gòu)闹羞x擇值函數(shù)最優(yōu)的對(duì)應(yīng)動(dòng)作.此類方法可以有效解決離散狀態(tài)空間問題,但是由于值函數(shù)的極度非凸性,因此難以在每一個(gè)時(shí)間步驟都通過最大化值函數(shù)選擇動(dòng)作.
基于策略的策略搜索方法直接對(duì)策略進(jìn)行建模學(xué)習(xí),適用于解決具有連續(xù)動(dòng)作空間的復(fù)雜決策任務(wù).最具代表性的傳統(tǒng)策略搜索算法包括PEGASUS[56]、策略梯度[57-58]、自然策略梯度[59]、EM[60]及NAC等[32]. 其中,策略梯度算法是最實(shí)用、最易于實(shí)現(xiàn)且被廣泛應(yīng)用的一種策略搜索方法.
相比于基于值函數(shù)的方法,基于策略的方法直接在策略空間中搜索最優(yōu)策略,省去了求解值函數(shù)的繁瑣環(huán)節(jié).基于策略的策略搜索方法能夠有效解決高維度連續(xù)動(dòng)作空間問題.然而,由于所處理問題的復(fù)雜性,基于策略的方法容易陷入局部最優(yōu);此外,由于梯度估計(jì)方差過大,導(dǎo)致算法不穩(wěn)定且收斂慢.
基于策略的策略搜索方法根據(jù)累計(jì)期望回報(bào)指導(dǎo)策略參數(shù)調(diào)整幅度,使用蒙特卡羅采樣估計(jì)期望回報(bào)時(shí)需要完整的狀態(tài)序列以積累多步的回報(bào),因此會(huì)導(dǎo)致方差大的問題.Bahdanau等[33]結(jié)合了基于值函數(shù)及基于策略的方法,提出Actor-Critic(AC)算法框架.Actor即為策略函數(shù),其與環(huán)境交互生成動(dòng)作;Critic通過神經(jīng)網(wǎng)絡(luò)擬合值函數(shù)指導(dǎo)Actor進(jìn)行更新.相比基于值函數(shù)的算法,AC算法借鑒了策略梯度的做法,使其能夠處理具有連續(xù)或者高維動(dòng)作空間的決策任務(wù).相比傳統(tǒng)的策略梯度算法,AC算法能進(jìn)行單步更新而不是以軌跡為單位的更新.然而,AC算法框架屬于在策略(on-policy)算法,其無(wú)法使用經(jīng)驗(yàn)回放提升學(xué)習(xí)效率.
針對(duì)上述問題,研究者從異步、離散策略、穩(wěn)定性方面改進(jìn),提出了具體改進(jìn)算法,如異步優(yōu)勢(shì)動(dòng)作評(píng)價(jià)(asynchronous advantage actor-critic,A3C)[62]、深度確定性策略梯度(deep deterministic policy gradient,DDPG)[62]、置信域策略優(yōu)化(trust region policy optimization,TRPO)[63]等經(jīng)典算法.
將文本生成任務(wù)建模為強(qiáng)化學(xué)習(xí)可以很好地解決傳統(tǒng)文本生成方法所存在的暴露偏差問題.基于強(qiáng)化學(xué)習(xí)的文本生成方法主要分為通過值函數(shù)的求解改變編碼-解碼模型訓(xùn)練方式的方法以及直接求解策略得到生成模型的方法.
Guo[31]將深度強(qiáng)化學(xué)習(xí)應(yīng)用到文本生成任務(wù)中,提出了一種基于深度Q網(wǎng)絡(luò)的序列生成框架以解決文本生成任務(wù)中詞匯空間過大的難題.該模型的狀態(tài)為某一時(shí)刻的輸入詞匯和輸出詞匯,獎(jiǎng)勵(lì)為評(píng)價(jià)文本相似性的雙語(yǔ)評(píng)估替換指標(biāo),其利用傳統(tǒng)的編碼-解碼語(yǔ)言模型中的解碼器為深度Q網(wǎng)絡(luò)生成動(dòng)態(tài)的候選動(dòng)作空間,并使用雙向長(zhǎng)短期記憶網(wǎng)絡(luò)作為深度Q網(wǎng)絡(luò)的網(wǎng)絡(luò)模型.該模型極大地減小了深度Q網(wǎng)絡(luò)需要處理的動(dòng)作空間,從上萬(wàn)的詞匯空間減少至數(shù)十個(gè)候選詞匯.此外,文中選取了10000條句子進(jìn)行自然語(yǔ)言再生任務(wù)實(shí)驗(yàn),即盡量使基于深度Q網(wǎng)絡(luò)改進(jìn)的解碼器的輸出和編碼器的輸入一致.實(shí)驗(yàn)結(jié)果表明,此模型比使用長(zhǎng)短期記憶網(wǎng)絡(luò)模型的解碼器生成的句子獲得的平均平滑雙語(yǔ)評(píng)估替換指標(biāo)更高.
上述基于值函數(shù)的文本生成方法都需要值函數(shù)的求解,通常是利用深度Q網(wǎng)絡(luò)將文本生成任務(wù)建模為序列決策問題,狀態(tài)和動(dòng)作都是自然語(yǔ)言的形式.然而,由于需要單獨(dú)求解值函數(shù),且在文本生成任務(wù)中狀態(tài)空間和動(dòng)作空間都很龐大,此類方法在訓(xùn)練時(shí)往往不穩(wěn)定,其性能還有待改進(jìn).
基于循環(huán)神經(jīng)網(wǎng)絡(luò)的文本序列生成模型將文本生成任務(wù)建模為馬爾可夫過程[34],通過最大化生成文本的獎(jiǎng)勵(lì)期望獲得最優(yōu)文本生成策略,利用強(qiáng)化學(xué)習(xí)方法直接求解模型中的參數(shù).將生成模型作為強(qiáng)化學(xué)習(xí)中的智能體與環(huán)境進(jìn)行交互,并將已生成文本序列作為當(dāng)前狀態(tài)ts,將要生成的單詞或字符作為動(dòng)作at1+,在選擇了動(dòng)作at1+后,進(jìn)而轉(zhuǎn)移到下一個(gè)狀態(tài)st+1,狀態(tài)轉(zhuǎn)移函數(shù)P為確定性轉(zhuǎn)移函數(shù),具體模型框架如圖2[34]所示.
圖2 基于策略的強(qiáng)化學(xué)習(xí)文本生成模型Fig. 2 Policy-based reinforcement learning text generation model
在基于策略的文本生成方法中,如何設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)是此類方法的核心.關(guān)于獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)一直都是強(qiáng)化學(xué)習(xí)在各個(gè)領(lǐng)域應(yīng)用的研究要點(diǎn).為了設(shè)計(jì)出合適的獎(jiǎng)勵(lì)函數(shù)指導(dǎo)文本生成模型,提出了如直接使用測(cè)試標(biāo)準(zhǔn)作為獎(jiǎng)勵(lì)[35]、通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)獎(jiǎng)勵(lì)函數(shù)[64]、結(jié)合其他模型設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)[65]等方法.
Ranzato等[37]提出使用強(qiáng)化學(xué)習(xí)算法直接優(yōu)化生成句子任務(wù)的評(píng)價(jià)指標(biāo),把測(cè)試用的雙語(yǔ)評(píng)估替換指標(biāo)和基于召回率替換的二元主旨評(píng)價(jià)指標(biāo)(ROUGE-2)作為訓(xùn)練模型的獎(jiǎng)勵(lì),并利用REINFORCE算法對(duì)模型進(jìn)行訓(xùn)練.然而,強(qiáng)化學(xué)習(xí)方法往往存在訓(xùn)練難的問題,尤其是面對(duì)文本生成的大規(guī)模動(dòng)作空間問題,其每次搜索都面向整個(gè)動(dòng)作空間,其訓(xùn)練初期的隨機(jī)搜索模式使得模型很難取得有效的提升.針對(duì)上述問題,文獻(xiàn)[37]提出了混合增量式交叉熵強(qiáng)化學(xué)習(xí)(mixed incremental cross-entropy reinforce,MIXER)算法提高模型訓(xùn)練效果,該算法前s步按照原有文本生成模型進(jìn)行預(yù)訓(xùn)練,優(yōu)化目標(biāo)是最小化生成文本和真實(shí)文本之間的交叉熵,s步后直接將預(yù)訓(xùn)練后的循環(huán)神經(jīng)網(wǎng)絡(luò)模型作為深度強(qiáng)化學(xué)習(xí)的策略網(wǎng)絡(luò)模型,再使用REINFORCE算法進(jìn)行訓(xùn)練.通過在圖像描述、機(jī)器翻譯任務(wù)上計(jì)算雙語(yǔ)評(píng)估替換指標(biāo)和在文本摘要任務(wù)上計(jì)算二元主旨評(píng)價(jià)指標(biāo)表明,MIXER算法相較于以往方法有不同程度的提升.
另一方面,Shi等[64]將文本生成中獎(jiǎng)勵(lì)函數(shù)的設(shè)計(jì)任務(wù)視為逆強(qiáng)化學(xué)習(xí)(inverse reinforcement learning,IRL)[66]問題,試圖通過神經(jīng)網(wǎng)絡(luò)動(dòng)態(tài)擬合單步獎(jiǎng)勵(lì)函數(shù).如圖3[66]所示,將IRL用于文本生成任務(wù)中有兩個(gè)迭代步驟:首先,通過神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)獎(jiǎng)勵(lì)函數(shù)解釋真實(shí)文本數(shù)據(jù);其次,以獎(jiǎng)勵(lì)期望最大為目標(biāo),學(xué)習(xí)生成文本的最優(yōu)策略.生成模型采用LSTM網(wǎng)絡(luò)表示,獎(jiǎng)勵(lì)函數(shù)逼近器依據(jù)最大熵逆強(qiáng)化學(xué)習(xí)[67]求得.與使用文本評(píng)價(jià)指標(biāo)只能在生成完整序列后提供獎(jiǎng)勵(lì)相比,此方法通過擬合即時(shí)獎(jiǎng)勵(lì)為模型提供更密集的信息;此外,該方法在生成模型目標(biāo)函數(shù)中加入熵正則項(xiàng)提高生成的多樣性.然而,由于自然語(yǔ)言的復(fù)雜性,能夠精確擬合獎(jiǎng)勵(lì)函數(shù)依然極具挑戰(zhàn).
圖3 用于文本生成任務(wù)的IRL框架Fig. 3 IRL framework for text generation tasks
Chen等[65]認(rèn)為將強(qiáng)化學(xué)習(xí)用于語(yǔ)言生成會(huì)帶來方差梯度高、獎(jiǎng)勵(lì)信息少和訓(xùn)練薄弱的問題.為了解決這些問題,他們對(duì)強(qiáng)化學(xué)習(xí)和最優(yōu)運(yùn)輸(optimal transport,OT)學(xué)習(xí)的不同機(jī)制進(jìn)行分析,提出了一種集成了RL和OT正則化的退火調(diào)度學(xué)習(xí)策略——最優(yōu)運(yùn)輸強(qiáng)化學(xué)習(xí)(OTRL),利用OT損失自適應(yīng)地調(diào)節(jié)RL序列生成時(shí)在策略空間的探索,從而穩(wěn)定整個(gè)訓(xùn)練過程.OTRL算法的目標(biāo)函數(shù)主要包括三部分:生成模型的最大似然目標(biāo)LMLE、最優(yōu)運(yùn)輸距離目標(biāo)LOT和基于RL訓(xùn)練的目標(biāo)函數(shù)LRL,其中最大似然用于序列生成模型的預(yù)訓(xùn)練,最優(yōu)傳輸幫助穩(wěn)定訓(xùn)練,同時(shí)鼓勵(lì)語(yǔ)義一致性,而強(qiáng)化學(xué)習(xí)幫助捕捉長(zhǎng)短語(yǔ)的一致性.使用RL的方法進(jìn)行序列生成雖然可以獲取長(zhǎng)序列的信息,然而梯度差異會(huì)很大;只使用OT的方法盡管解決了梯度問題,目前卻只限于1-gram匹配,會(huì)造成大量信息流失,如果簡(jiǎn)單地將其擴(kuò)展到k-gram,會(huì)極大程度地增加其復(fù)雜度.OTRL算法結(jié)合了兩種不同方法的優(yōu)點(diǎn),從而互補(bǔ)了對(duì)方的缺點(diǎn),獲得了較好的效果.
基于Actor-Critic的強(qiáng)化學(xué)習(xí)文本生成方法融合了基于值函數(shù)和策略兩種方法的優(yōu)點(diǎn).Actor網(wǎng)絡(luò)通過策略梯度的方法選擇動(dòng)作,Critic網(wǎng)絡(luò)通過評(píng)估的值函數(shù)優(yōu)化Actor網(wǎng)絡(luò).在結(jié)合了基于值函數(shù)的方法后,該類方法可實(shí)現(xiàn)策略梯度的單步更新.
為了解決使用最大似然方法訓(xùn)練生成模型所產(chǎn)生的暴露偏差問題,Bahdanau等[33]提出了與Ranzato等[37]不同的評(píng)價(jià)指標(biāo)優(yōu)化方法,該方法將Critic網(wǎng)絡(luò)引入結(jié)構(gòu)化輸出[68]的監(jiān)督學(xué)習(xí)問題,使用Actor-Critic框架改變傳統(tǒng)生成模型的訓(xùn)練方式,如圖4[33]所示.
圖4 基于Actor-Critic算法的文本生成框架Fig. 4 Text generation framework based on Actor-Critic algorithm
Actor和Critic都采用典型的編碼器-解碼器網(wǎng)絡(luò)結(jié)構(gòu),其中,Actor網(wǎng)絡(luò)接收長(zhǎng)度為L(zhǎng)的真實(shí)文本序列X作為輸入,然后輸出預(yù)測(cè)文本序列?Y;Critic網(wǎng)絡(luò)接收真實(shí)的標(biāo)簽序列Y和Actor在t時(shí)刻生成的詞語(yǔ),最后輸出狀態(tài)-動(dòng)作值去訓(xùn)練Actor網(wǎng)絡(luò).以強(qiáng)化學(xué)習(xí)的角度來看,Actor的狀態(tài)則為解碼器輸出的部分序列,動(dòng)作為下一個(gè)生成詞,之后使用Critic輸出狀態(tài)-動(dòng)作值對(duì)這個(gè)動(dòng)作進(jìn)行評(píng)價(jià).作者將此方法應(yīng)用在一個(gè)合成任務(wù)和一個(gè)真實(shí)的機(jī)器翻譯任務(wù)上,結(jié)果證實(shí)了對(duì)最大似然方法的改進(jìn)效果.
生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)是由Goodfellow提出的一種對(duì)抗性網(wǎng)絡(luò),由生成器G和判別器D兩個(gè)核心部分組成[40].生成器模型以隨機(jī)噪聲作為輸入,試圖擬合真實(shí)數(shù)據(jù)分布;判別器模型以真實(shí)數(shù)據(jù)和生成數(shù)據(jù)作為輸入,并試圖對(duì)兩類數(shù)據(jù)加以區(qū)分.兩個(gè)模型通過對(duì)抗訓(xùn)練的方式進(jìn)行逐步更新,進(jìn)而使生成器能夠生成接近真實(shí)的數(shù)據(jù).生成對(duì)抗網(wǎng)絡(luò)被廣泛用于計(jì)算機(jī)視覺領(lǐng)域的圖像生成任務(wù),并取得了很好的效果.圖像作為連續(xù)型數(shù)據(jù),生成對(duì)抗網(wǎng)絡(luò)可以直接進(jìn)行梯度求導(dǎo)和反向傳播,進(jìn)而可以達(dá)到判別器指導(dǎo)生成器的效果.將GAN應(yīng)用于自然語(yǔ)言處理領(lǐng)域中的文本生成任務(wù)時(shí),文本作為離散標(biāo)記序列,在生成過程中存在采樣過程,導(dǎo)致梯度無(wú)法回傳.此外,判別器只能對(duì)生成的完整序列進(jìn)行評(píng)分,而無(wú)法評(píng)價(jià)部分序列的好壞.因此,將GAN應(yīng)用到文本生成領(lǐng)域具有一定難度.
Yu等[39]結(jié)合強(qiáng)化學(xué)習(xí)和生成對(duì)抗網(wǎng)絡(luò)提出了序列生成對(duì)抗網(wǎng)絡(luò)模型(SeqGAN),該模型將使用循環(huán)神經(jīng)網(wǎng)絡(luò)的文本生成模型視為強(qiáng)化學(xué)習(xí)任務(wù)中的智能體,當(dāng)前狀態(tài)ts為已經(jīng)生成的詞語(yǔ),動(dòng)作at1+定義為下一時(shí)刻將要生成的詞語(yǔ),當(dāng)選定下一個(gè)動(dòng)作后,當(dāng)前狀態(tài)以確定性轉(zhuǎn)移到下一狀態(tài).判別器模型以真實(shí)文本數(shù)據(jù)和生成文本數(shù)據(jù)作為輸入,輸出數(shù)據(jù)為真實(shí)數(shù)據(jù)的概率,如圖5[39]所示.
圖5 序列生成對(duì)抗網(wǎng)絡(luò)結(jié)構(gòu)圖Fig. 5 Structure of SeqGAN
為了解決將GAN應(yīng)用到文本生成時(shí)所存在的梯度無(wú)法回傳的問題,SeqGAN提出使用強(qiáng)化學(xué)習(xí)策略梯度的方法對(duì)生成器進(jìn)行更新,生成器的目標(biāo)是最大化序列的累積獎(jiǎng)勵(lì),其目標(biāo)函數(shù)定義為
其中,TR是一條完整序列的累積獎(jiǎng)勵(lì).是序列的狀態(tài)-動(dòng)作值函數(shù),表示在當(dāng)前狀態(tài)ts下,選定動(dòng)作at1+的好壞程度.SeqGAN模型將判別器D的輸出概率作為強(qiáng)化學(xué)習(xí)中的獎(jiǎng)勵(lì)函數(shù)為
其中,Y1:T為長(zhǎng)度為T的完整序列.由此可見,判別器只能對(duì)完整序列進(jìn)行評(píng)價(jià),針對(duì)此問題,可采用蒙特卡羅方法對(duì)部分序列進(jìn)行補(bǔ)全為完整序列,并近似求得中間狀態(tài)的動(dòng)作價(jià)值函數(shù).判別器D以迭代的訓(xùn)練方式進(jìn)行更新,對(duì)生成器G提供動(dòng)態(tài)指導(dǎo),其目標(biāo)函數(shù)可表示為
SeqGAN模型摒棄了傳統(tǒng)基于強(qiáng)化學(xué)習(xí)的文本生成任務(wù)中采用靜態(tài)獎(jiǎng)勵(lì)函數(shù)的機(jī)制,首次結(jié)合生成對(duì)抗網(wǎng)絡(luò)提供動(dòng)態(tài)的獎(jiǎng)勵(lì)函數(shù).此外,通過與強(qiáng)化學(xué)習(xí)的結(jié)合,解決了生成對(duì)抗網(wǎng)絡(luò)無(wú)法應(yīng)用到文本生成任務(wù)的兩大難題,從而為生成對(duì)抗網(wǎng)絡(luò)應(yīng)用到自然語(yǔ)言生成任務(wù)構(gòu)建了一種通用框架.SeqGAN在合成數(shù)據(jù)及真實(shí)場(chǎng)景如中文詩(shī)歌生成、奧巴馬演講生成、音樂生成等具體應(yīng)用場(chǎng)景均取得了較好的結(jié)果.然而,SeqGAN模型在訓(xùn)練時(shí)存在梯度消失和模式崩塌兩大問題,業(yè)界就如何解決這兩個(gè)問題對(duì)SeqGAN模型提出了進(jìn)一步改進(jìn),下面對(duì)模型存在的問題及改進(jìn)方法做詳細(xì)討論.
在SeqGAN模型訓(xùn)練過程中,由于判別器作為一個(gè)二分類器提供的獎(jiǎng)勵(lì)值稀疏,生成器在訓(xùn)練時(shí)很難有所提高,其所有生成實(shí)例都會(huì)被評(píng)分為0,無(wú)法進(jìn)行實(shí)質(zhì)性的更新,導(dǎo)致生成器無(wú)法生成多樣、符合現(xiàn)實(shí)邏輯的文本.該現(xiàn)象被稱作梯度消失,通常以重新設(shè)計(jì)能夠提供更多信息的獎(jiǎng)勵(lì)函數(shù)緩解此問題.
RankGAN利用一個(gè)排序器替代判別器,即由序列生成器G和排序器R組成[40].其中,排序器R在給定參考時(shí)可以對(duì)真實(shí)數(shù)據(jù)和生成數(shù)據(jù)進(jìn)行相對(duì)排序,以相對(duì)排序信息作為獎(jiǎng)勵(lì)指導(dǎo)生成器.排序獎(jiǎng)勵(lì)計(jì)算的具體步驟為:首先,通過計(jì)算余弦相似度表示輸入序列在給定一個(gè)參考時(shí)的相關(guān)性得分;然后據(jù)此使用softmax公式計(jì)算某序列在給定比較集的排序分?jǐn)?shù).
從某種意義上說,RankGAN將二元分類器替換為基于多個(gè)句子的排序分?jǐn)?shù),可以緩解梯度消失問題,在改善SeqGAN的收斂性能方面顯示了良好的結(jié)果.但是,由于它需要對(duì)參考集進(jìn)行額外的采樣,因此其計(jì)算成本高于其他模型.
除了上述使用排序器增強(qiáng)獎(jiǎng)勵(lì)信息,重新設(shè)定分?jǐn)?shù)作為獎(jiǎng)勵(lì)函數(shù)是另一種解決方案.其中,經(jīng)典的工作是Che等[42]提出的最大似然增強(qiáng)的離散生成對(duì)抗網(wǎng)絡(luò)(maximum-likelihood augmented discrete generative adversarial networks,MaliGAN).MaliGAN的生成器采用了新的優(yōu)化目標(biāo),其利用重要性抽樣,結(jié)合判別器的輸出重新計(jì)算獲得的分?jǐn)?shù)作為獎(jiǎng)勵(lì),即
MaliGAN使訓(xùn)練過程更接近自回歸模型的最大似然訓(xùn)練,從而使梯度更穩(wěn)定.此外,為了降低方差,MaliGAN采用了兩個(gè)技巧:第一個(gè)是使用蒙特卡羅方法搜索,第二個(gè)是使用MLE進(jìn)行訓(xùn)練,逐步向MaliGAN方法進(jìn)行過渡.實(shí)驗(yàn)表明,該網(wǎng)絡(luò)不僅緩解了梯度消失問題,而且在一定程度上提高了生成器的多樣性.
除了梯度消失外,SeqGAN模型存在的另一個(gè)問題是模式崩潰,即在訓(xùn)練過程中,生成器通過只擬合目標(biāo)分布的特定部分以欺騙判別器獲得高分,往往只能生成簡(jiǎn)單且短的重復(fù)性語(yǔ)句,這極大地降低了生成文本的多樣性.因此,諸多學(xué)者通過增強(qiáng)生成器的多樣性緩解模式崩潰問題.
與傳統(tǒng)直接采用判別器輸出作為指導(dǎo)不同,LeakGAN模型通過判別器泄露自身的提取特征以進(jìn)一步指導(dǎo)生成器[43].同時(shí),生成器建模為層次強(qiáng)化學(xué)習(xí)問題[69],包含高階的Manager模塊和低階的Worker模塊,這兩個(gè)模塊均采用長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)構(gòu)建.在每一個(gè)時(shí)間步,Manager模塊以從判別器接收到高維特征表征作為輸入,輸出指導(dǎo)目標(biāo)向量.Worker模塊把當(dāng)前已生成的單詞經(jīng)過長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)編碼,將其輸出和目標(biāo)向量用矩陣乘積的方式結(jié)合起來,以確保能夠綜合依據(jù)Manager的指導(dǎo)和當(dāng)前狀態(tài)生成一個(gè)合適的新單詞.
通過上述過程,判別器使用目標(biāo)嵌入向量的方式為序列生成提供單步獎(jiǎng)勵(lì)信息,指導(dǎo)生成器如何改進(jìn).其首次通過泄露內(nèi)部特征的方式訓(xùn)練生成器,并結(jié)合層次化強(qiáng)化學(xué)習(xí)解決以往生成模型在生成長(zhǎng)文本中存在的問題.
LeakGAN模型中的判別器依然是一個(gè)二分類器,Xu等[70]認(rèn)為現(xiàn)有的基于分類器的判別器存在飽和性的問題,即其只能區(qū)分句子真假,不能判斷新句子的新穎程度,從而導(dǎo)致文本生成模型傾向于生成一些重復(fù)、無(wú)意義的文本.因此,Xu等[70]提出了DPGAN(diversity-promoting generative adversarial network,DP-GAN)模型,采用基于語(yǔ)言模型的單向長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)作為判別器,并且使用模型的輸出交叉熵作為獎(jiǎng)勵(lì).生成器是一個(gè)兩層的長(zhǎng)短時(shí)記憶神經(jīng)網(wǎng)絡(luò)解碼器,底層對(duì)句子表示進(jìn)行解碼,頂層根據(jù)底層的輸出對(duì)每個(gè)單詞進(jìn)行解碼.另外,DP-GAN采用兩種獎(jiǎng)勵(lì)方式,即局部的單詞級(jí)別的獎(jiǎng)勵(lì)(wordlevel reward)和全局的句子級(jí)別獎(jiǎng)勵(lì)(sentence-level reward).單詞級(jí)別獎(jiǎng)勵(lì)是當(dāng)前狀態(tài)的立即獎(jiǎng)勵(lì),可以直接根據(jù)當(dāng)前的詞給出,采用的是語(yǔ)言模型的交叉熵輸出,即
句子級(jí)別獎(jiǎng)勵(lì),則是簡(jiǎn)單地對(duì)整個(gè)句子的單詞級(jí)別獎(jiǎng)勵(lì)取平均值,即
DP-GAN對(duì)重復(fù)文本的獎(jiǎng)勵(lì)較低,對(duì)新穎流暢的文本獎(jiǎng)勵(lì)較高,鼓勵(lì)生成者生成新穎多樣的文本.隨著多樣性的提高,DP-GAN生成的數(shù)據(jù)分布能夠更接近真實(shí)數(shù)據(jù)分布.然而,若只注重生成文本的新穎性,DP-GAN等文本生成器模型不足以生成跨多個(gè)句子的長(zhǎng)格式文本,主要原因是缺乏一個(gè)有效的機(jī)制衡量和控制模型生成文本的局部一致性和全局一致性.
受深度結(jié)構(gòu)化語(yǔ)義模型(DSSM)[71]的啟發(fā),Cho等[72]將語(yǔ)義相似性擴(kuò)展到長(zhǎng)文本的連貫和銜接性,提出了一種新的神經(jīng)語(yǔ)言模型,其包含連貫判別器和銜接判別器,分別在句子(銜接)和段落(連貫)層面提供反饋信號(hào).連貫判別器通過計(jì)算文本塊編碼后的余弦相似度測(cè)量一個(gè)段落中所有句子之間的相容性,銜接判別器通過計(jì)算兩條相鄰句子的余弦相似度得到的不同分值區(qū)分真實(shí)或生成的相鄰句子對(duì).生成器是一個(gè)基于注意力的雙向Seq2Seq模型[73],通過最大化訓(xùn)練數(shù)據(jù)的對(duì)數(shù)似然度進(jìn)行預(yù)訓(xùn)練,并采用了負(fù)樣本估計(jì)其獎(jiǎng)勵(lì)基線的策略梯度方法,因此無(wú)需單獨(dú)的批評(píng)函數(shù).通過上述方法,使用TripAdvisor酒店英語(yǔ)評(píng)論數(shù)據(jù)集[74]和Yelp英語(yǔ)評(píng)論集在長(zhǎng)文本生成任務(wù)上進(jìn)行測(cè)試,測(cè)試結(jié)果與人工評(píng)價(jià)結(jié)果一致,說明上述方法在判別器的幫助下生成的文本局部和全局一致程度更高.但為了生成更有意義、邏輯性更強(qiáng)的長(zhǎng)文本,所提出的方法還有待改進(jìn).
Zhou等[75]借鑒AlphaGo中使用的自我博弈(self-play)機(jī)制,提出一種新的自對(duì)抗學(xué)習(xí)(SAL)范式改進(jìn)生成對(duì)抗網(wǎng)絡(luò)在文本生成任務(wù)中的表現(xiàn)[76].SAL的核心思想是:如果發(fā)現(xiàn)當(dāng)前生成的樣本比先前生成的更好,則獎(jiǎng)勵(lì)生成器.自對(duì)抗學(xué)習(xí)中采用的是基于比較思想的判別器,假設(shè)其輸入是兩個(gè)文本序列A和B,輸出標(biāo)簽包含3類,分別對(duì)應(yīng)序列A的質(zhì)量比B高(>)、低(<)和無(wú)法區(qū)分(≈).與SeqGAN、MaliGAN等文本生成對(duì)抗網(wǎng)絡(luò)模型一樣,自對(duì)抗學(xué)習(xí)通過REINFORCE算法訓(xùn)練生成器.在訓(xùn)練期間,SAL通過比較判別器,將生成器當(dāng)前生成的文本序列與其自身先前生成的文本序列進(jìn)行比較.若當(dāng)前生成的序列比其先前生成的序列質(zhì)量更高時(shí),生成器得到正獎(jiǎng)勵(lì),反之獎(jiǎng)勵(lì)為負(fù),兩者質(zhì)量無(wú)法區(qū)分時(shí)獎(jiǎng)勵(lì)為0.通過這種自我完善的獎(jiǎng)勵(lì)機(jī)制,生成器更易于獲得非稀疏獎(jiǎng)勵(lì),并且在訓(xùn)練后期,SAL防止重復(fù)性樣本取得較高的分?jǐn)?shù),從而能夠緩解生成對(duì)抗網(wǎng)絡(luò)獎(jiǎng)勵(lì)稀疏和模式崩潰的問題,使訓(xùn)練更加穩(wěn)定.生成的文本序列在質(zhì)量、多樣性、低方差上也都有很好的表現(xiàn).
在社會(huì)逐步邁向智能化的時(shí)代,文本生成作為實(shí)現(xiàn)人工智能的重要標(biāo)志之一,一直是科技領(lǐng)域研究的熱點(diǎn).由于人類自然語(yǔ)言的豐富性,提高生成文本的流暢度及多樣性是一項(xiàng)很大的挑戰(zhàn).本文對(duì)現(xiàn)有的基于深度強(qiáng)化學(xué)習(xí)的文本生成方法進(jìn)行了綜述,從提出的背景、基本概念、算法的思想及優(yōu)缺點(diǎn)等方面進(jìn)行了詳細(xì)的分析.強(qiáng)化學(xué)習(xí)和文本生成任務(wù)的相結(jié)合研究備受關(guān)注,推動(dòng)了利用強(qiáng)化學(xué)習(xí)方法進(jìn)行文本生成的研究和發(fā)展,且已取得了一定的成果,但該結(jié)合研究仍存在問題和挑戰(zhàn)亟待解決.
深度強(qiáng)化學(xué)習(xí)領(lǐng)域的算法依然存在著其自身問題,例如訓(xùn)練不穩(wěn)定、需要人為設(shè)計(jì)獎(jiǎng)勵(lì)函數(shù)等.因此,如何提高生成模型的性能是深度強(qiáng)化學(xué)習(xí)能在文本生成任務(wù)中得以廣泛應(yīng)用的重要研究方向.同時(shí),目前利用強(qiáng)化學(xué)習(xí)算法及思想解決文本生成任務(wù),僅局限在經(jīng)典的強(qiáng)化學(xué)習(xí)算法.深度強(qiáng)化學(xué)習(xí)發(fā)展至今有許多改進(jìn)算法及新的模型,因此如何將更適合的強(qiáng)化學(xué)習(xí)算法有效地應(yīng)用于文本生成任務(wù)也是另一個(gè)亟待探索的研究方向.另外,基于深度學(xué)習(xí)的文本生成任務(wù)不斷有新的算法被提出,例如記憶網(wǎng)絡(luò)、注意力機(jī)制等,將其與深度強(qiáng)化學(xué)習(xí)相結(jié)合,提高生成模型的效果,這將是未來的一個(gè)研究熱點(diǎn).