一窺谷歌神經機器翻譯模型真面貌,其底層框架開源!

jopen 8年前發布 | 6K 次閱讀 Google

一窺谷歌神經機器翻譯模型真面貌,其底層框架開源!

去年,谷歌發布了 Google Neural Machine Translation (GNMT),即谷歌神經機器翻譯,一個 sequence-to-sequence (“seq2seq”) 的模型。現在,它已經用于谷歌翻譯的產品系統。

雖然消費者感受到的提升并不十分明顯,谷歌宣稱,GNMT 對翻譯質量帶來了巨大飛躍。

但谷歌想做的顯然不止于此。其在官方博客表示:“由于外部研究人員無法獲取訓練這些模型的框架,GNMT 的影響力受到了束縛。”

如何把該技術的影響力最大化?答案只有一個——開源。

因而,谷歌于昨晚發布了 tf-seq2seq —— 基于 TensorFlow 的 seq2seq 框架。谷歌表示,它使開發者試驗 seq2seq 模型變得更方便,更容易達到一流的效果。另外,tf-seq2seq 的代碼庫很干凈并且模塊化,保留了全部的測試覆蓋,并把所有功能寫入文件。

該框架支持標準 seq2seq 模型的多種配置,比如編碼器/解碼器的深度、注意力機制(attention mechanism)、RNN 單元類型以及 beam size。這樣的多功能性,能幫助研究人員找到最優的超參數,也使它超過了其他框架。詳情請參考谷歌論文《Massive Exploration of Neural Machine Translation Architectures》。

一窺谷歌神經機器翻譯模型真面貌,其底層框架開源!

上圖所示,是一個從中文到英文的 seq2seq 翻譯模型。每一個時間步驟,編碼器接收一個漢字以及它的上一個狀態(黑色箭頭),然后生成輸出矢量(藍色箭頭)。下一步,解碼器一個詞一個詞地生成英語翻譯。在每一個時間步驟,解碼器接收上一個字詞、上一個狀態、所有編碼器的加權輸出和,以生成下一個英語詞匯。雷鋒網(公眾號:雷鋒網)提醒,在谷歌的執行中,他們使用 wordpieces 來處理生僻字詞。

據雷鋒網了解,除了機器翻譯,tf-seq2seq 還能被應用到其他 sequence-to-sequence 任務上;即任何給定輸入順序、需要學習輸出順序的任務。這包括 machine summarization、圖像抓取、語音識別、對話建模。谷歌自承,在設計該框架時可以說是十分地仔細,才能維持這個層次的廣適性,并提供人性化的教程、預處理數據以及其他的機器翻譯功能。

谷歌在博客表示:

“我們希望,你會用 tf-seq2seq 來加速(或起步)你的深度學習研究。我們歡迎你對 GitHub 資源庫的貢獻。有一系列公開的問題需要你的幫助!”

GitHub 地址:https://github.com/google/seq2seq

GitHub 資源庫:https://google.github.io/seq2seq/nmt/ 

via googleblog

來自: 雷鋒網

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!