當前位置:
首頁 > 科技 > 神經網路造「漢字」新技能全開,biangbiang面自愧不如

神經網路造「漢字」新技能全開,biangbiang面自愧不如

李林 發自 學院路

量子位 出品 | 公眾號 QbitAI

正所謂古有倉頡,今有神經網路。

最近,谷歌大腦研究員David Ha做了個讓神經網路和你一起寫「漢字」的網頁版Demo。你在頁面上寫幾筆,神經網路會根據你寫出來的部分,補完一個「漢字」。

它的名字叫Kanji-RNN,創作過程就像這樣:

據網友探索和量子位自行測試,在頁面上畫圈圈有一定概率得到驚喜——這個Kanji-RNN可能會愣一下,甚至毫無反應。

如果你不畫圈圈,很多時候會得到腦洞異常開闊的「偽漢字」。比如:

這是量子位遇到的一些未完成品,如果真的讓它無限開「腦洞」,恐怕biangbiang面都要甘拜下風了。

Kanji-RNN模型是什麼結構、如何訓練出來的呢?

David Ha沒有詳細介紹,不過根據名字、簡介信息鏈接到的頁面、他以往做的工作,可以推測一二。

首先,它的名字叫Kanji-RNN。我們起碼可以看出,這個模型是用循環神經網路來預測下一筆該寫什麼、寫在哪的;

其次,David Ha在Google參與的一項大工程,就是那個讓你教機器畫簡筆畫的Sketch-RNN,他之前在GitHub上發布的舊版Sketch-RNN中,就包含了訓練神經網路寫漢字的部分,還寫過一篇博客介紹如何用Sketch-RNN來生成漢字,所用的數據集是KanjiVG;

而如今的Kanji-RNN頁面上的簡介信息,並沒有鏈接到原來的代碼,而是鏈接了TensorFlow官方賬戶下的一個Sketch-RNN-JS,可見和原來的有一定差異,以網頁Demo的形式呈現,大概是藉助了TensorFlow.js的力量。

總之,這應該是一個以Sketch-RNN的JavaScript實現為基礎,用KanjiVG訓練的卷積神經網路,與之前廣受歡迎的Google神經網路畫簡筆畫系列同宗同源。

說到這兒,你大概也看出來量子位為什麼要給「漢字」加引號了。一是因為它並不會真的用你的筆畫匹配真正的漢字,而是根據你的筆畫「創造一個像漢字的圖形」,很多時候寫出來的都實在不像字;另一個原因呢,就在它的名字Kanji-RNN,和數據集KanjiVG里。

這裡的Kanji和我們日常所寫的字略有不同,指的是日語里用到的那些漢字,數量比我們用到漢字少,而且經過了霓虹國人民的再創作。

根據訓練集的指引,它們長這個樣子:

對於那些嚮往神秘東方的美國人民來說,Kanji-RNN的魅力不言而喻,在Reddit、HackerNews等論壇上都大受歡迎。

而從小寫漢字的中國人,從Kanji-RNN中大概能得到不一樣的樂趣:量子位就一心想讓它寫個認識的漢字出來,一上午深陷其中不能自拔。

你也試試?

http://otoro.net/kanji-rnn/

如果你也想自己訓練一個,可以從下面這兩個地方找找靈感。

Sketch-RNN的JS代碼:

https://github.com/tensorflow/magenta-demos/blob/master/sketch-rnn-js/README.md

很久以前的Sketch-RNN代碼:

https://github.com/hardmaru/sketch-rnn/

如果你不知道量子位說的「Google用神經網路畫簡筆畫」是怎麼回事,一定要玩一下這個不容錯過的小遊戲:

https://quickdraw.withgoogle.com/

當然,如果你想嚴肅地探討這件事兒,這篇論文再合適不過啦:

A Neural Representation of Sketch Drawings

David Ha, Douglas Eck

https://arxiv.org/abs/1704.03477


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 量子位 的精彩文章:

英偉達老黃又來送大禮,全新Titan V CEO限量版GPU火力全開
一頭盔一電極,MIT機器人讀心完畢

TAG:量子位 |