使用 Tensorflow 構建與訓練基於 Transformer 算法的宋詞生成小程序(一)

學完 DeepLearning 系列課程後就想作一個小應用試試。一開始基於 RNN 訓練了個古詩機器人,這個作的人不少,因而換了宋詞。宋詞是基於詞牌生成,相對數據量比較少,基於 RNN 訓練效果很通常。後來瞭解到了 Transformer 算法感受發現了生機,訓練了一下感受效果然是不錯。算法

使用效果測試的話能夠直接掃碼訪問這個小程序玩玩, 或者小程序搜索 【小詩一首】:小程序

小詩一首-宋詞
這是生成的例子:學習

小詩一首-宋詞-例子

Transformer (Attention Is All You Need) 介紹

Transformer 是 Google 於 2017 年在 Attention Is All You Need 論文中提出,基於 Attention 機制,在機器翻譯及其餘語言理解任務有着以往沒法比擬的效果,後 2018 年又提出 Universal Transformer, 在多項有難度的語言理解任務上泛化效果明顯更好。Transformer 解決 RNN 存在的長序列信息丟失的問題,像宋詞這種講究格式講究押韻的語句,在 RNN 中就很難訓練到好的效果,可是 Transformer 就能夠很好的提取訓練宋詞中的格式以及押韻特徵。測試

更多

想深刻學習 Transformer 以及算法能夠看 Tensorflow 官方的教程. 等下篇文章我也詳細介紹如何基於 Transformer 訓練一個宋詞機器人,包括如何預處理訓練數據,如何使用模型生成序列文本。spa

相關文章
相關標籤/搜索