【深度學習創作】用《權力的遊戲》前五部訓練RNN生成第六部(原理解析)
《權力的遊戲》(英語:Game of Thrones)是一部中世紀史詩奇幻題材的美國電視連續劇。該劇以美國作家喬治·R·R·馬丁的奇幻文學《冰與火之歌》係列作為基礎改編創作。
按照作者計劃,《冰與火之歌》係列將有7部,目前出版至第5部。
也就是說,從2011年開始,讀者對第六部《凜冬的寒風》的等待已經超過了6年。
近日,一位名叫Zack Thoutt的工程師在開源社區Github上發起了這樣一個項目:基於《冰與火之歌》前麵五部作品,訓練RNN(循環神經網絡)模型,進而生成第六部作品。
訓練:你可能需要一塊GPU和TensorFlow1.0.
Zack在Github頁麵上說:你是否已經受夠了一直在等待下一本《權力的遊戲》(GOT)圖書的出版?至少我是這樣的。所以我決定根據前五本《權力的遊戲》圖書訓練一個RNN模型,使用該神經網絡的預測生成第六部。
他也表示,如果大家想訓練這一模型,你可能會需要一塊GPU和TensorFlow1.0.
他使用的是FloydHub和以下命令:
用於訓練的前5部作品的文字資料在網上都能找到。
在這部由深度學習模型完成的“新作”中,還有許多問題沒有回答:瓊恩真的是一個蘭尼斯特-坦格利安人?那些狗如何統治7國?為什麼瓦裏斯要毒害丹妮莉絲?
作者在項目介紹的最後也歡迎大家都一起來參與製作,共同唱響“冰與火之歌”。開源地址:https://github.com/zackthoutt/got-book-6。
為什麼是RNN?深度學習的基礎模型之一
RNN無疑是深度學習的主要內容之一,它允許神經網絡處理序列數據,如文本、音頻和視頻。 它們可以用於將序列編碼至不同層級的理解(抽象層次不同的知識表示)、標注序列,甚至從頭開始生成新序列。一個 RNN cell在處理序列數據時一直被重複使用,Share Weights。
RNN的核心特征是“循環”, 即係統的輸出會保留在網絡裏, 和係統下一刻的輸入一起共同決定下一刻的輸出。
這一點符合著名的圖靈機原理。 即此刻的狀態包含上一刻的曆史,又是下一刻變化的依據。 這其實包含了可編程神經網絡的核心概念,即, 當你有一個未知的過程,但你可以測量到輸入和輸出, 你假設當這個過程通過RNN的時候,它是可以自己學會這樣的輸入輸出規律的, 而且因此具有預測能力。
這裏A被稱作 controller(圖中是在處理序列數據,有個錯誤,最後應該是x3,y3), 可以是FNNs(feedforward neural networks),也可以是RNNs,但RNNs能實現更多操作,因為它是 Turing Complete 的。
上文提到,RNN具有“記憶”能力,這也是為什麼它能實現預測的重要原因。具體到《權力的遊戲》圖書的生成,正式因為在前5部作品的訓練過程中的“循環”和“記憶”,讓模型具備“預測”第六部作品的能力。
RNN在語言研究中得到廣泛的采用。去年,穀歌就曾發布了一項名為“探索RNN極限”的研究,開源大規模語言建模模型庫,含有大約 10 億英語單詞,詞匯有 80 萬,大部分是新聞數據。
精彩內容分享:奈德依然活著,瓊恩是蘭尼斯特人!
這本由RNN生成的圖書的前五章目前已經公開,書中的情節與我們此前熟悉和喜愛的前五本一樣:包含了許多的轉折。
以下是一些對話的摘錄:
珊莎實際上是拜拉席恩家族的人,詹姆很怕她,因為她是次子團的成員之一:
我害怕珊莎主人,大人”,詹姆提醒她說。“他們拜拉席恩家族是要道之一。也就是你的次子團。”
裏克仍然是一個煩人的人:
“對你來說,有些事情是必須的”,一個女人慵懶的聲音響起,“天呐,裏克。”
一個名叫Greenbeard的新主角出現在了劇情中:
“是的,佩特”,高大的男人舉起劍,將他擋在身後,並將巨大的鐵王座推向女孩衝過來的方向。
阿多回來了,現在,他除了“Hodor”,還會說一些新的單詞。
阿多看著他們低聲吼道,“你回家要走哪條路。”
奈德依然活著,並且瓊恩是蘭尼斯特人!
雙方都回來之後,他們立刻想到了希望他回答問題的方式。當瓊恩緩慢後退時,奈德在腦海中看到了他的斧頭和左手。
瓦裏斯毒死了丹妮莉絲和另外一個人:
瓦裏斯毒死了丹妮莉絲和另外一個人。當他醒來時,聽到一首舒緩的歌曲。
瓊恩騎著一條龍,開始變得有些狂躁:
瓊恩騎著龍,在天空極速繞圈。龍噴出的火焰在沙漠中形成一個個燃燒的大坑。
詹姆殺掉了瑟曦,瓊恩變成狼:
詹姆殺死了瑟曦,他非常冷血,一直在自言自語,瓊恩認為他是現在的狼……
他們決定讓狗來做決定:
“問那些狗。”
整本書以一段怪異的描述結尾:
在一場冬季的暴風雪中,瓊恩作為坦格利安人的一麵得到全麵的展示 ……
正如開源項目作者本人在提到,在這部由深度學習模型完成的“新作”中目前隻完成了前五章,還有許多問題沒有回答:瓊恩真的是一個蘭尼斯特-坦格利安人?那些狗如何統治7國?為什麼瓦裏斯要毒害丹妮莉絲?……
如果你想嚐試一下,去Github找他,或許你可以生成《紅樓夢》的續集呢?
文章轉自新智元公眾號,原文鏈接
最後更新:2017-08-24 16:32:38
上一篇:
IDC:阿裏雲安全能力和IaaS市場份額雙項領先
下一篇:
如何使用雲·速成美站搭建媲美阿裏雲的頂級官網
[LeetCode]73.Set Matrix Zeroes
java 進銷存 庫存 商戶 多用戶管理係統 SSM springmvc 項目源碼
JS實現下雪效果
通過JVM日誌來進行安全點分析
SQL UNION 和 UNION ALL 操作符
XML(4)——schema文件相互引用
LINUX MAN 命令的使用
opengl編程學習筆記(四)(紋理映射)(結合nvdia OpenglSDk 的nvimage類)
如何使用Disruptor(二)如何從Ringbuffer讀取
綠盟科技網絡安全威脅周報2017.33 關注Foxit PDF Compressor installer DLL預加載漏洞CVE-2017-12892