• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于DQN的開放域多輪對話策略學習

      2018-08-17 08:39:06宋皓宇張偉男
      中文信息學報 2018年7期
      關(guān)鍵詞:單輪編碼器神經(jīng)網(wǎng)絡(luò)

      宋皓宇,張偉男,劉 挺

      (哈爾濱工業(yè)大學 社會計算與信息檢索研究中心,黑龍江 哈爾濱 150001)

      0 引言

      隨著社會媒體的發(fā)展,微博和Twitter等社交媒體上積累了大量的短文本,這些短文本可以近似作為對話語料來訓練基于深度神經(jīng)網(wǎng)絡(luò)的對話生成模型[1]?;谏疃壬窠?jīng)網(wǎng)絡(luò)的對話生成模型能夠有效對輸入產(chǎn)生回復,展現(xiàn)出巨大的研究潛力[2-4]。這些模型中得到廣泛應用的是seq2seq模型。seq2seq模型基于編碼器—解碼器結(jié)構(gòu),應用于對話生成任務(wù)時,輸入通過編碼器編碼為一個特征向量,再由解碼器根據(jù)特征向量解碼得到回復。這一模型基于最大似然估計(maximum likelihood estimate,MLE)最大化回復的生成概率[5]。Shang L等將該模型應用于單輪對話生成,取得了很好的效果[6]。

      實際的對話過程在大多數(shù)情況下都是多輪交互的過程,而非一問一答的單輪對話。seq2seq模型基于MLE的生成方式難以有效建模多輪對話的過程[7]。現(xiàn)有的關(guān)于多輪對話相關(guān)工作大多數(shù)基于填槽(slot filling)的方式進行[8-10],這類工作的目標是完成特定任務(wù);而在開放域多輪對話最近的研究工作中,端到端的方式逐漸成為主流: 基于大量的多輪對話訓練數(shù)據(jù),通過考慮最近的對話歷史信息,使得生成的回復能夠照應上文信息[11-13]。

      盡管相關(guān)工作強調(diào)了歷史對話信息,但是考慮對話歷史而得到的回復并不一定有利于對話過程的持續(xù)進行。此外,對話生成任務(wù)中以seq2seq模型為代表的端到端生成方式基于MLE,每次得到的回復都是生成概率最大的句子。這就導致了那些經(jīng)常出現(xiàn)但是沒有實際意義的萬能回復,比如中文里的“哈哈哈哈”以及英文里的“I don’t know”,非常容易被選中[2-3,14]。一旦出現(xiàn)輸入與回復相同的情況,那么模擬的多輪對話就會陷入死循環(huán);有很高生成概率的萬能回復則很可能把模擬的多輪對話帶入這樣的死循環(huán)中。表1展示了這樣兩類問題。

      表1 中文微博數(shù)據(jù)集上不同方法的多輪模擬對話結(jié)果對比

      開放域多輪對話的一個重要目標就是盡可能聊得更久。開放域多輪對話中每一輪回復的選擇,不僅需要考慮是否能夠有效回復當前輸入,更需要考慮是否有利于對話過程的持續(xù)進行。更好地建模多輪對話過程,引導現(xiàn)有的seq2seq模型有效進行多輪多話,需要從多輪對話過程的整體角度引入一種對話策略。

      本文借助強化學習算法的全局視角,在開放域的多輪對話過程中引入了深度強化學習方法DQN[15]來進行對話策略學習,通過這個對話策略指導多輪對話過程中每一輪的回復選擇。與MLE方式不同,強化學習的總體目標是最大化未來的累積獎勵[16]。DQN方法估計的是每一個回復句子能夠為給定的輸入帶來多少的未來獎勵,對話的策略就是選擇能夠帶來最大未來獎勵的那個句子。如前所述,生成概率較低的句子并不意味著句子的質(zhì)量差,很有可能只是因為這些句子出現(xiàn)頻率沒有萬能回復那么高,相反,這些句子可能引入新的信息并更加有利于多輪對話的持續(xù)進行。因此,通過DQN方法進行對話策略學習能夠有效挖掘seq2seq模型進行多輪對話的潛力。如表1所示,基于同樣的輸入,右側(cè)根據(jù)DQN方法得到的對話策略進行的多輪對話質(zhì)量明顯更高。

      本文的創(chuàng)新之處在于,將DQN應用于對話策略的學習過程中,使用獨立的深度神經(jīng)網(wǎng)絡(luò)對每一句候選回復的未來收益進行評估,從而得到一個有利于多輪對話持續(xù)進行的對話策略。通過強化學習方法,DQN得到的深度神經(jīng)網(wǎng)絡(luò)就代表了多輪對話的策略,使得對話策略的學習獨立于回復生成模型本身,在已有的回復生成模型不做任何改變的前提下,就能夠通過DQN得到對話策略。實驗結(jié)果表明,通過DQN方法得到的多輪對話策略有效提高了多輪對話的多樣性、平均輪數(shù)和對話質(zhì)量。

      得到一個更好的多輪對話策略對于人機對話系統(tǒng)有著很多積極的意義。首先,人機對話系統(tǒng)的一種常見的訓練方式就是通過用戶模擬器(user simulator)來不斷的進行模擬對話,生成式的用戶模擬器需要能夠有效地模擬多輪對話,因此更好的多輪對話策略能夠優(yōu)化用戶模擬器的回復效果,有利于訓練出質(zhì)量更高的對話模型。其次,在開放域?qū)υ捪到y(tǒng)中引入多輪對話策略能夠有效提高回復整體上的多樣性,使得回復內(nèi)容更加豐富,并且能夠引入更多的信息,將其應用到開放域的閑聊機器人中,對于提升用戶的使用體驗也有著積極作用。

      1 相關(guān)工作

      隨著Sutskever等[5]提出序列到序列的學習方法,seq2seq模型在最近幾年開始廣泛應用于對話生成研究領(lǐng)域[2,4,6]。深度強化學習是利用深度神經(jīng)網(wǎng)絡(luò)對強化學習方法做出的改進。Mnih等[15]首先使用深度強化學習算法DQN在Atari游戲上取得突破性成功,其核心思想在于引入了經(jīng)驗回放(experience replay)機制。隨后,Hasselt等[17],Schaul等[18],Wang等[19]分別從不同的角度對DQN算法進行了改進。

      與此同時,在對話系統(tǒng)的相關(guān)任務(wù)中引入深度強化學習方法也獲得了越來越多研究者的關(guān)注。Guo H將DQN算法應用到了seq2seq模型每個詞語的解碼過程中,從詞語解碼的級別上對模型做出了改進[20]。Li等[7]使用了深度強化學習的策略梯度(policy gradient)算法,在seq2seq的訓練過程中利用深度強化學習算法提供的梯度改變模型原有的訓練進程,從而達到優(yōu)化模型的目的。Su等[10]結(jié)合強化學習和在線學習(online learning)的方式,通過與用戶的實時交互,提高了任務(wù)型系統(tǒng)對話的性能。

      開放域多輪對話方面,Lowe等[11]利用ubuntu數(shù)據(jù)集進行了多輪對話的嘗試,雖然利用了多輪對話數(shù)據(jù)集的優(yōu)勢,但是沒有建模多輪對話的上下文信息。Pascual等[12]考慮到了歷史對話信息對于生成當前回復的影響,提出了一種能夠感知歷史信息的神經(jīng)網(wǎng)絡(luò)回復生成方法。Serban等[13]在電影臺詞數(shù)據(jù)集上進行實驗,同樣考慮了上文對于當前回復生成的影響。開放域多輪對話系統(tǒng)的一個重要目標就是盡可能地使對話過程持續(xù)下去,然而這些工作都沒有從如何回復才更有利于對話過程繼續(xù)的角度考慮問題。Li等[7]針對這一問題,利用深度強化學習策略梯度的方法建模了多輪對話過程,改進了seq2seq模型的訓練過程。

      在深度神經(jīng)網(wǎng)絡(luò)的相關(guān)優(yōu)化方面,Graves等[21]在神經(jīng)網(wǎng)絡(luò)解碼過程中使用了束搜索(beam search)方法,用于平衡解碼過程中的搜索質(zhì)量與搜索開銷;Bahdanau等[22]提出了注意力模型,在深度神經(jīng)網(wǎng)絡(luò)中引入了一種動態(tài)賦權(quán)的機制;Srivastava等[23]提出了dropout機制,用于防止深度神經(jīng)網(wǎng)絡(luò)訓練時的過擬合。

      與本文比較接近的工作是Li等[7],本文關(guān)于多輪對話過程的強化學習建模方式以及實驗結(jié)果評價指標也參考自這篇論文。雖然都是使用深度強化學習方法,但是本文與Li等[7]的區(qū)別也是顯著的: 首先,本文的目標是學習多輪對話的策略,而文獻[7]的目標是進行對話生成。本文工作的核心是進行多輪對話的策略學習,使用的強化學習方法DQN沒有涉及回復生成模型的訓練過程,而是從已經(jīng)訓練好的回復生成模型中選擇出最有利于多輪對話的回復;而文獻[7]使用的是策略梯度方法,是在seq2seq模型的基礎(chǔ)上改變回傳前的梯度計算方式,從而引導回復生成模型的訓練方向。其次,基于Q-learning的強化學習算法DQN和基于策略梯度的強化學習算法在原理和應用方式上完全不同,細節(jié)此處不再贅述。此外,本文使用了獨立的深度神經(jīng)網(wǎng)絡(luò)來對回復的收益進行估計,最終學習得到的深度神經(jīng)網(wǎng)絡(luò)就代表了多輪對話的策略。

      本文實驗的總體結(jié)構(gòu)如圖1所示,從圖中可以看出,DQN的學習過程是獨立于對話生成模型的,因此通過DQN進行對話策略的學習并不會改變基礎(chǔ)的回復生成模型;也正是因為本文使用了獨立的深度網(wǎng)絡(luò),所以對話策略的學習過程并不依賴于回復生成模型的梯度,即使應用場景改變,回復生成模型自身無法提供梯度,也不會影響本文對話策略學習方法的使用。

      圖1 本文實驗的整體結(jié)構(gòu)

      2 DQN用于對話策略學習

      DQN作為一種深度強化學習算法,基本結(jié)構(gòu)仍然是“環(huán)境—代理”(environment-agent)框架: 代理根據(jù)當前狀態(tài)s選擇一個動作a作用于環(huán)境,然后環(huán)境的狀態(tài)s發(fā)生改變并返回相應的獎勵r,代理的目標是最大化未來能夠獲得的所有獎勵之和,由此調(diào)整動作并構(gòu)成一個循環(huán)過程。關(guān)于強化學習模型的更多細節(jié)請參考文獻[16]。

      本文的目標是得到一個有利于多輪對話持續(xù)進行的對話策略。這個總體目標分解到每一輪的對話中可以等價為每一輪都選擇出能夠為整個對話過程帶來最大收益的句子。參考文獻[7],這里衡量回復帶來的收益可以從是否產(chǎn)生萬能回復、是否引入新的信息、是否與歷史信息一致等方面來衡量?;谶@些設(shè)定,就可以將對話策略的學習過程建模為典型的強化學習過程。

      DQN方法的核心在于一個深度價值網(wǎng)絡(luò)Q,網(wǎng)絡(luò)Q按照相應的算法迭代更新,目標是估計每個狀態(tài)s下選擇動作a的價值q(s,a)。這個價值q代表了當前狀態(tài)s下選擇動作a能夠帶來的未來折扣獎勵之和。更多細節(jié)和原理請參考強化學習有關(guān)Q-learning的部分。

      在多輪對話過程中,把當前的輸入語句記為x,輸入x通過回復生成模型以及束搜索得到了若干候選回復y0,y1,...,yn?;谧匀徽Z言的句子是變長和離散的,無法作為狀態(tài)s參與到網(wǎng)絡(luò)Q的計算中,因此通過一個自編碼器(autoencoder)將輸入映射為固定維度的特征向量c,使用這個特征向量表達當前狀態(tài)s。同樣,得到的回復也是句子,無法直接參與計算。但是回復與輸入不同的地方在于,一旦回復生成模型和輸入給定,那么這些候選項及其順序也是確定的: 本文中候選項的順序是按照生成概率從高到低的順序排列的。因此,表示回復并不需要對候選回復進行編碼,只需要保留相應的序號即可。那么,一個候選回復yi就有一個與之對應的動作ai,這個動作表示了這一輪選擇yi作為對輸入x的回復。每一輪的對話中,通過深度價值網(wǎng)絡(luò)Q對候選回復yi進行評估,得到q(si,aj)。對話的策略就是選擇q值最大的動作所對應的回復。

      2.1 基礎(chǔ)的回復生成模型

      本文參考文獻[5]中的seq2seq模型,訓練了對話生成模型。在訓練過程中加入了Bahdanau提出的注意力機制和Srivastava提出的dropout機制。

      seq2seq的解碼過程使用了束搜索的方法。束搜索在每一步中按照啟發(fā)式規(guī)則保留最優(yōu)的若干候選項,其他較差的結(jié)點則被剪掉。在對話系統(tǒng)中,由于對話過程的靈活性和多樣性,回復生成的搜索過程并沒有一個確定的“最優(yōu)解”。因此,在回復生成的解碼過程中應用束搜索方法,對于得到更加多樣的回復是有幫助的。

      2.2 多輪對話模擬

      所謂模擬對話,就是基于回復生成模型,通過兩個代理的彼此對話來模擬多輪交互的過程。兩個代理進行模擬對話的過程如下: 一開始,從測試集中隨機找到一句話輸入給第一個代理,這個代理通過編碼器網(wǎng)絡(luò)把這個輸入編碼成一個隱層向量,然后通過解碼器來生成回復。之后,第二個代理把前一個代理輸出的回復同對話歷史拼接,重新通過編碼器網(wǎng)絡(luò)編碼得到一個隱層向量,更新對話的狀態(tài),然后通過解碼器網(wǎng)絡(luò)生成回復,并回傳給第一個代理。這個過程不斷地重復,直到達到最大的模擬對話輪數(shù)。具體過程如圖2所示。

      圖2 模擬多輪對話過程

      2.3 自編碼器

      自編碼器(autoencoder)是一類無監(jiān)督的神經(jīng)網(wǎng)絡(luò)學習方法,其最大的特點是輸入值和目標值相等。自編碼器的目標是學習一種類似恒等映射的函數(shù),如式(1)所示。

      φw,b(x)≈x

      (1)

      即輸入數(shù)據(jù)到本身的一種映射函數(shù)。當自編碼器學習得到這樣一種恒等映射或者近似恒等映射的關(guān)系時,神經(jīng)網(wǎng)絡(luò)的隱層實際上就包含了數(shù)據(jù)的一種編碼信息。

      自編碼器通常由編碼器和解碼器兩部分組成。形式化地,編碼器和解碼器的作用可以定義為兩個函數(shù)φ和ψ,那么:

      則自編碼器的學習目標如式(4)所示。

      φ,ψ=argminφ,ψ‖X-ψ(φ(X))‖2

      (4)

      其中,式(2)和式(3)中的θ就是自編碼器得到的數(shù)據(jù)特征表示。

      用于對話表示學習的自編碼器需要處理變長的句子,并且由于句子數(shù)量巨大,所以需要學習的映射關(guān)系φ和ψ都會非常復雜,因此本文用到的自編碼器的編碼器和解碼器都由循環(huán)神經(jīng)網(wǎng)絡(luò)構(gòu)成。由于自編碼器的學習過程是無監(jiān)督的,所以自編碼器在任意語料上都能夠?qū)W習得到該語料中句子的特征表示。

      自編碼器的輸入是已經(jīng)分詞的句子,每個詞由其詞向量表示,由循環(huán)神經(jīng)網(wǎng)絡(luò)依次讀入;輸入句子經(jīng)過編碼器的編碼,得到一個中間表示c,這個表示再送入解碼器中,解碼出預測值;網(wǎng)絡(luò)學習的目標由式(4)定義,網(wǎng)絡(luò)的目標值是和輸入句子完全相同的句子,目標值和預測值之間的誤差就是網(wǎng)絡(luò)參數(shù)調(diào)整的依據(jù)。

      句子的自編碼器雖然只能做到近似復原輸入,但是這并不影響中間特征在強化學習模型中的使用。因為這些特征向量只需要按照同樣的規(guī)則得到,處于同一個向量空間就可以滿足需要。

      2.4 DQN模型訓練

      先定義獎勵函數(shù)。獎勵函數(shù)的作用是引導對話向輪數(shù)更多、信息更豐富、萬能回復更少的方向進行。首先定義一個表示,如式(5)所示。

      (5)

      式(5)表達的含義是對于句子s2,在給定的seq2seq模型下生成句子s1的對數(shù)概率,并且該對數(shù)概率受到s1中詞數(shù)的Ns1的約束。參考文獻[7],根據(jù)多輪對話的總體目標共定義三個獎勵函數(shù):

      對于定義的萬能回復的集合S,懲罰動作a可能導致生成的萬能回復,如式(6)所示。

      (6)

      對于連續(xù)的兩個對話狀態(tài)hi和hi+1,懲罰對話狀態(tài)過于接近,獎勵對話狀態(tài)存在較大差別以引入新的信息,如式(7)所示。

      r2=-cos(hi,hi+1)

      (7)

      對于連續(xù)的多輪對話pi、qi和a,獎勵使得對話前后連貫的動作a,懲罰使對話不連貫的動作a,如式(8)所示。

      r3=logprob(a|pi,qi)+logprob(qi|a)

      (8)

      最終的獎勵值式(9)所示。

      r=0.45r1+0.2r2+0.35r3

      (9)

      三個系數(shù)在實驗過程中調(diào)整得到。

      DQN中深度神經(jīng)網(wǎng)絡(luò)的參數(shù)更新通過對式(10)進行隨機梯度下降來完成。其中sj表示狀態(tài),aj表示動作,Q表示通過以θ為參數(shù)的深度價值網(wǎng)絡(luò)對狀態(tài)—動作對進行估值,如式(10)所示。

      Loss=(yj-Q(sj,aj;θ))2

      (10)

      其中,價值的估計通過式(11)來完成,公式中的rj表示獎勵:

      (11)

      本文DQN算法參考文獻[15]的算法實現(xiàn),更多實現(xiàn)細節(jié)請參考原文。

      3 實驗

      3.1 訓練數(shù)據(jù)及其表示

      本文的實驗在中文微博語料上進行。該語料來源于新浪微博,每一對對話數(shù)據(jù)分別來自微博的正文和這條微博下面的評論,這樣一組博文—評論對就近似構(gòu)成了一組對話對。該數(shù)據(jù)集總共有約110萬組這樣的對話對,語言質(zhì)量較高,同時該語料也是文獻[6]所使用的數(shù)據(jù)集。本文通過word embedding的方式將每一個詞語都轉(zhuǎn)化為一個固定維度的向量,實驗中取300維,并通過所有詞語的向量共同表示原始的句子。使用的訓練詞向量的工具包是Google開源的Word2Vec,具有配置簡單、訓練高效等優(yōu)點。

      3.2 評價指標

      對于多輪對話的實驗結(jié)果,本文參考Li等[7]的方法,使用以下兩個客觀指標進行評價。

      (1) 平均對話輪數(shù)。對話輪數(shù)是指從輸入到對話結(jié)束總共持續(xù)的對話輪數(shù)。當對話過程出現(xiàn)了類似“哈哈哈”這類的事先定義的萬能回復或者對話進入一個死循環(huán)當中,那么就認為對話過程已經(jīng)結(jié)束。

      (2) 多樣性。多樣性通過統(tǒng)計模擬對話過程中出現(xiàn)的不重復的一元文法(unigram)和二元文法(bigram)所占的比例來衡量。unigram和bigram是語言模型中的概念,這一指標能夠表征總體生成結(jié)果的語言豐富程度。因為多輪對話并不存在一個標準答案,所以BLEU等傳統(tǒng)方法不適用于該任務(wù)的評價。同時,進行主觀評價是對話系統(tǒng)中常用的方式。本文還進行了主觀的對比評價: 給定相同的輸入,本文的DQN模型和基礎(chǔ)模型獨立進行單輪回復生成以及進行模擬對話,然后由與實驗無關(guān)的評價者主觀對比二者的質(zhì)量,結(jié)果分為DQN更好、DQN更差和平局三種情況。評價者不知道結(jié)果所對應的方法,只是給出二者對比的一種主觀評價。對于單輪對話,總共收到400組的對比打分;對于多輪對話,總共收到600組對比打分。

      3.3 回復生成及對話模擬

      中文微博語料的單輪回復生成結(jié)果如表2所示。左側(cè)是從測試集中隨機抽取的輸入,右側(cè)是對應于輸入產(chǎn)生的回復,每一行組成一個輸入—回復對。

      表2 單輪回復生成結(jié)果

      可以看到,就單輪回復的效果而言,seq2seq模型能生成質(zhì)量較高的回復語句。

      中文模擬對話結(jié)果如表3所示。表中的一列為一組模擬對話的結(jié)果,第一句輸入從測試集隨機抽取,其余句子都根據(jù)上一句話生成得到。

      表3 中文模擬對話的結(jié)果

      可以看到,seq2seq模型和預期的結(jié)果一樣,無法有效進行多輪對話。模擬對話很快就陷入了死循環(huán)中,并且容易產(chǎn)生萬能回復。

      從測試集句子中隨機抽取5 000條進行模擬對話,客觀指標評價結(jié)果如表4所示??梢钥闯?,平均對話輪數(shù)比較短,說明基礎(chǔ)的seq2seq模型難以有效進行多輪對話。

      表4 seq2seq模型模擬對話結(jié)果評價

      3.4 自編碼器

      就自編碼器而言,訓練的目標是輸出與輸入一致,或者輸出盡量接近輸入。我們從測試數(shù)據(jù)中隨機抽取2 000條句子送入自編碼器得到輸出,然后通過計算輸出對于輸入的F值的方式來衡量句子映射到自身的效果。評價時逐句計算輸出對于輸入的召回詞數(shù)以及輸入和輸出各自的詞數(shù),所有句子累加到一起得到總的召回值、預測值和標準答案詞數(shù)。實驗結(jié)果如表5所示。本文實驗中的自編碼器最終的F值為0.872,在很大程度上已經(jīng)能夠?qū)⑤斎刖渥佑成錇榫渥颖旧?;此外,自編碼器從輸入得到輸出的映射關(guān)系并不會被使用,本文用到的是從編碼器傳遞到解碼器的中間特征向量,這個向量實際上是對于輸入信息的編碼。因此即使F值無法達到理想情況下的1.0,也不會影響中間特征向量作為一種編碼被使用。

      表5 自編碼器的F值

      3.5 基于DQN的對話策略模型

      本文使用DQN模型在測試集上隨機抽取了5 000條句子進行模擬對話。相應的客觀評價結(jié)果與基礎(chǔ)的seq2seq模型對比如表6所示。

      表6 DQN和基礎(chǔ)模型客觀評價指標對比

      可以看到,客觀指標上DQN模型顯著優(yōu)于基礎(chǔ)模型,平均對話輪數(shù)更是增加了二輪。分析其原因,基礎(chǔ)模型對話容易進入死循環(huán),并且傾向于生成經(jīng)常出現(xiàn)的回復,而DQN模型通過獎勵函數(shù)的設(shè)置在一定程度上緩解了這些問題,所以DQN模型在對話輪數(shù)以及多樣性上的表現(xiàn)都要明顯比基礎(chǔ)模型好。

      主觀評價的結(jié)果如表7所示。主觀評價指標方面,單輪回復的質(zhì)量總體來說不相上下,DQN略占優(yōu)勢,平局的情況占了接近20%;多輪對話上DQN模型的優(yōu)勢明顯,平局的比例也下降到了不到10%??梢钥闯?,因為單輪對話基于相同的回復生成模型,所以總體上單輪回復質(zhì)量比較接近;而在多輪對話上,DQN模型則明顯優(yōu)于基礎(chǔ)模型。

      表7 DQN和基礎(chǔ)模型對話質(zhì)量人工對比評價/%

      部分單輪對話和多輪對話的效果對比如表8、表9所示。

      續(xù)表

      表8 DQN和基礎(chǔ)模型單輪對話對比

      表9 DQN和基礎(chǔ)模型多輪對話對比

      基礎(chǔ)模型在解碼過程中基于MLE,最終選擇的總是束搜索結(jié)果中生成概率最大那個句子。但是生成概率高并不意味著最有利于對話過程,如圖2所示,候選句子按照生成概率降序排列,因此基于MLE的選擇方式總是會選擇第一個候選句子。從圖中可以看到,生成概率較低的 “我覺得哈林唱得更好”作為回復明顯效果更好;但是因為其生成概率不如類似“哈哈哈”這種經(jīng)常出現(xiàn)的“萬能回復”的生成概率高,所以導致這個更優(yōu)的結(jié)果被MLE忽略。同時也可以看到,在多輪對話過程中,第一輪選擇的不同直接導致了后續(xù)回復生成的不同,從而進一步拉大多輪對話質(zhì)量的差距。

      與MLE的方式不同,本文的DQN模型每次選擇的是價值最大的動作,這一動作最有利于對話的持續(xù)進行,并能夠帶來更加豐富的信息。如果生成概率較低的候選回復在深度價值網(wǎng)絡(luò)中具有最大的價值,那么這個回復也會被選中,因此DQN模型更容易選擇出有利于對話過程持續(xù)進行的回復。

      記錄DQN和MLE每次選擇的動作,畫出表1中多輪對話2的動作選擇,如圖3所示,能夠更加直觀地說明DQN相較于MLE如何選擇潛在的更優(yōu)句子。動作1是選擇生成概率最高的句子,動作10是選擇生成概率最低的句子。值得注意的是,在第一輪中兩種方式選擇了不同的動作,那么在后續(xù)幾輪中,兩種方式各自進入了不同的狀態(tài),所以同一個動作也會對應不同的回復。

      從圖3可以明顯地看到,MLE每次選擇的動作都是1,因為這是生成概率最大的句子,所有動作構(gòu)成的路徑是一條直線;而DQN方法選擇動作構(gòu)成的路徑則更加“曲折”,每次選擇的是通過深度價值網(wǎng)絡(luò)估計得到的當前狀態(tài)下價值最大的動作,這個價值的最大則結(jié)合了獎勵函數(shù)的定義,使得這個動作有利于對話過程朝著輪數(shù)更多、包含的信息更豐富、更少的生成萬能回復的方向進行。圖4給出了隨機采樣的六組動作選擇路徑的對比。

      圖3 多輪對話過程中的動作選擇對比(表1多輪對話2)

      圖4 隨機采樣的六組動作選擇對比

      4 結(jié)論及后續(xù)工作

      本文的主要研究內(nèi)容針對開放的域多輪對話,關(guān)注之前工作中存在的沒有建模整個對話過程、多輪對話中容易產(chǎn)生大量萬能回復、很快陷入死循環(huán)等問題,引入了DQN方法進行對話策略學習。通過DQN對每一輪的候選回復的未來價值進行評估,選擇出了最有利于對話持續(xù)進行的句子作為回復,減少了萬能回復的產(chǎn)生,并增加了平均對話輪數(shù)。

      實驗結(jié)果表明,在單輪回復質(zhì)量幾乎持平的前提下,本文使用DQN方法得到的多輪對話策略能夠優(yōu)化多輪對話的質(zhì)量,最終各個評價指標上都明顯優(yōu)于基礎(chǔ)方法: 平均對話輪數(shù)提高了二輪,主觀評價獲勝比例高出了接近45%。

      本文的后續(xù)工作將著眼于將DQN用于seq2seq模型的訓練過程,使用深度價值網(wǎng)絡(luò)來估計訓練過程中的損失,使得訓練損失帶有更多的信息,從更細粒度上提高生成句子的質(zhì)量。此外,如何更加全面地評價對話結(jié)果也是一個值得研究的問題。

      猜你喜歡
      單輪編碼器神經(jīng)網(wǎng)絡(luò)
      神經(jīng)網(wǎng)絡(luò)抑制無線通信干擾探究
      電子制作(2019年19期)2019-11-23 08:42:00
      基于PLC的腳輪軸承自動裝配機及控制系統(tǒng)設(shè)計
      軸承(2019年6期)2019-07-22 01:58:14
      單輪裝置
      設(shè)計(2018年4期)2018-11-08 09:13:02
      基于FPGA的同步機軸角編碼器
      基于PRBS檢測的8B/IOB編碼器設(shè)計
      道路使用條件對路面結(jié)構(gòu)力學響應的影響
      公路與汽運(2016年6期)2016-12-12 13:45:52
      基于神經(jīng)網(wǎng)絡(luò)的拉矯機控制模型建立
      重型機械(2016年1期)2016-03-01 03:42:04
      JESD204B接口協(xié)議中的8B10B編碼器設(shè)計
      電子器件(2015年5期)2015-12-29 08:42:24
      復數(shù)神經(jīng)網(wǎng)絡(luò)在基于WiFi的室內(nèi)LBS應用
      基于支持向量機回歸和RBF神經(jīng)網(wǎng)絡(luò)的PID整定
      临沂市| 安乡县| 宜章县| 张家川| 驻马店市| 永善县| 裕民县| 手游| 南城县| 宁陕县| 庄河市| 巨鹿县| 青川县| 东光县| 青铜峡市| 浮山县| 石柱| 惠水县| 焦作市| 瑞安市| 久治县| 石屏县| 万源市| 宿松县| 旺苍县| 新田县| 韶关市| 图片| 梅河口市| 纳雍县| 赣榆县| 禹城市| 平乐县| 清镇市| 温泉县| 桦川县| 卢湾区| 旺苍县| 积石山| 称多县| 卢龙县|