閱讀646 返回首頁    go 阿裏雲 go 技術社區[雲棲]


【深度學習創作】用《權力的遊戲》前五部訓練RNN生成第六部(原理解析)


《權力的遊戲》(英語:Game of Thrones)是一部中世紀史詩奇幻題材的美國電視連續劇。該劇以美國作家喬治·R·R·馬丁的奇幻文學《冰與火之歌》係列作為基礎改編創作。


按照作者計劃,《冰與火之歌》係列將有7部,目前出版至第5部。


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=


也就是說,從2011年開始,讀者對第六部《凜冬的寒風》的等待已經超過了6年。

 

近日,一位名叫Zack Thoutt的工程師在開源社區Github上發起了這樣一個項目:基於《冰與火之歌》前麵五部作品,訓練RNN(循環神經網絡)模型,進而生成第六部作品。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


訓練:你可能需要一塊GPU和TensorFlow1.0.


Zack在Github頁麵上說:你是否已經受夠了一直在等待下一本《權力的遊戲》(GOT)圖書的出版?至少我是這樣的。所以我決定根據前五本《權力的遊戲》圖書訓練一個RNN模型,使用該神經網絡的預測生成第六部。


他也表示,如果大家想訓練這一模型,你可能會需要一塊GPU和TensorFlow1.0. 


他使用的是FloydHub和以下命令:


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

用於訓練的前5部作品的文字資料在網上都能找到。


在這部由深度學習模型完成的“新作”中,還有許多問題沒有回答:瓊恩真的是一個蘭尼斯特-坦格利安人?那些狗如何統治7國?為什麼瓦裏斯要毒害丹妮莉絲?


作者在項目介紹的最後也歡迎大家都一起來參與製作,共同唱響“冰與火之歌”。開源地址:https://github.com/zackthoutt/got-book-6。


 為什麼是RNN?深度學習的基礎模型之一


RNN無疑是深度學習的主要內容之一,它允許神經網絡處理序列數據,如文本、音頻和視頻。 它們可以用於將序列編碼至不同層級的理解(抽象層次不同的知識表示)、標注序列,甚至從頭開始生成新序列。一個 RNN cell在處理序列數據時一直被重複使用,Share Weights。 


RNN的核心特征是“循環”, 即係統的輸出會保留在網絡裏, 和係統下一刻的輸入一起共同決定下一刻的輸出。


這一點符合著名的圖靈機原理。 即此刻的狀態包含上一刻的曆史,又是下一刻變化的依據。 這其實包含了可編程神經網絡的核心概念,即, 當你有一個未知的過程,但你可以測量到輸入和輸出, 你假設當這個過程通過RNN的時候,它是可以自己學會這樣的輸入輸出規律的, 而且因此具有預測能力。 


640?wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=

這裏A被稱作 controller(圖中是在處理序列數據,有個錯誤,最後應該是x3,y3), 可以是FNNs(feedforward neural networks),也可以是RNNs,但RNNs能實現更多操作,因為它是 Turing Complete 的。


上文提到,RNN具有“記憶”能力,這也是為什麼它能實現預測的重要原因。具體到《權力的遊戲》圖書的生成,正式因為在前5部作品的訓練過程中的“循環”和“記憶”,讓模型具備“預測”第六部作品的能力。


RNN在語言研究中得到廣泛的采用。去年,穀歌就曾發布了一項名為“探索RNN極限”的研究,開源大規模語言建模模型庫,含有大約 10 億英語單詞,詞匯有 80 萬,大部分是新聞數據。


精彩內容分享:奈德依然活著,瓊恩是蘭尼斯特人!


這本由RNN生成的圖書的前五章目前已經公開,書中的情節與我們此前熟悉和喜愛的前五本一樣:包含了許多的轉折。


640?wx_fmt=jpeg&tp=webp&wxfrom=5&wx_lazy


以下是一些對話的摘錄:

 

珊莎實際上是拜拉席恩家族的人,詹姆很怕她,因為她是次子團的成員之一:


我害怕珊莎主人,大人”,詹姆提醒她說。“他們拜拉席恩家族是要道之一。也就是你的次子團。”


裏克仍然是一個煩人的人:


“對你來說,有些事情是必須的”,一個女人慵懶的聲音響起,“天呐,裏克。”


一個名叫Greenbeard的新主角出現在了劇情中:

 

“是的,佩特”,高大的男人舉起劍,將他擋在身後,並將巨大的鐵王座推向女孩衝過來的方向。 


阿多回來了,現在,他除了“Hodor”,還會說一些新的單詞。


阿多看著他們低聲吼道,“你回家要走哪條路。”


奈德依然活著,並且瓊恩是蘭尼斯特人!


雙方都回來之後,他們立刻想到了希望他回答問題的方式。當瓊恩緩慢後退時,奈德在腦海中看到了他的斧頭和左手。


瓦裏斯毒死了丹妮莉絲和另外一個人:


瓦裏斯毒死了丹妮莉絲和另外一個人。當他醒來時,聽到一首舒緩的歌曲。


瓊恩騎著一條龍,開始變得有些狂躁:


瓊恩騎著龍,在天空極速繞圈。龍噴出的火焰在沙漠中形成一個個燃燒的大坑。


詹姆殺掉了瑟曦,瓊恩變成狼:


 詹姆殺死了瑟曦,他非常冷血,一直在自言自語,瓊恩認為他是現在的狼……


他們決定讓狗來做決定:


“問那些狗。”


整本書以一段怪異的描述結尾:


在一場冬季的暴風雪中,瓊恩作為坦格利安人的一麵得到全麵的展示 ……


正如開源項目作者本人在提到,在這部由深度學習模型完成的“新作”中目前隻完成了前五章,還有許多問題沒有回答:瓊恩真的是一個蘭尼斯特-坦格利安人?那些狗如何統治7國?為什麼瓦裏斯要毒害丹妮莉絲?……


如果你想嚐試一下,去Github找他,或許你可以生成《紅樓夢》的續集呢?


文章轉自新智元公眾號,原文鏈接

最後更新:2017-08-24 16:32:38

  上一篇:go  IDC:阿裏雲安全能力和IaaS市場份額雙項領先
  下一篇:go  如何使用雲·速成美站搭建媲美阿裏雲的頂級官網