天天看點

三角獸首席科學家王寶勳:熱度之下的對話生成

三角獸首席科學家王寶勳:熱度之下的對話生成

三角獸首席科學家王寶勳

限于閑聊的、無資訊需求的對話生成是自動對話領域一個比較前沿的學術方向。在應用方面,生成式聊天相比于前一代的基于資訊檢索的(IR-based)架構也有一些天然的優勢:它不需要維護大規模問答庫,也不需要排序、篩選等子子產品,這種更加一體化的構架,在部署上也很有實際意義。

然而,生成式聊天也有自己的弱點:因為模型通常以相關性為核心建構損失函數,是以非常容易生成嚴重趨同的答案,這種現象被稱為「安全回答」問題(safe response)。一句「我也這麼認為。」确實可以回複許多問題,但是這樣「雞肋」的回答難免讓使用者失去繼續聊下去的興趣。是以,生成式對話系統在獲得大範圍應用前,一定要解決安全回答問題。

三角獸與哈工大合作的這篇論文(GAN-AEL)就旨在通過生成對抗網絡解決這個問題,讓生成器考慮「相關性」問題,同時,引入具有對抗屬性的判别器,把「多樣性」也納入考量之中。實作這個思路的障礙來自生成對抗網絡和自然語言本身的特性。生成對抗網絡成功用于圖像領域有賴于圖像信号的連續特點,然而文本信号是離散的,離散意味着不可導、意味着判别器的資訊無法順利通過反向傳播到達生成器。是以,作者提出了一種新的結構:近似嵌入層(Approximate Embedding Layer, AEL)來獲得判别器和生成器中間的連續性。

三角獸首席科學家王寶勳:熱度之下的對話生成

論文:資料需求特點與模型結構選擇

在資料需求方面,生成式對話系統相比于資訊檢索式的對話系統,乃至于神經機器翻譯系統,有哪些不同呢?對此,王寶勳表示,首先相比于資訊檢索式架構,生成模型在訓練階段對資料量有較高需求,然而一旦學習結束,在理想狀态下就可以直接端到端地生成答案,不需要再對資料進行維護。而相比于機器翻譯,雖然對話資料比翻譯常見,可以從論壇、貼吧等衆多途徑獲得,但是資料品質遠遠不如翻譯資料。以本文所提出的模型為例,相比于神經機器翻譯,在資料體量上要求較低而在品質上要求較高。數量上要求低,是因為對抗的過程在不停地生成資料,這一輪和下一輪生成的樣本可以被看成是不同的樣本。品質上要求高,是因為模型的目标是避免安全回答,是以從一開始就要對資料進行嚴格的預處理,避免資料集中出現安全回答。

在模型結構上,生成器選擇了基于 GRU 的編碼器-解碼器結構,判别器選擇了 CNN。GRU 雖然不像 LSTM 那麼明确地有不同門負責不同任務,但從實踐效果來看,兩個模型效果相差不多,是以最終選擇參數較少的 GRU。選擇 CNN 則和近似嵌入層(Approximate Embedding Layer, AEL)的引入有關。這一層在做句子表示時,雖說有近似,但還是以詞的嵌入(embedding)向量串聯的形式來表示一個句子。在這之上,可以做一些其他的表示,甚至可以直接加在一起。但是根據以往的經驗,分類器還是用一個不太深的 CNN 比較好。雖然沒有純理論的推導,但經驗上表明,對于對抗學習這種架構來說,判别器不能太強。如果判别器過強,一下子就把兩類樣本分開,說明生成的樣本對判别器來說沒什麼太大挑戰,判别器也無法給生成器提出什麼建議,導緻誤差傳導、生成器底層更新的頻率和幅度都會小一些。是以生成器和判别器在學習速度上還是要相比對的。

對話生成研究:一對多問題,缺失的評價标準和多輪的挑戰

「人機對話之前都是自然語言處理領域稍微小衆的一個方向,但是今年的 ACL 收錄了超過十篇做對話的論文,這個數字是前所未有的」。研究方向的熱度随着人工智能整體的熱度而急速攀升,即使是走在最前沿的研究者也對此感到驚訝。處在這樣的一個時間節點,王寶勳眼裡的對話生成領域是什麼樣子?研究的挑戰在何處,不同的處理方式的特點是什麼,又如何對成果進行客觀評價?

在開放域閑聊對話中,一個問題對應多個可能答案的情況很常見。王寶勳解釋道,一對多現象會對模型産生一些挑戰是因為它會引入語義上的不确定性。相比之下,機器翻譯雖然也存在一對多現象,但是多種翻譯在語義上基本上是平行的。在問答或者聊天任務上,沒有辦法保證每一個答案在語義上的一緻性,這種語義上的漂移會對機器學習模型産生很大挑戰。

統一的評價标準的缺失也很讓研究者頭疼。機器翻譯中的 BLEU、迷惑度(perplexity),乃至文本摘要任務的評價标準都會被聊天系統借用。「引入一個行業通行的标準很有必要」,王寶勳肯定地說。但和問答、翻譯、文摘等幾個領域一樣,如何将主觀性的東西進行量化,始終是一個難題。如果強行引入太多标簽,則勢必形成不了上規模的應用。什麼樣的評價标準才是一個好的标準?GAN-AEL 在「相關性」之外引入了「多樣性」。除此之外,「延展性」也很重要。延展性評價一個回答能否引發更多輪數的對話,評價使用者看到回答之後是否有興趣繼續聊下去。當然了,延展性非常難直接衡量。一個「曲線救國」的辦法是在系統上線之後,看使用者的 cps(conversation per session)。王寶勳還補充道,比起評價标準缺失,或許更亟待解決的問題是高品質評測集和訓練集的缺乏,常用的幾個資料集在品質方面參差不齊。

最後,能讓使用者「多聊幾句」的回答才是好回答,而系統從「給使用者一個回複」到「多聊幾句」,存在一個指數級的難度提高。多輪對話要更多考慮情境、考慮和前文的關聯。它和前文哪句話關聯?多大範圍關聯?有潛在關聯怎麼辦?都是需要考慮的問題。然而,多輪對話始終是對話系統繞不開的一個題目。一方面,任務型對話通常都有多輪的需求,因為在一輪以内收集到完成任務所需的所有資訊是非常困難的。例如,使用者說「我要訂飯店」,别的什麼都沒說,那機器人總要追問,「你要定在哪裡?幾點?多少人?」。主流的對話系統都會通過對話狀态跟蹤(dialog state tracking)子產品來記錄狀态的轉移,以配合政策(policy)子產品。而另一方面,王寶勳也看好聊天在多輪對話上的發展。「一段時間以後,我們也會看到一個相對讓人滿意的多輪聊天的機制。這個事情不會太遠,我對多輪對話相對比較樂觀」,他如是說。

對話生成應用:分類法與使用者教育

三角獸的對話系統,有「開放域聊天、任務驅動的多輪對話、智能問答」三個方向,這是否也是對話系統的常見類别呢?除此之外還有什麼分類法呢?王寶勳解釋道,三角獸的分法是按功能做的分類。以前,對話系統(dialog system)專門指代需要完成任務的問答。現在大家對這個問題重新認識了,認為對話系統除了完成指定任務之外,也可以有聊天功能。使用者在沒有特定需求的時候,也可以來和機器人聊聊天。除此之外,還有按領域做細分的方法。任務型聊天經常這樣分類,因為訂餐的系統和買飛機票的系統在對話邏輯上就有一些不同。聊天也是這樣,泛泛的開放域聊天是一種情況,就二次元動漫進行深入的對話又是另一種情況。

然而比起分類法,公衆其實更關注對話系統的表現形式:機器人。這種關注源自諸多誤解,也帶來了很多擔憂。例如,日前 Facebook 由于純文字多輪對話引擎 Bot Engine 的使用者體驗不好而選擇退出,結果被媒體解讀為「人工智能失控,人類隻能選擇拔電源」。業界人士應該如何向公衆解釋聊天機器人的能力與局限?王寶勳認同,公衆對人工智能這個整體的了解存在一定偏差,而大衆對于聊天機器人這種新形式需要一個接受的過程、使用習慣的改變的過程。王寶勳将聊天機器人的功能定位為「可以在一些特定領域裡幫助人類完成一些比較常見的工作」。比如說,在開車的過程中不借助手去觸控,而是通過與智能工具溝通完成啟動導航的操作;在做飯的時候,手在忙,那麼就可以通過智能音箱完成操作。同時,它可以完成一些情感上的溝通,在人們工作閑暇的時候,調侃它,甚至現在常說的「調戲」它,是一個很有趣打發時間的方式。王博士也希望大家可以少一些對機器人的擔心:「第一,它不會竊取你什麼,第二,語言的形成不是一個簡單的數學模型可以概括的,是以大可不必擔心它變得過于強大。」

深度學習:熱度依舊、思路紛纭、可解釋性「曲徑通幽」

去年年底,王博士受邀擔任了 ACL 2017 的審稿人。「深度學習依然那麼的火熱,然而深度學習本身的簡單應用已經不足以征服審稿人了。」他總結了入選論文一定要滿足的三點要求:第一,這個方向、問題本身是成立的、有用的,不能生造一個系統裡面用不到的問題。第二,作者本人對這個問題有足夠的了解,而不是簡單套用個模型。第三,模型本身,在結構或者思路上有足夠的創新點。總而言之,在深度學習方向上寫論文已經不像大家想象得那麼簡單了。

而對不同思路的探讨也呈白熱化。同樣是對話生成,增強學習和生成對抗網絡就有不同的側重點。增強學習的方法需要人為定義獎勵(reward),這個過程需要很多先驗的知識。而生成對抗網絡的判别器是資料驅動的,什麼樣的回複比較好是通過資料定義的,過程中并沒有加入太多人的先驗知識,是以對資料的拟合可能更合理一些。有趣的是,也有通過強化學習來實作生成對抗網絡判别器和生成器互動的方法。

「更多引入先驗知識」和「更多依賴資料驅動」似乎是兩種大相徑庭的思路。例如,在神經機器翻譯領域,一些學者(比如谷歌的一些論文)傾向于将盡可能多的資料交給神經網絡,讓模型自己習得文法知識;同時有的學者傾向于盡可能多地人工引入文法和句法資訊。然而王寶勳認為,這兩種思路都還在連接配接主義的架構内,隻不過代表了兩種不同的思維習慣,或者說處理問題的習慣。比如谷歌從很多年以前就一直喜歡強資料驅動的辦法。而包括李航老師在内的諸多國内學者最近也在呼籲大家更多去考慮将符号學、符号主義引入大規模機器學習、深度學習或其他學習模式。王寶勳認為,如果有合理的引入或溝通方法,符号主義,包括規則、文法等等知識,其實是很有必要去和現在的機器學習做一些融合。「因為凡事不應過于絕對,再強調大資料的效果也應該看到它的局限性。之前幾十年的經驗如果能和深度學習模型合理融合在一起,甚至可以說是下一個階段的再實作一個跨越的基礎。」

雖然深度學習的火熱程度逐年遞增,其可解釋性差的問題、參數調整一直靠實踐倒推的現象一直存在,并且仍然缺乏理論解釋。王寶勳表示,相比于應用型的論文,理論方向的論文雖然很少,但也有優秀的工作出現。例如在調參方面,今年發表的 WGAN 的作者花了相當長的篇幅進行了數學證明,然後提出了 4 條調參的建議,經過驗證,都很有效。

最後,王寶勳也提出了一些關于給予神經網絡以可解釋性的思考。「以自然語言處理任務為例,LSTM 就是通過對原始 RNN 添加各種門(gate)與記憶單元(memory cell)而獲得了對長距離依賴的較好描述能力。那麼這裡的原始 RNN 可以當成一個黑箱,而這些『門』是人們可以通過實體方法進行直覺了解的子產品。『對序列模組化的基礎上,添加記憶單元,配合以幾個門,就可以捕捉長距離依賴資訊』,這本身是不是就對神經網絡做了一定的解釋呢?」

「如果我們在神經網絡的基礎子產品之上添加一些額外的可解釋的子產品,模型的效果變好了,我們也從這個過程中獲得了一些可解釋性。雖然我們沒有拆開黑箱,但是通過把神經網絡和可解釋子產品二者進行勾連進而獲得更好的效果這個事實,我們是不是對黑箱的『形狀』做出了一個描述呢?」

三角獸首席科學家王寶勳:熱度之下的對話生成

繼續閱讀