最新|TensorFlow开源的序列到序列框架
最新|TensorFlow開源的序列到序列框架:tf-seq2seq
4月11日,Google的大腦研究團隊發布了 tf-seq2seq這個開源的TensorFlow框架,它能夠輕易進行實驗而達到現有的效果,團隊制作了該框架的代碼庫和模塊等,能夠最好地支持其功能。
去年,該團隊發布了Google神經機器翻譯(GoogleNeural Machine Translation,GNMT),它是一個序列到序列sequence-to-sequence(“seq2seq”)的模型,目前用于Google翻譯系統中。雖然GNMT在翻譯質量上有長足的進步,但是它還是受限于訓練的框架無法對外部研究人員開放的短板。
tf-seq2seq:支持各種標準seq2seq模型的配置
此框架支持各種標準seq2seq模型的配置,例如深度的編碼器和解碼器,注意力機制,RNN或beam尺寸大小。這些功能讓我們能夠更好地發現最優超參數,得到更好的框架,詳細可見團隊的文章《神經機器翻譯架構的大量探索》(“Massive Explorationof Neural Machine Translation Architectures”)
一個seq2seq模型能夠翻譯普通話到英文,每次翻譯中,編碼器都會處理1個漢字(黑色箭頭),并生產一個輸出向量(見藍色箭頭),解碼器會逐字生成英文翻譯,每次都處理最后一個詞的前一個狀態,并處理一個加權的所有的編碼輸出(aka attention[3],藍色),最后輸出下一個英文詞。注意在應用中研究人員使用的是wordpieces[4]來處理生詞。
tf-seq2seq:應用于各種序列到序列的任務
除了機器翻譯外,tf-seq2seq能夠應用于序列到序列的任務(例如學習基于一個輸入序列產生輸出序列的情況),包括機器總結、圖像處理、語言識別和對話建模。該研究團隊希望提出的新框架能夠加速深度學習的研究,具體可以見其GitHub的項目庫GitHub repository。
論文摘要
神經機器翻譯(NMT)在過去幾年中取得了顯著的進步,現在生產系統正在部署到終端用戶。 目前架構的一個主要缺點是訓練費用昂貴,通常需要幾天到幾周的GPU時間來收斂。 這使得窮盡的超參數搜索,如通常與其他神經網絡架構一樣,非常昂貴。 在這項工作中,我們介紹了NMT架構超參數的第一次大規模分析。對應于GPU上的標準WMT英語超過250000小時的德語翻譯任務。 我們的實驗為構建和擴展NMT架構提供了新的見解和實用建議。 作為這一貢獻的一部分,我們發布了一個開放源碼的NMT框架,使研究人員能夠輕松實驗新技術,并重現現有技術的結果。
論文關鍵數據對比:
論文地址:https://arxiv.org/pdf/1703.03906.pdf
GitHub資源:https://github.com/google/seq2seq
參考文獻
[1] Massive Exploration of Neural Machine Translation Architectures, Denny Britz, Anna Goldie, Minh-Thang Luong, Quoc Le(https://arxiv.org/pdf/1703.03906.pdf)
[2] Sequence to Sequence Learning with Neural Networks, Ilya Sutskever, Oriol Vinyals, Quoc V. Le. NIPS, 2014(https://papers.nips.cc/paper/5346-sequence-to-sequence-learning-with-neural-networks.pdf)
[3] Neural Machine Translation by Jointly Learning to Align and Translate, Dzmitry Bahdanau, Kyunghyun Cho, Yoshua Bengio. ICLR, 2015(https://arxiv.org/abs/1409.0473)
[4] Google’s Neural Machine Translation System: 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. Technical Report, 2016(https://arxiv.org/abs/1609.08144)
[5] Attention and Augmented Recurrent Neural Networks, Chris Olah, Shan Carter. Distill, 2016(http://distill.pub/2016/augmented-rnns/)
[6] Neural Machine Translation and Sequence-to-sequence Models: A Tutorial, Graham Neubig(https://arxiv.org/abs/1703.01619)
[7] Sequence-to-Sequence Models, TensorFlow.org(https://www.tensorflow.org/tutorials/seq2seq)
總結
以上是生活随笔為你收集整理的最新|TensorFlow开源的序列到序列框架的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: tensorflow中的seq2seq例
- 下一篇: Tensorflow搞一个聊天机器人