去年,穀歌發佈了 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
,雷鋒網編譯