爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼

AMiner学术头条發表於2020-11-03
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
前段時間,浙江高考滿分作文《生活在樹上》因為晦澀難懂的內容,刷爆了各種社交媒體。外行人看熱鬧,內行人看門道,大神們透過現象看本質。

一般來說,高考作文可以透過批量化、模式化的訓練達到一個令人滿意的分數。實際上就是把學生當做一個寫作機器進行訓練,為學生輸入大量範文,提供寫作模式,然後進行長時間的學習。等等,這不是和人工智慧的訓練過程相同嗎?

那麼,如果給一個人工智慧系統同樣的資料,是否可以教會它寫作文呢?

答案是,當然可以。B 站 UP 主 - 圖靈的貓,秉承了心動不如行動的理念,一個人利用三個月,500 個小時,10000 行程式碼,200000000 條資料,1700000000 個引數,開發了一個會寫作文的人工智慧 - EssayKiller。

爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼

EssayKiller 的基本組成

一個 AI 不管外形和功能如何,其核心都是人工神經網路。EssayKiller 也是由四個不同的神經網路所組成。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
第一部分是類似於人類的視覺處理系統的識別網路。它透過外接攝像頭的實時 OCR 以及卷積神經網路及漢字的識別與提取並將結果輸入到下一層的網路中。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
第二部分是語言網路,旨在模範人類大腦的語言功能。在這裡 UP 主將它分為兩個子網路,相較於人類的顳葉區和額葉區等複雜構成,它更加簡明扼要。一個子網路為讀題網路,也就是對高考題目進行準確的閱讀和主題摘要提取。

另一個子網路為寫作網路,也就是根據主題摘要進行文章的寫作。後者是整個 AI 的核心,基於這個神經網路,EssayKiller 才能獲得理解並輸出漢字的能力。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
第三部分是判分網路。正常學生寫完一篇八百字的高考作文通常需要 40 分鐘,而 EssayKiller 只需要 0.1 分鐘。顯然,在同樣的時間裡,EssayKiller 可以利用其快速寫作的能力,在它的大腦中同時生成多篇作文,然後選出最好的一篇來作答。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
UP 主說,這個想法借鑑了 AlphaGo 的設計理念。他利用 API 呼叫單獨的神經網路,對 100 篇作文進行通順度打分,取分數最高的一篇作文輸出。理論上,只要瞭解於出題人的偏好,並且讓 AI 完美擬合閱卷人喜歡的作文,就可以輕而易舉的拿到高分。

這和訓練學生寫高考作文的過程是如出一轍,這也是近年來很多滿分作文的套路,比如《生活在樹上》。

EssayKiller的學習過程

透過 UP 主說起來看似很簡單,其實非大神一操作就跪拜的四大網路搭建過程後,EssayKiller 就算是出生了。此時的它還是一張白紙,需要投餵大量資料養成。俗話說,讀萬卷書 AI 才能寫出好作文。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
接下來就是 EssayKiller 不是很漫長的學習過程了。UP 給它投餵了大量的優質散文、議論文,比如近現代散文集、歷年高考作文等,然後讓它自我訓練並進行寫作能力的提升。出於 UP 主的個人喜好,還為它增加了林語堂、木心、魯迅等散文作家,也加入了一些現代作家,比如王小波、史鐵生、王碩等。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
最後透過整理來的 360 萬張影像資料、2 億條中文預訓練語料以及上千篇微調文章,EssayKiller 帶著 UP 主滿滿的愛開始了它的“漫漫”求學之路。

爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼

事實證明,沒有人能夠隨隨便便成功。此時,出現了一個 “愉快” 的小插曲。OOM,全稱 “Out of Memory”,翻譯成中文就是“記憶體用完了。”

EssayKiller 的神經網路引數量已經達到了驚人的 17 億,一般的顯示卡已經不能承受這麼大的網路規模和計算量。在 UP 主多次嘗試,均屬失敗告終後,他終於發現,EssayKiller 已經超越了目前市面上可見的任何一個單 GPU 的運算記憶體限制。最終,UP 主斥巨資選擇 RTX8000,成功的讓 EssayKiller 開始訓練。果然,培養孩子都是得花錢的。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
經過 137 個小時的不間斷學習後,EssayKiller 終於成為一個合格的高中生。接下來就是激動人心的測試時間。UP 主選擇了兩個全國卷和兩個地區高考卷。EssayKiller 用它驕傲和自豪的 17 億神經網路引數的多模組異構深度神經網路,透過 UP 主編寫的高考格式排版指令碼,搭配改裝後的外接裝置,對文字進行實時輸出,在規定時間內將作文謄寫到答題卡上。最終貢獻了四篇很不錯的高考作文。(寫作過程如開頭眼花繚亂的動圖。)

小編選擇了浙江卷的作文成果,為大家展示一下 EssayKiller 的寫作實力。
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼
(為了方便閱讀,對截圖進行了裁減。文章以右側為準。)

沒錯,是高考作文那熟悉的味道。別的先不說,感覺可能會扣一點卷面分。網友們普遍認為,差不多是 45 分的水平。首先語言是通順的且能讀懂的,但是缺少一些煙火氣的靈魂。大概還是可以感覺到一絲不是人的氣息。

但是小編認為,其實我們已經先入為主了這篇文章是 AI 寫的,如果讓大家盲選,結果如何還是很難判斷的。

此外,也有熱心網友提供了新的思路:寫機關公文檔案,難度會更小,且效果會更好。

爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼

還有熱心網友提供了:AI 做影片,“我淘汰我自己”的絕妙思路。

爆肝100天,B站UP主開發會寫高考作文的AI,內含17億引數、2億資料、1萬行程式碼

既然如此,那就拭目以待各位大神的新產品了。當然,暫時並不希望出現一款寫公眾號的 AI,不然小編就要失業了。

最後指路:

B站影片連結:https://www.bilibili.com/video/BV1pr4y1w7uM
專案github傳送門:https://github.com/EssayKillerBrain/EssayKiller_V2

最最後,感謝 UP主-圖靈的貓三個月爆肝的 EssayKiller,並期待新的影片與大家分享。

本文報導已獲 UP主 “圖靈的貓” 授權。

相關文章