引入tf-seq2seq:TensorFlow中開源序列到序列框架

谷歌開發者_發表於2017-05-02

640?wx_fmt=gif


文 | Google Brain 團隊研究軟體工程師 Anna Goldie 和 Google Brain 學員 Denny Britz


去年,我們宣佈推出 Google 神經機器翻譯 (GNMT),這是一個序列到序列(“seq2seq”)的模型,現已用於 Google 翻譯生產系統。儘管 GNMT 實現了翻譯質量的巨大飛躍,但由於不向外部研究人員提供用於訓練這些模型的框架,因此其作用受到影響。


現在,我們很高興地宣佈引入 tf-seq2seq,它是 TensorFlow 中的一個開放原始碼的 seq2seq 框架,能簡化 seq2seq 模型的試驗,獲得準確的結果。為此,我們對 tf-seq2seq 程式碼庫進行了清理和模組化處理,從而維持最大的測試覆蓋範圍,並記錄其所有功能。


我們的框架支援標準 seq2seq 模型的各種配置,例如編碼器/解碼器深度、注意力機制、RNN 細胞型別或集束大小等。正如我們在論文《神經機器翻譯架構大探索》(Massive Exploration of Neural Machine Translation Architectures) 中所述,這種多用性讓我們得以發現最優的超引數,並在效能上超越其他框架。


640?wx_fmt=gif

▲ 中譯英 seq2seq 翻譯模型。在每個時步,編碼器接收一箇中文字元及其之前的狀態(黑色箭頭),然後生成輸出向量(藍色箭頭)。然後,解碼器逐字生成英語翻譯,具體步驟是:在每個時步,解碼器接收上一個字詞及其之前的狀態,並對編碼器的所有輸出(亦稱作注意力 [3],用藍色標示)進行加權組合,然後生成下一個英語單詞。請注意,在實現過程中,我們使用詞塊 [4] 處理生僻詞。


除了機器翻譯外,tf-seq2seq 還可以用於執行其他任何序列到序列的任務(即,學習在給定輸入序列條件下生成輸出序列),包括機器翻譯彙總、影象字幕製作、語音識別和對話建模等。我們對框架進行了精心設計,以維持此種程度的通用性,併為機器翻譯提供教程、預處理的資料和其他實用工具。


我們希望,您能使用 tf-seq2seq 加速(或開始)自己的深度學習研究。我們也非常歡迎您在我們的 GitHub 儲存區投稿,在這裡,我們釋出了各種等待解決的問題,我們希望您能提供協助!


致謝:

非常感謝 Eugene Brevdo、Melody Guan、Lukasz Kaiser、Quoc V. Le、Thang Luong 和 Chris Olah 的大力支援。要深入研究 seq2seq 模型的工作原理,請參閱下面的資源。


參考文獻:

[1] 《神經機器翻譯架構大探索》(Massive Exploration of Neural Machine Translation Architectures),由 Denny Britz、Anna Goldie、Minh-Thang Luong 和 Quoc Le 合著

[2] 《利用神經網路實現序列到序列的學習》(Sequence to Sequence Learning with Neural Networks),由 Ilya Sutskever、Oriol Vinyals 和 Quoc V. Le 合著。2014 年發表於 NIPS 大會

[3] 《通過聯合學習對齊和翻譯進行神經機器翻譯》(Neural Machine Translation by Jointly Learning to Align and Translate),由 Dzmitry Bahdanau、Kyunghyun Cho 和 Yoshua Bengio 合著。2015 年發表於 ICLR 大會

[4] 《Google 的神經機器翻譯體系:縮小機器翻譯與人類翻譯之間的差距》(Bridging the Gap between Human and Machine Translation),由 Yonghui Wu、Mike Schuster、Zhifeng Chen、Quoc V. Le、Mohammad Norouzi、Wolfgang Macherey、Maxim Krikun、Yuan Cao、Qin Gao、Klaus Macherey、Jeff Klingner、Apurva Shah、Melvin Johnson、Xiaobing Liu、Łukasz Kaiser, Stephan Gouws、Yoshikiyo Kato、Taku Kudo、Hideto Kazawa、Keith Stevens、George Kurian、Nishant Patil、Wei Wang、Cliff Young, Jason Smith、Jason Riesa、Alex Rudnick、Oriol Vinyals、Greg Corrado、Macduff Hughes 和 Jeffrey Dean 合著。2016 年發表於《技術報告》

[5] 《注意力和增強遞迴神經網路》(Attention and Augmented Recurrent Neural Networks),由 Chris Olah 和 Shan Carter 合著。2016 年發表於《Distill》

[6] 《神經機器翻譯和序列到序列模型:教程》(Neural Machine Translation and Sequence-to-sequence Models: A Tutorial),Graham Neubig 著

[7] 《序列到序列模型》(Sequence-to-Sequence Models),TensorFlow.org


瞭解更多細節,檢視文內所有連結,請點選文末“閱讀原文”。


推薦閱讀:

Google研究 | 聯合學習:無需集中儲存訓練資料的協同機器學習

Google研究 | 使用一致的雜湊演算法分配臨界負載

Google開原始碼網站搬家了

全球皆可訪問的 Google Codelabs 網站


640?wx_fmt=gif

點選「閱讀原文」,檢視文內連結640?wx_fmt=gif

相關文章