魏鵬飛,曾 碧,廖文雄
(廣東工業(yè)大學(xué) 計(jì)算機(jī)學(xué)院,廣州510006)
目前市場(chǎng)上有許多智能語音助理,比如:蘋果的Siri、阿里的天貓精靈、小米的小愛同學(xué)和騰訊的小微[1].在這些精心設(shè)計(jì)的對(duì)話系統(tǒng)下,人們可以通過自然語言交互來完成任務(wù).深度學(xué)習(xí)的發(fā)展也激發(fā)了許多神經(jīng)任務(wù)對(duì)話系統(tǒng)的研究工作[2-4].
任務(wù)對(duì)話系統(tǒng)由4個(gè)部分組成:自然語言理解(NLU)、對(duì)話狀態(tài)追蹤(DST)、對(duì)話策略學(xué)習(xí)(DPL)、自然語言生成(NLG)[5].其中,對(duì)話策略是根據(jù)當(dāng)前狀態(tài)來選擇下一步要執(zhí)行的動(dòng)作,在任務(wù)對(duì)話系統(tǒng)中扮演著重要的角色.它的好壞直接影響著整個(gè)系統(tǒng)的性能,由于其具備馬爾科夫性,通常被描述為強(qiáng)化學(xué)習(xí)問題[6],將用戶作為環(huán)境的一部分進(jìn)行建模,并通過與用戶的交互來學(xué)習(xí)策略.
由于強(qiáng)化學(xué)習(xí)在訓(xùn)練過程中需要大量的交互,與真實(shí)的用戶交互時(shí),需要耗費(fèi)大量的時(shí)間和人工成本.一種可行的方法是利用人類的對(duì)話數(shù)據(jù)訓(xùn)練一個(gè)用戶模擬器,這使得系統(tǒng)代理可以通過與用戶模擬器交互來學(xué)習(xí)對(duì)話策略.該模擬器可以模擬脫機(jī)場(chǎng)景下的人類行為而無需額外的費(fèi)用,經(jīng)過訓(xùn)練的系統(tǒng)可以進(jìn)行部署,然后通過與真實(shí)的用戶交互進(jìn)行微調(diào).但是,設(shè)計(jì)一種可靠的用戶模擬器并不是一件容易的事情,而且常常具有挑戰(zhàn)性:1)它等同于構(gòu)建了一個(gè)好的對(duì)話代理;2)真實(shí)用戶和數(shù)據(jù)模擬用戶之間始終存在一定的差異;3)不同的用戶模擬器如何影響系統(tǒng)性能,以及如何為不同的任務(wù)構(gòu)建適當(dāng)?shù)挠脩裟M器,這種相互關(guān)系使整個(gè)過程稱為“雞與蛋”問題;4)尚無較好的針對(duì)用戶模擬器的自動(dòng)評(píng)估標(biāo)準(zhǔn).早期研究中,基于規(guī)則的用戶模擬器是借助于擁有專業(yè)化領(lǐng)域知識(shí)的專家來構(gòu)建獲得的[7].然而,隨著業(yè)務(wù)場(chǎng)景的多樣化和任務(wù)功能需求的復(fù)雜性不斷增長,建立一個(gè)完全基于規(guī)則的用戶模擬器,需要大量多領(lǐng)域的專業(yè)知識(shí),這將是一件艱巨的工作.隨著機(jī)器學(xué)習(xí)的發(fā)展,在最近的研究工作中,一些研究人員提出了基于數(shù)據(jù)驅(qū)動(dòng)的用戶模擬器[8,9],但是,它需要很多的手工標(biāo)注數(shù)據(jù).具體例子如表1所示,用戶在一次會(huì)話中完成了兩個(gè)領(lǐng)域任務(wù),首先請(qǐng)求系統(tǒng)預(yù)定一個(gè)2人的房間,從周二開始住4晚,然后請(qǐng)求系統(tǒng)推薦可參觀的博物館以及門票價(jià)格.其中,Dialogue acts是對(duì)應(yīng)于話語的標(biāo)注,包含領(lǐng)域、意圖和槽值對(duì)信息.
表1 MultiWOZ語料庫中的一段對(duì)話及對(duì)話行為Table 1 A dialog session and dialog acts in MultiWOZ corpus
為了解決缺少可靠的用戶模擬器來進(jìn)行對(duì)話策略學(xué)習(xí)的挑戰(zhàn),本文提出了一種PPO強(qiáng)化學(xué)習(xí)的多智能體對(duì)話策略學(xué)習(xí)方法.其中用戶也被視為智能體而不是用戶模擬器.首先,在模仿學(xué)習(xí)的監(jiān)督訓(xùn)練下直接從對(duì)話語料庫中學(xué)習(xí),從而引導(dǎo)基本的系統(tǒng)智能體和用戶智能體的策略;然后,模擬兩個(gè)智能體之間的面向任務(wù)的交互對(duì)話,并且通過PPO的強(qiáng)化學(xué)習(xí)算法優(yōu)化其對(duì)話策略,來進(jìn)一步提升系統(tǒng)性能;最后,在一個(gè)面向任務(wù)的多領(lǐng)域多意圖的對(duì)話語料庫MultiWOZ[10]上進(jìn)行相關(guān)性能評(píng)估.本文的主要貢獻(xiàn)歸納為5點(diǎn):
1)提出了一種PPO強(qiáng)化學(xué)習(xí)的多智能體對(duì)話策略學(xué)習(xí)方法,該方法以端到端的方式同時(shí)優(yōu)化用戶智能體和系統(tǒng)智能體,避免顯式地構(gòu)建用戶模擬器;
2)采用Actor-Critic(AC)架構(gòu)的PPO算法加速學(xué)習(xí)過程;
3)設(shè)計(jì)了一種軟注意力狀態(tài)共享的用戶-系統(tǒng)混合值評(píng)價(jià)網(wǎng)絡(luò);
4)通過實(shí)驗(yàn)比較了各基線模型,驗(yàn)證了本文方法的有效性和面對(duì)復(fù)雜任務(wù)中的可伸縮性;
5)將學(xué)到的對(duì)話策略集成到ConvLab-2平臺(tái)上進(jìn)行整體的效果評(píng)估,驗(yàn)證本文方法所學(xué)習(xí)策略的合理性.
強(qiáng)化學(xué)習(xí)強(qiáng)調(diào)智能體如何與環(huán)境進(jìn)行互動(dòng),以獲取最大的累計(jì)收益.強(qiáng)化學(xué)習(xí)算法可分成基于值函數(shù)的算法和基于策略梯度的算法.經(jīng)典的值函數(shù)算法是Q-Learning算法[11].Mnih等人[12,13]首次把Q-Learning與深度神經(jīng)網(wǎng)絡(luò)(DNN)結(jié)合起來提出了深度Q網(wǎng)絡(luò)(DQN),其中DNN用來表示動(dòng)作值函數(shù).Hasselt等人[14]使用Q網(wǎng)絡(luò)選擇行動(dòng),目標(biāo)網(wǎng)絡(luò)來估計(jì)值函數(shù),消除DQN對(duì)值函數(shù)的過高估計(jì)問題.Wang等人[15]提出了競(jìng)爭式的網(wǎng)絡(luò)結(jié)構(gòu),分別學(xué)習(xí)狀態(tài)值函數(shù)和動(dòng)作優(yōu)勢(shì)值函數(shù).經(jīng)典的策略梯度法是REINFORCE算法[16],使用蒙特卡洛來估計(jì)累積期望回報(bào).為了減少回報(bào)的方差,引入了Actor-Critic模式,使用Actor來選擇動(dòng)作,使用Critic對(duì)值函數(shù)進(jìn)行估計(jì).Schulman等人[17]進(jìn)一步提出了PPO算法,簡化了TRPO[18]的求解過程,并采用泛化優(yōu)勢(shì)函數(shù)估計(jì)來平衡優(yōu)勢(shì)函數(shù)計(jì)算的方差和偏差.
在多智能體強(qiáng)化學(xué)習(xí)中,每個(gè)智能體都擁有自己的策略πi(ai|si),其中,si∈S,ai∈A.根據(jù)策略同環(huán)境進(jìn)行互動(dòng),并執(zhí)行相應(yīng)的動(dòng)作(a1,…,aN),最后獲得狀態(tài)轉(zhuǎn)移s=(s1,…,sN)→s′=(s′1,…,s′N).與單智能體類似,每個(gè)智能體最大化自己的總折扣回報(bào)Ri=∑tγtri,t.Iqbal等人[19]采用了集中式的Critic對(duì)每個(gè)智能體進(jìn)行價(jià)值估計(jì),并引入了多頭注意力(Multi-head attention)機(jī)制學(xué)習(xí)共享信息.另外,由于多個(gè)智能體在訓(xùn)練過程中策略不斷變化,導(dǎo)致環(huán)境不再是穩(wěn)定的,為了解決此問題,Lowe等人[20]引入了分散執(zhí)行的集中訓(xùn)練(CTDE)架構(gòu),它允許策略使用額外的信息增強(qiáng)訓(xùn)練,但執(zhí)行時(shí)僅使用本地觀測(cè)到的信息.
面向任務(wù)對(duì)話的系統(tǒng)策略的學(xué)習(xí)是一個(gè)強(qiáng)化學(xué)習(xí)問題,通常需要大量的對(duì)話樣本,而直接與真實(shí)的用戶交互學(xué)習(xí)是不切實(shí)際的.如何針對(duì)用戶進(jìn)行建模也就成為了任務(wù)對(duì)話系統(tǒng)中急需解決的問題之一.根據(jù)以往的研究工作,用戶建模大致可分為3種方法:1)基于規(guī)則的用戶模擬器,其中Schatzmann等人[21]提出的基于議程的方式最受歡迎,手工制定規(guī)則并基于用戶目標(biāo)構(gòu)建類似堆棧的議程;2)基于數(shù)據(jù)驅(qū)動(dòng)的用戶模擬器,Kreyssig等人[22]提出一種神經(jīng)用戶模擬器(NUS),從語料庫中學(xué)習(xí),并且會(huì)生成自然語言;3)基于世界模型的方法,微軟在此方面做了較多研究[23,24],構(gòu)建世界模型以模擬真實(shí)的用戶響應(yīng),但是這種方法仍需要少量的真實(shí)用戶的交互來促進(jìn)世界模型的學(xué)習(xí).
本文提出了一種PPO強(qiáng)化學(xué)習(xí)的多智能體對(duì)話策略學(xué)習(xí)算法.有關(guān)強(qiáng)化學(xué)習(xí)和任務(wù)對(duì)話策略學(xué)習(xí)更多的研究進(jìn)展,可以閱讀文獻(xiàn)[25,26].
圖1 多智能體對(duì)話策略學(xué)習(xí)架構(gòu)Fig.1 Architecture of multi-agent dialogue policy learning
Action用戶動(dòng)作aU是用戶智能體的策略μ根據(jù)當(dāng)前狀態(tài)sU所做出的決策,用于向系統(tǒng)智能體表達(dá)自己的約束和請(qǐng)求.
Action系統(tǒng)動(dòng)作aS是系統(tǒng)智能體的策略π根據(jù)當(dāng)前狀態(tài)sS所做出的決策,用于向用戶智能體提供合適的回復(fù).
如圖2所示,本文通過在編碼向量上使用sigmoid函數(shù)進(jìn)而設(shè)計(jì)了一種軟注意力狀態(tài)共享的用戶-系統(tǒng)混合值評(píng)價(jià)網(wǎng)絡(luò),用于相關(guān)價(jià)值的評(píng)估,這種軟注意機(jī)制的設(shè)計(jì)參考了文獻(xiàn)[28].具體來說,首先將用戶智能體狀態(tài)sU和系統(tǒng)智能體狀態(tài)sS通過一個(gè)軟注意力層(Soft Attention Layer)進(jìn)行計(jì)算,獲得各自的編碼信息向量hU、hS.公式如下:
(1)
(2)
其中,σ為sigmoid函數(shù),f(·)為多層感知機(jī),⊙為按元素乘法.前者表現(xiàn)為軟注意力權(quán)重,后者表現(xiàn)為非線性特征變換.
圖2 用戶-系統(tǒng)混合值評(píng)價(jià)網(wǎng)絡(luò)Fig.2 User-system mixing value critic network
然后,對(duì)hU、hS取Sum和Max操作得到兩者的融合信息向量hG.公式如下:
(3)
除了對(duì)兩個(gè)智能體的編碼特征進(jìn)行加權(quán)平均之外,本文還對(duì)兩者應(yīng)用了最大池化函數(shù),重點(diǎn)提取關(guān)鍵特征.
最后,將得到的用戶智能體編碼向量hU、系統(tǒng)智能體編碼向量hS和兩者之間的融合向量hG傳入特定任務(wù)層,獲得最終的價(jià)值VU、VS和VG.公式如下:
VU=fU(hU)
(4)
VS=fS(hS)
(5)
VG=fG(hG)
(6)
在處理多域、復(fù)雜的對(duì)話任務(wù)時(shí),策略的動(dòng)作空間可能變得非常大,這使得對(duì)話策略幾乎不可能從零開始探索學(xué)習(xí).因此,本文通過以下兩個(gè)階段進(jìn)行優(yōu)化:
1)模仿學(xué)習(xí)-行為克隆,從人類真實(shí)對(duì)話數(shù)據(jù)的對(duì)話軌跡中抽取狀態(tài)-動(dòng)作對(duì),把狀態(tài)看作輸入特征、動(dòng)作看作輸出標(biāo)記進(jìn)行分類學(xué)習(xí),進(jìn)而獲取最優(yōu)策略模型.本文使用邏輯回歸進(jìn)行策略的預(yù)訓(xùn)練.另外,由于單個(gè)智能體在一個(gè)對(duì)話回合中只能產(chǎn)生少量的對(duì)話行為,為了減輕數(shù)據(jù)的偏差,對(duì)標(biāo)簽加入α權(quán)重,損失函數(shù)定義如下:
L(X,Y;α)=-α·YTlogσ(X)-(I-Y)Tlog(I-σ(X))
(7)
其中,X為狀態(tài)向量,Y為動(dòng)作向量.
2)PPO強(qiáng)化學(xué)習(xí),PPO是目前非常主流的強(qiáng)化學(xué)習(xí)算法,并且是基于AC架構(gòu)的,包含兩個(gè)網(wǎng)絡(luò):Actor和Critic,因此,它需要分別優(yōu)化這兩組參數(shù).對(duì)于Critic來說,它的目標(biāo)是最小化時(shí)序差分(TD)的TD target目標(biāo)值rt+γV(st+1)和估計(jì)值V(st)之間的平方差,為Actor提供小方差的值函數(shù).另外,為了使學(xué)習(xí)的目標(biāo)值函數(shù)分段更新保持穩(wěn)定,本文引入了一個(gè)固定的目標(biāo)值網(wǎng)絡(luò)[14]延遲更新,同時(shí)也可以打亂數(shù)據(jù)的相關(guān)性.最終的Critic網(wǎng)絡(luò)的損失函數(shù)公式如下:
(8)
(9)
(10)
(11)
(12)
其中:
δt=rt+γVθ(st+1)-Vθ(st)
(13)
最終的Actor網(wǎng)絡(luò)使用恒定的裁剪機(jī)制作為用戶策略和系統(tǒng)策略優(yōu)化的軟約束,公式如下:
(14)
(15)
算法1. PPO多智能體對(duì)話策略學(xué)習(xí)
1.數(shù)據(jù):對(duì)話行為標(biāo)記的對(duì)話語料D
/* 模仿學(xué)習(xí)-行為克隆 */
2.初始化:θU,θS
3.公式(7)預(yù)訓(xùn)練策略μ和π
/* 多智能體強(qiáng)化學(xué)習(xí) */
4.foriteration=1,2,…Ndo
5. 初始化:值網(wǎng)絡(luò)V=(VU,VS,VG)的參數(shù)θ和目標(biāo)網(wǎng)絡(luò)參數(shù)θ-←θ
6.foractor=1,2,…Ndo
7.repeat
8. 根據(jù)μθold、πθold采樣動(dòng)作aU、aS
9. 執(zhí)行動(dòng)作并記錄隨后的狀態(tài)s′U、s′S和立即獎(jiǎng)勵(lì)rU、rS、rG
10.utilT=1時(shí),會(huì)話結(jié)束
12.endfor
13.formini_batch=1,2,…Ndo
/* Critic更新 */
14. 公式(11)更新混合值評(píng)價(jià)網(wǎng)絡(luò)θ
15.C步之后,更新目標(biāo)網(wǎng)絡(luò)θ-←θ
/* Actor更新*/
17.endfor
19.end
本文使用MultiWOZ,這是一個(gè)面向任務(wù)的多域多意圖的對(duì)話語料庫,包含7個(gè)域、13個(gè)意圖、10,483個(gè)對(duì)話和71,544個(gè)對(duì)話回合.單域和多域?qū)υ挼钠骄睾蠑?shù)分別為8.93和15.39.在數(shù)據(jù)收集過程中,要求每個(gè)用戶遵循預(yù)先設(shè)定的用戶目標(biāo),并在交互過程中允許用戶在會(huì)話中更改其目標(biāo),因此收集到的對(duì)話與現(xiàn)實(shí)世界中的對(duì)話更加接近.語料庫還提供了定義外部數(shù)據(jù)庫的所有實(shí)體屬性的本體.
面向任務(wù)的對(duì)話系統(tǒng)的評(píng)估主要包括對(duì)話成本和對(duì)話任務(wù)是否完成.本文通過計(jì)算對(duì)話回合數(shù)(dialogue turns)來反映對(duì)話成本,任務(wù)成功(task success)利用其它兩個(gè)指標(biāo)Inform F1和Matchrate.這兩個(gè)指標(biāo)都是在對(duì)話行為(dialogue acts)級(jí)別計(jì)算得到的.具體來講,Inform F1評(píng)估是否已經(jīng)告知了用戶所有請(qǐng)求的信息(例如:門票價(jià)格、酒店電話號(hào)碼).Match rate評(píng)估預(yù)定實(shí)體是否針對(duì)所有涉及的領(lǐng)域都符合用戶指定的約束條件(例如,城鎮(zhèn)北部的酒店).如果智能體未能在某個(gè)域中預(yù)定實(shí)體,則它將在該域上獲得0分,每個(gè)域的此指標(biāo)范圍為[0,1],所有涉及領(lǐng)域的平均值代表此會(huì)話得分.最后,只有告知了所有信息(Inform F1=1),并且預(yù)定實(shí)體也被正確約束(Match rate=1),整個(gè)對(duì)話任務(wù)才被認(rèn)為成功(task success=1).
在本文的實(shí)驗(yàn)中,代碼編寫采用Facebook的PyTorch(1)https://pytorch.org/深度學(xué)習(xí)框架,版本為2.3.0,語言為Python.實(shí)驗(yàn)環(huán)境采用了GoogleColab提供的GPU.本文使用驗(yàn)證集進(jìn)行模型選擇,實(shí)驗(yàn)中超參數(shù)的設(shè)置和調(diào)整是根據(jù)實(shí)驗(yàn)的精度和損失手動(dòng)調(diào)整的.通過廣泛的超參數(shù)調(diào)優(yōu),實(shí)驗(yàn)的超參數(shù)如表2所示.
表2 實(shí)驗(yàn)參數(shù)Table 2 Experimental parameters
為了更好的進(jìn)行實(shí)驗(yàn)比較分析,本文參考了文獻(xiàn)[27]設(shè)計(jì)了以下基準(zhǔn)模型進(jìn)行比較:
1)SL:采用模仿學(xué)習(xí)中的行為克隆方法直接訓(xùn)練用戶智能體和系統(tǒng)智能體,與本文的預(yù)訓(xùn)練階段一致.
2)RL:在模仿學(xué)習(xí)的基礎(chǔ)上進(jìn)行獨(dú)立的強(qiáng)化學(xué)習(xí).具體來說,通過固定一個(gè)智能體的策略,來學(xué)習(xí)另一個(gè)智能體的對(duì)話策略.
4)IterDPL:文獻(xiàn)[29]首先從對(duì)話語料庫中學(xué)習(xí)基本的對(duì)話策略,然后通過深度強(qiáng)化學(xué)習(xí)迭代優(yōu)化其策略,從而進(jìn)一步改進(jìn)它們.其中,對(duì)話代理和用戶模擬器都設(shè)計(jì)有可以端到端訓(xùn)練的神經(jīng)網(wǎng)絡(luò)模型.
5)MADPL:文獻(xiàn)[27]提出了一種面向任務(wù)的多智能體對(duì)話策略學(xué)習(xí)方法,并設(shè)計(jì)了一種角色感知的混合價(jià)值網(wǎng)絡(luò).
實(shí)驗(yàn)過程中,本文采用了1000個(gè)用戶目標(biāo)進(jìn)行自動(dòng)評(píng)估.表3展示了用戶目標(biāo)具體的領(lǐng)域分布情況,其中,Restaurant域最多,為455個(gè).Police域最少,為22個(gè).用戶目標(biāo)最多包含3個(gè)域,2個(gè)域的占比50%.由于多域的存在,每個(gè)域的用戶目標(biāo)的統(tǒng)計(jì)量會(huì)重復(fù)計(jì)算.當(dāng)對(duì)話啟動(dòng)時(shí),兩個(gè)智能體根據(jù)給定的用戶目標(biāo)彼此交互.
表3 自動(dòng)評(píng)估中用戶目標(biāo)的領(lǐng)域分布Table 3 Domain distribution of user goals in the automatic evaluation
表4展示了在MultiWOZ數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,其中,用戶智能體和系統(tǒng)智能體的策略是根據(jù)一定的條件訓(xùn)練得到.具體來講,SL/SL是通過有監(jiān)督的模仿學(xué)習(xí)直接訓(xùn)練得到的,它的task success最差,只有50%,這表明單純的從訓(xùn)練數(shù)據(jù)
表4 MultiWOZ數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果Table 4 Experimental results on MultiWOZ dataset
集上學(xué)習(xí)到的策略,難以很好的泛化到新的用戶目標(biāo)上.單個(gè)RL的策略(表4中2-4行)是通過固定一方智能體來訓(xùn)練另一方智能體的策略.它們的task success比SL/SL分別高出3.5%、18.4%、13.7%,這是由于強(qiáng)化學(xué)習(xí)的加入使得訓(xùn)練模型可以在復(fù)雜環(huán)境中互動(dòng)得到策略性能的提升,也體現(xiàn)出了強(qiáng)化學(xué)習(xí)在此任務(wù)上的有效性.RL/SL的用戶智能體通過強(qiáng)化學(xué)習(xí)訓(xùn)練能更好的適應(yīng)系統(tǒng)智能體,Inform F1最高為78.22%.多RL的策略(表4中5-8行)比單個(gè)RL策略訓(xùn)練得到的性能要好.CRL通過使用相同的優(yōu)勢(shì)值對(duì)兩個(gè)智能體同時(shí)進(jìn)行更新,它的task success為69.3%,比IterDPL高出4.7%,表明了CTDE架構(gòu)在多智能體訓(xùn)練任務(wù)上的有效性.MADPL的Match rate最高為90.98%,task success與CRL相當(dāng)為70.1%.相比于表中的其它模型,本文提出的模型在性能上得到的極大的提升,其task success達(dá)到了84.4%,比MADPL高出14.3%.另外,對(duì)話回合數(shù)為6.18,對(duì)話成本更低.我們將其原因歸結(jié)為:1)在模仿學(xué)習(xí)的基礎(chǔ)上對(duì)兩個(gè)智能體進(jìn)一步進(jìn)行強(qiáng)化學(xué)習(xí)的訓(xùn)練,縮短了一定的訓(xùn)練時(shí)間,更加高效;2)在一個(gè)動(dòng)態(tài)的環(huán)境中,兩個(gè)智能體同時(shí)進(jìn)行交替訓(xùn)練,能夠適應(yīng)復(fù)雜環(huán)境;3)基于軟注意力狀態(tài)共享的用戶-系統(tǒng)混合值評(píng)價(jià)網(wǎng)絡(luò)學(xué)習(xí)到的價(jià)值估計(jì),能更好的引導(dǎo)策略梯度的更新;4)使用恒定的裁剪機(jī)制的PPO更新方法,樣本使用率更高,還能更好約束策略的更新范圍.
1)w/o soft attention:Our model去除了軟注意力機(jī)制,采用與MADPL中相同的值評(píng)價(jià)網(wǎng)絡(luò),則公式(1)-公式(3)分別被替換為:hU=tanh(fU(sU))、hS=tanh(fS(sS))和hG=[hU;hS].
2)w/o PPO:Our model去除PPO,采用與MADPL中相同的Advantage Actor Critic(A2C)算法,則公式(14)和公式(15)分別被替換為:Jπ(φ)=logπφ(aS|sS)[AS(sS)+AG(s)]和Jμ(ω)=logμω(aU|sU)[AU(sU)+AG(s)].
表5展示了在MultiWOZ數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果,我們發(fā)現(xiàn)以上兩種變體在task success上遠(yuǎn)遠(yuǎn)優(yōu)于MADPL模型.具體來講,w/o soft attention與MADPL采用相同的值評(píng)價(jià)網(wǎng)絡(luò),而強(qiáng)化學(xué)習(xí)策略采用具有恒定裁剪機(jī)制的PPO算法,實(shí)驗(yàn)結(jié)果task success比MADPL高8.2%.w/o PPO與MADPL采用相同的強(qiáng)化學(xué)習(xí)策略A2C,而值評(píng)價(jià)網(wǎng)絡(luò)采用軟注意力機(jī)制,實(shí)驗(yàn)結(jié)果task success比MADPL高10.4%.以上實(shí)驗(yàn)結(jié)果表明本文模型能夠?qū)W到更優(yōu)的對(duì)話策略,驗(yàn)證了本文方法的有效性.
表5 MultiWOZ數(shù)據(jù)集上的消融實(shí)驗(yàn)結(jié)果Table 5 Ablation experimental results on MultiWOZ dataset
為了進(jìn)一步分析本文提出的模型在復(fù)雜任務(wù)上的可伸縮性,我們做了一些實(shí)驗(yàn)使用了采樣得到的1000個(gè)用戶目標(biāo).圖3展示了在不同類別或數(shù)量的領(lǐng)域中,兩個(gè)對(duì)話智能體交互的性能結(jié)果.就領(lǐng)域類別來講,在Restaurant、Hotel和Train域上,分別有7、10和6個(gè)可告知的槽位需要被跟蹤.CRL在Restaurant和Hotel域上有較低的Inform F1和Match rate,但是在Train域上有較高的Match rate和task success.在Hotel域上,本文的模型與IterDPL的3個(gè)評(píng)價(jià)指標(biāo)相當(dāng),稍低于MADPL.但是,在Restaurant和Train域上,本文的模型表現(xiàn)優(yōu)異,其中Match rate和task success都接近100%.而對(duì)于不同的領(lǐng)域數(shù)量來講,task success隨著領(lǐng)域數(shù)量的增加而大大降低.在單域目標(biāo)中,RL/RL、MADPL和Our model都有比較高的Match rate和task success,其性能指標(biāo)值接近100%.當(dāng)目標(biāo)中有3個(gè)域時(shí),SL/RL的Match rate和task success最低,RL/SL的Inform F1較高,但Match rate較低,IterDPL的Match rate較高,但I(xiàn)nform F1較低.而本文提出的模型仍然可以保持較高的Inform F1、Match rate和task success.總的來講,所有的結(jié)果表明本文的模型在多域復(fù)雜的對(duì)話任務(wù)上具有良好的可伸縮性.
圖3 根據(jù)對(duì)話中域的不同類別(左)或數(shù)量(右)執(zhí)行對(duì)話代理的性能Fig.3 Performance of the dialog agent according to the different class (left) or number (right) of domains in the dialog
ConvLab-2[30]是一個(gè)開放源代碼工具包,使研究人員能夠使用最新模型構(gòu)建面向任務(wù)的對(duì)話系統(tǒng),進(jìn)行端到端的整體評(píng)估.為了進(jìn)一步驗(yàn)證本文方法的合理性,我們將本文模型與ConvLab-2平臺(tái)集成做了一些實(shí)驗(yàn),如表6所示.我們固定了NLU、DST和NLG的模型分別為BERTNLU、RuleDST和TemplateNLG,只變換策略模型進(jìn)行評(píng)估.本文的模型比MLEPolicy、PGPolicy和GDPLPolicy在性能上都有較大提升.其中,比GDPLPolicy在Inform F1、Match rate和task success上分別高出2.76%、16.45%和10.6%.MLEPolicy是在已標(biāo)注的語料上通過模仿學(xué)習(xí)訓(xùn)練得到的,而PGPolicy和GDPLPolicy是通過強(qiáng)化學(xué)習(xí)訓(xùn)練得到的.但是,與RulePolicy相比,我們的模型及以上3種模型性能指標(biāo)都不理想.其中,RulePolicy是專家規(guī)則,比本文模型在Inform F1、Match rate和task success上分別高出了17.87%、47.95%、24.9%.這表明專家規(guī)則RulePolicy比目前所設(shè)計(jì)的策略學(xué)習(xí)方法更加有效.但是,在復(fù)雜任務(wù)上,它仍需要專家具備豐富的跨領(lǐng)域的知識(shí),時(shí)間和人工成本較高.總的來講,本文提出的策略學(xué)習(xí)方法在ConvLab-2平臺(tái)上效果顯著,驗(yàn)證其合理性.
表6 與ConvLab-2集成的實(shí)驗(yàn)結(jié)果Table 6 Experimental results integrated with ConvLab-2
本文提出了一種PPO強(qiáng)化學(xué)習(xí)的多智能體對(duì)話策略學(xué)習(xí)方法,該方法避免了顯式地構(gòu)建用戶模擬器,可以同時(shí)訓(xùn)練用戶策略和系統(tǒng)策略.首先利用對(duì)話行為標(biāo)注的對(duì)話語料進(jìn)行有監(jiān)督的模仿學(xué)習(xí),獲得初始的對(duì)話策略.然后讓兩個(gè)智能體進(jìn)行面向任務(wù)的對(duì)話,并通過PPO進(jìn)一步優(yōu)化其策略.實(shí)驗(yàn)表明,本文提出的模型在多域多意圖的MultiWOZ數(shù)據(jù)集上獲得了最好的效果,泛化能力強(qiáng),并驗(yàn)證了在復(fù)雜任務(wù)上的可伸縮性.
在未來的工作中,我們將在更復(fù)雜的對(duì)話語料中應(yīng)用本文提出的方法.此外,由于獎(jiǎng)勵(lì)稀疏問題,手工設(shè)計(jì)的獎(jiǎng)勵(lì)可能并不適合.隨著系統(tǒng)處理跨多個(gè)領(lǐng)域的復(fù)雜任務(wù)的需求不斷增長,需要設(shè)計(jì)更復(fù)雜的獎(jiǎng)勵(lì)功能,這給手動(dòng)權(quán)衡這些不同的因素帶來了嚴(yán)峻的挑戰(zhàn).因此,能否自動(dòng)地推斷出激勵(lì)人的行為和互動(dòng)的獎(jiǎng)勵(lì),仍需進(jìn)一步探索.