酷播亮新聞
最棒的知識補給站

IBM、哈佛聯合提出Seq2Seq-Vis:機器翻譯模型的可視化調試工具

摘要:語言翻譯中出現的細微錯誤對於人類而言常常是很明顯的,並會導致差異很大的結果。 例如,之前由於
seq2seq翻譯系統將「早上好」錯誤的翻譯為了「攻擊他們」,導致錯誤的逮捕事故。 深度學習模型的不可解釋性更

語言翻譯中出現的細微錯誤對於人類而言常常是很明顯的,並會導致差異很大的結果。 例如,之前由於
  seq2seq 翻譯系統將「早上好」錯誤的翻譯為了「攻擊他們」,導致錯誤的逮捕事故。 深度學習模型的不可解釋性更是普遍存在的問題。 為此,IBM
研究院、Watson AI Lab、哈佛 NLP 團隊和哈佛視覺計算團隊聯合研發了一款針對 seq2seq 模型的可視化調試工具
Seq2Seq-Vis,使用戶可以可視化模型執行過程中的注意力、單詞預測、搜索樹、狀態軌跡和近鄰詞列表等,從而更高效地進行分析和調試。


  1:(左圖)Seq2Seq-Vis 中翻譯視圖(Translation View)示例:輸入語句為「our tool helps to
find errors in seq2seq models using visual analysis
methods」,目標是將其翻譯為德語。 編碼器和解碼器之間對單詞「seq2seq」的關注(attention)是正確的(紅色高亮線條),但目標語言的語言詞典
  (language dictonary)
中並沒有對應單詞。 觀察「seq2seq」的編碼器近鄰詞(右圖)可以發現,另一個未知單詞「hunki」與其距離很近。 各種按鈕能夠支持用戶完成更深層分析的交互需求。

介紹

基於神經網絡的深度學習方法在諸多人工智能任務中都表現出了驚人的提升效果,但複雜的結構也令人們很難解釋其預測結果。 基於注意力的
  sequence-to-sequence models (seq2seq) [3,
49],通常也稱為編碼器-解碼器(encoder-decoder)模型,就是這一趨勢的範例。 在很多諸如機器翻譯、自然語言生成、圖像描述以及總結的應用場景中,seq2Seq
  模型都表現出了當前最優的效果。 最新研究表明,這些模型能夠在特定的重要場景下,實現人類級別的機器翻譯效果。

seq2seq
模型的強大性來自於其為對序列的處理和預測提供了一個高效的監督方法,而無需對源序列和目標序列間的關係予以人工指明。 在同一個模型中,系統能夠學會對源序列句進行重排、轉換、壓縮或擴展,進而輸出目標序列。 上述變換是通過一個巨大的內在狀態表徵實現對源序列的編碼及之後的解碼工作的。 只要數據量充足,seq2seq
  模型就能為預測序列的學習提供一個通用的實現機制。

雖然 seq2seq
模型的影響已經很明確了,但深度學習模型導致的複雜程度和不確定性的增加也帶來了問題。 通常,在給出預測時,這些模型的表現都像是一個黑箱,使得追踪錯誤源頭也變得困難。 而內部的潛在表徵也使人們難以分析這些模型,因為它們將數據轉化成了和原始序列相差甚遠的結果。 雖然這些性質是很多深度學習技術所共有的,但對於人類讀者而言,語言中的錯誤會非常明顯。 例如,由於
  seq2seq 翻譯系統將「早上好」錯誤的翻譯為了「攻擊他們」,導致了一次錯誤的逮捕,最終成為一起廣為人知的事故
[12]。 除此之外,seq2seq
模型中更常見卻也值得擔憂的失敗包括:機器翻譯系統完全曲解了一句話,圖像描述系統生成了錯誤的描述,或語音識別系統給出了錯誤的文本。

在理想情況下,模型開發者希望部署能夠完全理解、相信其產生結果是正確的系統。 但目前對於深度學習模型而言,這個目標依然難以實現。 同時研究者相信,在「以一種通用的、可複現的方式實現表象化、可視化
  seq2seq 系統中的錯誤」這一重大挑戰面前,可視化分析社區能夠有所幫助。

研究者開發了 SEQ2SEQ-VIS:一個能夠通過實現以下三個目標,進而滿足上述要求的可視化分析工具。

  • 檢查模型決策:SEQ2SEQ-VIS 允許用戶理解、描述並具體化 seq2seq 模型的錯誤,覆蓋模型全部的五個階段:編碼器、解碼器、注意力、預測、束搜索。

  • 連接樣本和決策:SEQ2SEQ-VIS 展示了 seq2seq 模型基於潛在狀態及其相關近鄰,從訓練數據中學到了什麼。

  • 測試可選決策:SEQ2SEQ-VIS 提供了靈敏的交互方法,可以實現對模型內部進行操作。

圖 1(或更完整的圖 7)展示了 SEQ2SEQ-VIS 的全貌。 它整合了模型組件的可視化(圖 1 左)、特定樣本的內在表徵(圖 1 中), 在一個由預先計算好樣本組成的巨大離線語料庫上實現的最近鄰搜索(nearest-neighbor lookup)。

圖2:seq2seq 模型通過五個階段,將源序列翻譯為目標序列:(S1)將源序列編碼為潛在向量,(S2)將其解碼為目標序列,(S3)編碼器和解碼器之間實現 注意,(S4)在每個時間步驟中,預測單詞概率,(S5)(通過束搜索)搜索最佳翻譯。


  7:Seq2Seq-Vis 概述。 兩個重要視圖:(a)翻譯視圖(Translation View)和(b)近鄰視圖(Neighborhood
View)分別推動了不同的分析模式。 翻譯視圖提供了(c)注意力的可視化,(d)每個時間步驟中 top-k
個單詞預測,以及(e)束搜索樹。 近鄰視圖通過(f,g)狀態軌蹟的投影以及(h)針對一個特定模型狀態的最近鄰列表,更進一步展示模型學到了什麼。

使用案例


  10:一個日期轉換模型翻譯效果的比較。 輸入序列「March 21, 2000」和「May 21,
2000」僅有幾個字符不同。 (頂部)用於預測正確月份「3」和「5」的注意力集中在了其差異「y」和「rc」上。 (左下)軌跡視圖展示了編碼器狀態變化中的這一差異。 (右下)近鄰列表顯示,在輸入
  M 後,模型依然未作出決策。


  11:抽象總結的使用案例。 輸入句子「Russian defense minister Ivanov called Sunday for the
  creation of a joint front for combating global terrorism(俄羅斯國防部長 Ivanov
  於週日呼籲聯合抵抗全球性的恐怖主義)」可以有不同的總結形式。 圖中黃色方格展示了不同的前綴解碼(prefix
decode)設置下的抽象結果。 頂部:無約束抽象;中間:將預測從「for」改成「on」後,為保證語法正確,導致模型自動加上了「world
leaders」;底部:將第一個單詞從「Russian」改為「Moscow」或「Russia」,句子進一步壓縮後,依然保留了句意。


  12:利用 WMT』14
數據完成語言翻譯的使用案例。 (頂部)注意力圖展示了目標單詞「he」的注意力並非僅集中在解碼器「er」部分,而是同時注意力了後面的單詞,甚至注意了距離很遠的動詞「gesprochen(說)」 。 解碼器的狀態軌跡(左下)顯示「he」和「spoke」的距離非常接近。 近鄰列表表明,模型設置了一個階段,其中預測「spoke」為下一個單詞。

圖 13:一個欠訓練的英語-德語模型。 在欠訓練或欠參數化模型中,重複是一個很常見的現象。 軌跡象形圖顯示,在「in Stuttgart」的重複中,解碼器狀態在同一個區域內在「in」和「Stuttgart」交替變化,直到將它們分離出來。

論文:SEQ2SEQ-VIS : A Visual Debugging Tool for Sequence-to-Sequence Models

論文地址:https://arxiv.org/abs/1804.09299

神經
  Sequence-to-Sequence
模型已經通過許多序列預測任務證明了其具有準確、穩健的性質,也已經成為文本自動翻譯的標準方法。 Sequence-to-Sequence
模型的運行包含五個黑箱階段,包括將源序列編碼到一個向量空間中,再將其解碼為新的目標序列。 如今這是標準過程,但和許多深度學習方法一樣,理解或調試
Sequence-to-Sequence
模型是很困難的。 在本文中,研究者實現了一個可視化分析工具,使用戶可以通過訓練過程中的每個階段,與訓練好的
Sequence-to-Sequence 模型進行交互。 其目標包含識別已被學到的模式,並發現模型中的錯誤。

版權聲明

本文僅代表作者觀點,不代表百度立場。
本文係作者授權百度百家發表,未經許可,不得轉載。

如有侵權請來信告知:酷播亮新聞 » IBM、哈佛聯合提出Seq2Seq-Vis:機器翻譯模型的可視化調試工具