01.30 不再鸚鵡學舌:26億參數量,谷歌開放領域聊天機器人近似人類水平

選自Google博客

機器之心編譯


參與:一鳴、Jamin

開放領域聊天機器人是人工智能研究的一個重要領域。近日谷歌一篇博客介紹了團隊在該領域的最新研究進展——Meena 機器人。

現在的對話智能體(即聊天機器人)都是非常專業化的,如果用戶不偏離場景太遠的話,這些機器人的表現還是很不錯的。但是,要想讓聊天機器人能夠完成更廣泛話題下的對話任務,發展開放領域聊天機器人就顯得很重要了。
開放領域聊天機器人不會僅限於在某個特定領域,而是能夠和用戶聊近乎所有的話題。這一研究不僅具有學術價值,還可以激發很多有趣的應用,如更深層次的人機交互、提升外語訓練的效果,或用於製作交互式電影和遊戲角色。
但是,現在的開放領域聊天機器人有一個嚴重的缺陷——它們產生的對話內容往往沒什麼意義。要麼它們的對話和當前的內容沒什麼連貫性,或者對現實世界沒有常識和基本知識。此外,它們對於當前的語境往往給不出特定的回覆。例如,「我不知道」確實是一個可以回答任何問題的答覆,但是不夠詳細。現在的聊天機器人產生這種回覆的頻率比人類要高很多,因為這種回覆可以覆蓋很多可能的用戶輸入。


為了解決這些問題,谷歌的研究者提出了一個新的聊天機器人,名為 Meena。這是一個有著 26 億參數的端到端神經對話模型,也就是 GPT-2 模型最大版本(15 億參數)的 1.7 倍。通過實驗可以看到,Meena 比現有的 SOTA 聊天機器人能夠更好地完成對話,對話內容顯得更為具體、清楚。
在測評中,谷歌採用了他們新提出的人類評價指標,名為「Sensibleness and Specificity Average (SSA)」。這個指標能夠捕捉基本但對於人類對話重要的屬性。值得注意的是,研究者同時還發現,困惑度——一個很容易在各種神經對話模型中實現的計算指標,和 SSA 有著高度的相關性。

不再鸚鵡學舌:26億參數量,谷歌開放領域聊天機器人近似人類水平

Meena(左)和人類(右)之間的對話。
Meena 機器人
Meena 是一個端到端的神經對話模型,可以學習如何對給定的對話上下文做出響應。訓練 Meena 的目標是最大程度地減少困惑度,以及預測下一個標記(在這種情況下為對話中的下一個單詞)的不確定性。
其核心為 Evolved Transformer seq2seq 架構,也就是通過進化神經架構搜索發現的一種 Transformer 體系結構,可以改善困惑度。
Meena 由一個 Evolved Transformer 編碼器和 13 個 Evolved Transformer 解碼器組成,如下圖所示。編碼器用於處理對話語境,幫助 Meena 理解對話中已經說過的內容。解碼器則利用這些信息生成實際的回覆。通過超參數調整後,研究者發現性能更強的解碼器是實現高質量對話的關鍵。

不再鸚鵡學舌:26億參數量,谷歌開放領域聊天機器人近似人類水平

Meena 根據七輪對話的語境生成回覆。
用於訓練的對話語料以樹狀脈絡形式組織起來,每個回覆可以被認為是一輪對話。研究者將每輪對話抽取作為訓練樣本,而該輪之前的 7 輪對話作為語境信息,構成一組數據。選擇 7 輪對話作為語境是因為它既能夠獲得足夠長的語境信息,也還能夠讓模型在內存限制下進行訓練。畢竟文本越長,內存佔用就越大。
據博客介紹,Meena 在 341GB 的文本上進行了訓練,這些文本是從公共領域社交媒體對話上過濾得到的,和 GPT-2 相比,數據量是後者的 8.5 倍。
人類評價指標 SSA
現有聊天機器人的人類評價指標有些複雜,而且在評價者間也很難形成標準一致的評價。這使得研究者設計了一種新的人類評價指標,名為「Sensibleness and Specificity Average (SSA)」。
為了計算 SSA,研究者使用眾包方式測試了 Meena、Mitsuku、Cleverbot、小冰和 DialoGPT 等聊天機器人。為了保證評價的連貫性,每個對話都以「Hi」開始。在評價中,人類評價者需要回答兩個問題:「對話講得通嗎?」以及「對話夠詳細具體嗎?」評價者使用常識評價聊天機器人的回覆。
在評價中,只要有令人困惑、不合邏輯、跑題或者事實性錯誤的回覆,評價者就可以打「對話講不通」。如果對話講得通,評價者就需要評價對話是否具體詳細。例如,人類對話者說「我喜歡打網球。」,而聊天機器人僅僅回覆「這很好。」就可以判斷對話是不夠具體詳細的,因為沒有針對語境進行回覆。


對於每個聊天機器人,研究者收集了 1600 到 2400 輪對話。每個模型的回覆都被人類評價者打上評價結果的標籤(對話是否講得通和對話是否具體詳細)。最後的 SSA 分數是兩者的均值。如下結果說明,Meena 相比於現有的 SOTA 聊天機器人有著更高的 SSA 分數,接近了人類的表現。

不再鸚鵡學舌:26億參數量,谷歌開放領域聊天機器人近似人類水平

Meena 和其他聊天機器人的性能對比。
困惑度指標


但是,由於人類評價存在的問題,很多研究者都希望找到一個能夠自動計算的評價指標。這個指標需要能夠和人類評價精確對應。研究者在研究中發現,困惑度(perplexity),一個在 seq2seq 模型中常見的指標,和 SSA 有著強相關性。
困惑度用於評價一個語言模型的不確定性,低困惑度說明模型在生成下一個 token(如字、詞等)時有著更高的信心。困惑度表示的是模型在選擇生成下一個 token 的過程中的候選數量。
在研究中,研究中採用了 8 個不同的模型版本,分別有著超參數和架構上的區別,如層數、注意力 head 數量、訓練步數,使用的是 Evolved Transformer 還是一般的 Transformer,使用 hard label 進行旋律還是使用蒸餾的方法進行訓練等。從下圖來看,越低的困惑度模型有著更高的 SSA 分數,而兩者的相關係數很強(R^2 = 0.93)。

不再鸚鵡學舌:26億參數量,谷歌開放領域聊天機器人近似人類水平

交互式 SSA vs. 困惑度。每個藍點都是都是 Meena 模型的不同版本。這裡繪製出了迴歸曲線,表明 SSA 與困惑度之間存在很強的相關性。虛線則表示了人,其他機器人,Meena(base),端到端的訓練模型以及具有過濾機制和調整解碼的 Meena。
最好的端到端 Meena 訓練模型,被稱之為 Meena(base),實現了 10.2 的困惑度(越小越好)轉化為 72% 的 SSA 得分。與其他獲得 SSA 分數相比,72% 的 SSA 分數與普通人獲得的 86% 的 SSA 分數相差不遠。Meena 的完整版具有過濾機制和調整解碼,會進一步將 SSA 分數提高到 79%。
未來的研究與挑戰
按照之前的描述,研究者將繼續通過改進算法、架構、數據和計算量去降低神經會話模型的困惑度。
雖然研究者再這項工作中只專注于敏感性和獨特性,而其他屬性如個性和真實性等依舊值得在後續的工作中加以考慮。此外,解決模型中的安全性和偏差也是一個關鍵的重點領域,鑑於當下面臨的挑戰是與此相關的,就目前而言團隊不會發布研究演示。但是,研究者正在評估將模型檢查點具體化所帶來的風險及益處,並且有可能會選擇在未來幾個月內使其可用,用來幫助推進該領域的研究工作。


參考鏈接:https://arxiv.org/abs/2001.09977
https://ai.googleblog.com/2020/01/towards-conversational-agent-that-can.html


分享到:


相關文章: