成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我們分析了超過50萬(wàn)首詩(shī)歌,教你用代碼寫詩(shī)(附代碼)

開發(fā) 前端
代碼即詩(shī)歌。這是WordPress軟件的哲學(xué)。作為一位程序員和詩(shī)人,我一直很喜歡這句話。我決定換種方式思考這句話。我想問,我能用代碼寫詩(shī)嗎?我可不可以做一個(gè)可以寫出原創(chuàng)詩(shī)歌的機(jī)器人?為了找出方法,我做了一個(gè)實(shí)驗(yàn)。

代碼即詩(shī)歌。這是WordPress軟件的哲學(xué)。

作為一位程序員和詩(shī)人,我一直很喜歡這句話。我決定換種方式思考這句話。

我想問,我能用代碼寫詩(shī)嗎?我可不可以做一個(gè)可以寫出原創(chuàng)詩(shī)歌的機(jī)器人?為了找出方法,我做了一個(gè)實(shí)驗(yàn)。

首先,我知道如果我的機(jī)器人想寫詩(shī),首先要讓它讀詩(shī)。2017年,許多作者用WordPress發(fā)表了超過50萬(wàn)個(gè)標(biāo)簽為詩(shī)歌的帖子。我聯(lián)系了一些寫了許多詩(shī)的詩(shī)人,并問他們是否愿意和我一起進(jìn)行一個(gè)有趣的實(shí)驗(yàn):他們是否允許我的機(jī)器人讀他們的作品,讓它可以從中學(xué)習(xí)出詩(shī)歌的形式和結(jié)構(gòu),從而可能學(xué)會(huì)自己寫詩(shī)?特別感謝這些為了科學(xué)而合作的很棒的作家們!

  • 邊緣之O - Robert Okaji
  • 沃爾夫的詩(shī) - Linda J. Wolff
  • 詩(shī)歌,散文與散步 - Frank Hubeny
  • 生命的視角,宇宙和萬(wàn)物 - Aurangzeb Bozdar

什么是LSTM,它如何生成文本?

我使用一種名為L(zhǎng)STM的神經(jīng)網(wǎng)絡(luò)創(chuàng)建我的機(jī)器人,它也叫作長(zhǎng)短期記憶網(wǎng)絡(luò)。神經(jīng)網(wǎng)絡(luò)使用“層”將問題分解為許多小問題。

舉個(gè)例子,假設(shè)你正在訓(xùn)練一個(gè)可以識(shí)別正方形的神經(jīng)網(wǎng)絡(luò)??赡芤粋€(gè)層負(fù)責(zé)識(shí)別直角,另一個(gè)層負(fù)責(zé)識(shí)別平行邊。它們同時(shí)存在時(shí)圖像才是正方形。神經(jīng)網(wǎng)絡(luò)通過訓(xùn)練數(shù)百萬(wàn)張正方形圖像,從中學(xué)習(xí)到這些層。它可以學(xué)習(xí)到圖像中的哪些方面對(duì)于識(shí)別正方形是重要的,哪些是不重要的。

現(xiàn)在假設(shè)你用一個(gè)神經(jīng)網(wǎng)絡(luò)預(yù)測(cè)這個(gè)序列的下一個(gè)字母:

  • th_

作為一個(gè)普通人,這個(gè)任務(wù)真是太簡(jiǎn)單了。你會(huì)猜e,我打賭,如果你會(huì)說(shuō)英文,你肯定不會(huì)猜q。因?yàn)槟阒涝谟⑽闹衪h后面不會(huì)接q。前面的字母和預(yù)測(cè)的接下來(lái)的字母關(guān)聯(lián)性非常強(qiáng)。LSTM可以“記住”以前的狀態(tài)并以此作出當(dāng)前的決定。如果想深入了解LSTM是如何工作的,可以查看這個(gè)很贊的帖子,作者是谷歌大腦的Chris Olah。

與許多用LSTM生成文本的例子相同,機(jī)器人生成文本時(shí)每一時(shí)刻生成一個(gè)字符。想要把單詞聚集成有意義的詩(shī)句,首先它要學(xué)會(huì)如何產(chǎn)生單詞。為了達(dá)到這個(gè)目標(biāo),它需要數(shù)百萬(wàn)個(gè)包含有效單詞的序列例子。有一件好事就是:WordPress有很多詩(shī)歌!

準(zhǔn)備數(shù)據(jù)集

我從上面的鏈接中獲得了所有的詩(shī)歌。我使用一個(gè)很簡(jiǎn)單的規(guī)則,通過判斷每個(gè)字符\n對(duì)應(yīng)多少個(gè)單詞判斷文本是否是詩(shī)歌。如果文本有許多單詞但字符\n很少,它可能是一段或多段文字的集合。相反地,如果同樣的文本有許多行,那么它是詩(shī)歌的可能性更大。

當(dāng)然,這是一個(gè)很簡(jiǎn)單的方法,我能想出來(lái)很多好詩(shī)并不符合這樣的測(cè)試方法!但為了這個(gè)實(shí)驗(yàn)的目的,我特別感興趣的是LSTM是否可以學(xué)習(xí)出如斷行和節(jié)奏等結(jié)構(gòu)特點(diǎn),以及詩(shī)歌中包含的押韻、諧音、頭韻等特點(diǎn)。所以,把訓(xùn)練數(shù)據(jù)限制在有結(jié)構(gòu)的詩(shī)歌中是有道理的。

如果一段文本被判斷為一首詩(shī),我把它寫到一個(gè)文件中,用++++\n作為前綴,表示一首新詩(shī)歌的開始。最終獲得了500KB的訓(xùn)練數(shù)據(jù)。通常,我嘗試訓(xùn)練LSTM時(shí)都要用至少1MB的數(shù)據(jù)集,因此我需要尋找更多的詩(shī)歌!我在去年發(fā)表的標(biāo)簽為詩(shī)歌的公共帖子中隨機(jī)選擇樣本作為特色詩(shī)人的補(bǔ)充。如果你在WordPress中點(diǎn)擊過詩(shī)歌這一標(biāo)簽,你可能會(huì)發(fā)現(xiàn)你對(duì)它們很熟悉。我在每一個(gè)作者中選擇一個(gè)帖子作為詩(shī)歌。

訓(xùn)練LSTM網(wǎng)絡(luò)

當(dāng)我獲得1MB的詩(shī)歌時(shí),我開始建立LSTM網(wǎng)絡(luò)。我使用Python中的keras工具建立神經(jīng)網(wǎng)絡(luò),keras的GitHub中有許多例子,可以幫助你學(xué)習(xí)使用幾種不同類型的神經(jīng)網(wǎng)絡(luò),其中有一個(gè)例子就是使用LSTM生成文本。我在這個(gè)例子后貼出了我的代碼,并開始嘗試不同的模型配置。模型的目標(biāo)是生成原始的詩(shī)歌。在這個(gè)例子中,過擬合--將訓(xùn)練數(shù)據(jù)學(xué)習(xí)得太好以至于模型無(wú)法概括數(shù)據(jù)的特點(diǎn)--會(huì)使生成的文本和輸入文本非常相似。(這就像剽竊一樣,沒有詩(shī)人喜歡這樣!)避免過擬合的一種方式是在網(wǎng)絡(luò)中添加dropout。它迫使在每一步驟中有隨機(jī)權(quán)重下降到0。這有點(diǎn)像強(qiáng)迫網(wǎng)絡(luò)“忘記”一些它剛剛學(xué)到的東西。(為了防止詩(shī)人的作品沒有被機(jī)器人復(fù)制,我增加了額外的后期檢查。)

我使用FloydHub的GPU完成訓(xùn)練我的網(wǎng)絡(luò)這一繁重工作。這使我可以用比我的筆記本電腦快10倍的速度訓(xùn)練我的網(wǎng)絡(luò)。我的***個(gè)網(wǎng)絡(luò)使用一個(gè)LSTM層,后面接入一個(gè)dropout層。這真的產(chǎn)生了像詩(shī)歌的文本!它有斷行和闋,幾乎所有的字符組合都是真正的單詞。有時(shí)整句話略微一致,事實(shí)上,***個(gè)迭代后產(chǎn)生了這句如寶石般精彩的話:

 

[[221901]]

添加LSTM層,在每一層中試驗(yàn)dropout的參數(shù),直到最終獲得了下面的模型。最終選擇使用3個(gè)LSTM層,因?yàn)樵僭黾訉訑?shù)會(huì)讓訓(xùn)練時(shí)間變得不合理,而且3層的結(jié)果已經(jīng)很不錯(cuò)了。

 

  1. model = Sequential()  
  2. model.add(LSTM(300, input_shape=(maxlen, len(chars)), return_sequences=True, dropout=  
  3. 20, recurrent_dropout=.20))  
  4. model.add(LSTM(300, return_sequences=True, dropout=.20, recurrent_dropout=.20))  
  5. model.add(LSTM(300, dropout=.20, recurrent_dropout=.20))  
  6. model.add(Dropout(.20))  
  7. model.add(Dense(len(chars)))  
  8. model.add(Activation('softmax'))  
  9. model.compile(loss='categorical_crossentropy', optimizer='adam'

這是一張圖表,對(duì)比了增加不同LSTM層的模型對(duì)應(yīng)的損失曲線。

 

[[221901]]
網(wǎng)絡(luò)中LSTM層數(shù)越多,驗(yàn)證損失下降的速率就越快。

哎呀!尖峰!表明這種情況通常發(fā)生在使用adam作為優(yōu)化器時(shí)。注意到在網(wǎng)絡(luò)中增加LSTM層數(shù)時(shí),模型的驗(yàn)證損失下降得更多,而且下降的速率也更快。這意味著遍歷更少的epoch就可以收斂,但增加LSTM層也增加了每一個(gè)epoch的訓(xùn)練時(shí)間。網(wǎng)絡(luò)中有一層LSTM時(shí),訓(xùn)練一個(gè)epoch需要大約600秒,全部訓(xùn)練結(jié)束需要一夜。然而,3個(gè)LSTM層的網(wǎng)絡(luò)訓(xùn)練一個(gè)epoch需要7000秒,完成訓(xùn)練需要幾天。因此,驗(yàn)證損失下降得更快并不意味著更快得到結(jié)果。但在我看來(lái),即使訓(xùn)練時(shí)間很長(zhǎng),3個(gè)LSTM層的網(wǎng)絡(luò)得到了***的詩(shī)歌。

生成詩(shī)歌

為了產(chǎn)生完全原創(chuàng)的文本,也需要改變生成文本的方式。在keras的例子中,這個(gè)例子從訓(xùn)練數(shù)據(jù)中選擇一個(gè)隨機(jī)的字符序列作為種子,輸入到訓(xùn)練好的網(wǎng)絡(luò)中。我要的是一個(gè)可以自己寫詩(shī)的機(jī)器人,而不是完成其他詩(shī)人的提示!因此,我在文本生成步驟中嘗試了不同的種子。因?yàn)槲抑霸谟?xùn)練集中使用++++\n作為每首詩(shī)歌的開始,我認(rèn)為它可以創(chuàng)作出原始的詩(shī)歌。然而結(jié)果是\n,_,.和&的無(wú)意義的組合。

經(jīng)過一些嘗試和失敗之后,我發(fā)現(xiàn)種子序列需要與訓(xùn)練序列具有相同數(shù)量的字符,這在事后看起來(lái)是顯而易見的!最終,我使用300個(gè)字符的序列,我將++++\n重復(fù)到300個(gè)字符作為種子,機(jī)器人可以通過偶爾將++++\n分開以此生成每一輪詩(shī)歌。

劇本產(chǎn)生新一輪詩(shī)歌后,進(jìn)行了***的抄襲檢查。因此,首先在訓(xùn)練集中創(chuàng)建了所有獨(dú)特的4-grams(包含4個(gè)詞的短語(yǔ))的集合,且對(duì)機(jī)器人詩(shī)歌創(chuàng)建相同集。計(jì)算兩集之間的交集。為驗(yàn)證實(shí)驗(yàn)?zāi)康模謩?dòng)檢查了4-grams,以確保在兩個(gè)集合中出現(xiàn)的短語(yǔ)為inane。通常情況下,這個(gè)交點(diǎn)包含如下內(nèi)容:

  • 我不想要
  • 我不能夠
  • 我想成為
  • …的聲音

然后重復(fù)這個(gè)過程,使用5-grams和6-grams進(jìn)行良好測(cè)量。若要使該過程自動(dòng)化,可能會(huì)采取一種基頻法,排除在多個(gè)著作中常見的n-gram,認(rèn)為是剽竊的情況。

詩(shī)歌!

每個(gè)時(shí)期輸出模型權(quán)重意味著我們可以在訓(xùn)練期間的幾個(gè)點(diǎn)上加載模型快照?;仡?**模型的早期時(shí)代,明顯機(jī)器人掉線很快。期望可以將其用于設(shè)計(jì)上,訓(xùn)練數(shù)據(jù)最顯著的特征是每行幾個(gè)字符。下面是一個(gè)例子,訓(xùn)練結(jié)束后生成的詩(shī)歌:

  • 眉頭緊皺 魔杖,一me一me
  • 你會(huì)我們穿著和咬
  • 在什么叫什么東西你所有的勇敢

它已經(jīng)學(xué)到了一些實(shí)際的詞語(yǔ),并且模仿了每行之間空行的慣例。從遠(yuǎn)處看,如果你不仔細(xì)看,看起來(lái)的確像是一首詩(shī)!在單個(gè)LSTM模型的損失收斂之后,模型學(xué)習(xí)了斷節(jié)和斷行,甚至展示一些常見的詩(shī)歌性重復(fù)。

  • 和美麗的指示
  • 飛翔的方式
  • 我是言語(yǔ)的空間
  • 我曾看見
  • 但你的心將會(huì)看到這張臉

單一的LSTM模型的強(qiáng)大套裝毫無(wú)疑問是個(gè)別性的。除了標(biāo)題行之外,我喜歡的另一個(gè)是:

  • 風(fēng)只為我

在Inspirobot熱烈的精神之下,Demet從她最喜歡的一行詩(shī)創(chuàng)造了寶石:

 

[[221901]]

單一的LSTM模型不能夠精準(zhǔn)地掌握詩(shī)歌主題,似乎在所有工作中一個(gè)共同的線索。即由單一LSTM模型生成的整個(gè)詩(shī)集詞匯云。

 

我們分析了超過50萬(wàn)首詩(shī)歌,教你用代碼寫詩(shī)(附代碼)

迷人!機(jī)器人沉迷于太陽(yáng)和星星。

若太陽(yáng)成為訓(xùn)練數(shù)據(jù)中最普遍的話題,并不令人驚訝,但事實(shí)并非如此!這里有由訓(xùn)練數(shù)據(jù)生成的文字云。

 

我們分析了超過50萬(wàn)首詩(shī)歌,教你用代碼寫詩(shī)(附代碼)

詩(shī)人喜歡寫愛情。

艾米莉狄金森寫了關(guān)于自然和死亡的詩(shī)歌。機(jī)器人給個(gè)人寫有關(guān)天體的詩(shī)!

添加第二個(gè)LSTM圖層后,可以開始看到其他詩(shī)歌技巧,如頭韻和韻律。

  • 可見,會(huì)發(fā)現(xiàn)
  • 種子微笑
  • 染紅我的一天
  • 一天之法
  • 善良終結(jié)

它也開始產(chǎn)生一些非常有詩(shī)意的詩(shī)歌。與之前模型訓(xùn)練的單行詩(shī)歌類似,有時(shí)不知一行。例如,

  1. 黑暗之中有一部分世界
  2. 陰影縈繞

哇,那很深刻!

目前為止,已經(jīng)看到了行,節(jié),韻(內(nèi)部和行結(jié)尾),重復(fù)和頭韻。不錯(cuò)!但是,偶爾戲劇性的天賦,這時(shí)機(jī)器人模仿的詩(shī)歌通常是不連貫的詞匯集。廢話絕大部分都沒有語(yǔ)法結(jié)構(gòu)。

然而發(fā)生了一些變化即增加了第三個(gè)LSTM層。這種模式更有可能產(chǎn)生在語(yǔ)法上合理的單行詩(shī),即使仍是荒謬的。例如:

  1. 父親的光芒不是骨骼的拳

這句詩(shī)沒有任何意義,但卻正確地放置了詞性。具有一致性,名詞從句具有一般的詩(shī)意。三層LSTM模型同樣創(chuàng)作了這些,我認(rèn)為是很穩(wěn)定,詩(shī)情畫意地講:

  1. 這世界是蝴蝶島
  2. 我深覺孤獨(dú)

但三層LSTM模式的***成就正是這首完整的詩(shī)。

  1. 來(lái)自你內(nèi)心的陰暗
  2. 我待著
  3. 靈魂中掙扎

這不是大段文字的摘錄。這些單行詩(shī)被牢牢地定位在兩個(gè)++++\n分隔符之間。

 

[[221902]]

哇,人們好有趣啊,我們將創(chuàng)造奇跡!

特別感謝我的詩(shī)人合伙人幫助我進(jìn)行這個(gè)有趣的實(shí)驗(yàn)!一定要訪問他們的網(wǎng)站,閱讀他們的作品!

  • 邊緣之O - 羅伯特Okaji
  • 沃爾夫 詩(shī)歌 - 琳達(dá)J.沃爾夫
  • 詩(shī)歌,散文與散步 - 弗蘭克·胡貝尼
  • 生命的視角,宇宙和萬(wàn)物 - 奧蘭澤布茲達(dá)爾

 

責(zé)任編輯:未麗燕 來(lái)源: 雷鋒字幕組
相關(guān)推薦

2018-03-16 10:52:02

2023-10-27 11:38:09

PythonWord

2018-05-14 10:43:53

平衡數(shù)據(jù)數(shù)據(jù)分析Python

2020-03-25 14:40:45

語(yǔ)言編程語(yǔ)言Hello

2018-12-10 10:00:06

Python神經(jīng)網(wǎng)絡(luò)編程語(yǔ)言

2019-10-17 21:37:28

微信飛機(jī)大戰(zhàn)Python

2017-10-29 21:43:25

人臉識(shí)別

2017-06-23 19:08:23

大數(shù)據(jù)PyTorch自然語(yǔ)言

2018-06-23 07:38:10

2021-05-18 14:42:55

PythonMySQL

2019-01-24 09:00:00

PythonAutoML機(jī)器學(xué)習(xí)

2020-08-25 18:10:22

Python代碼線性回歸

2024-07-29 13:38:06

2015-03-23 12:33:28

2025-05-08 01:44:00

RussGo調(diào)試

2020-06-17 08:35:12

數(shù)據(jù)分析Python代碼

2021-08-02 23:15:20

Pandas數(shù)據(jù)采集

2014-07-22 10:19:19

NeoBundle

2015-04-22 11:29:45

PythonPython創(chuàng)建瀑布圖

2014-05-30 10:23:35

SUSESUSE Studio
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 久久久九九| 久草99| 日批免费看 | 2019天天操 | 成人亚洲 | 成人精品一区二区三区 | 在线91 | 91免费在线 | www.久久影视 | 99这里只有精品视频 | 91精品国产乱码麻豆白嫩 | 不卡一区二区三区四区 | 欧美13videosex性极品 | 国产精品视频网址 | 亚洲 中文 欧美 | 视频一区二区三区四区五区 | 成人午夜黄色 | 国产精品一区二区在线 | 一区欧美| 日韩在线一区二区 | 中文字幕不卡一区 | 天堂免费| 7777奇米影视 | 亚洲精品在线国产 | 一区二区三区亚洲精品国 | 别c我啊嗯国产av一毛片 | 亚洲人成人网 | 久久精品屋 | 精品不卡 | 国产精品免费一区二区三区四区 | av第一页| 亚洲精品欧美精品 | 久久久无码精品亚洲日韩按摩 | 日韩精品免费 | 久久久久久久久久爱 | 99久久精品免费看国产四区 | 日韩中文字幕 | 美女天天操 | 国产91在线播放 | 羞羞视频免费观看入口 | 一级毛片免费完整视频 |