0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

谷歌用神經(jīng)網(wǎng)絡(luò)根據(jù)筆畫生成漢字,新造了一系列“假漢字

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-06-25 11:44 ? 次閱讀

你永遠(yuǎn)不知道漢字的潛力。谷歌大腦東京分部的研究員hardmaru,用神經(jīng)網(wǎng)絡(luò)根據(jù)筆畫生成漢字,新造了一系列“假漢字”。你別說,有些看上去還真像那么一回事。

因?yàn)槲覀兌际侵袊?,從小看著漢字、寫著漢字長大,所以已經(jīng)忘記了漢字本身是一件多么困難的事情。

是的,漢字基本的筆畫就只有點(diǎn)橫撇捺等幾種,但是,中國文字從甲骨文、金文、篆書、隸書一路走來,不同程度存在難寫難認(rèn)的缺陷。就算只是一個(gè)“點(diǎn)”,在不同的字里面,這個(gè)點(diǎn)的大小和方向也是各不相同。因此,對于漢字設(shè)計(jì)師來說,可是要了老命。

調(diào)查記者 Nikhil Sonnad 曾經(jīng)在 QZ 發(fā)表過一篇文章,詳細(xì)講述了設(shè)計(jì)一個(gè)漢字字體漫長艱苦而又令人沉迷的過程。其中有這樣一個(gè)例子,展示了言字旁在不同的文字中擁有不同的大小和方向:

言字旁在不同的文字中擁有不同的大小和方向。來源:QZ

這也是為什么相比五花八門的英文和阿拉伯?dāng)?shù)字字體,漢字的字體那么少的一個(gè)原因。

Nikhil Sonnad 在那篇文章中指出,一位經(jīng)驗(yàn)豐富的設(shè)計(jì)師可以在6個(gè)月的時(shí)間里設(shè)計(jì)一種涵蓋幾十種西方語言的新字體。但是,對于單個(gè)中文字體,至少需要一個(gè)好幾人的設(shè)計(jì)師團(tuán)隊(duì)兩年以上的時(shí)間。

有沒有什么好的方法能夠解決這個(gè)問題?

作為新智元(ID:AI_era)的讀者,或許有人已經(jīng)猜到我們接下來會說什么。是的,還是神經(jīng)網(wǎng)絡(luò)。

谷歌大腦東京分部的研究人員hardmaru,使用神經(jīng)網(wǎng)絡(luò)生成漢字,但他與眾不同的地方在于,由于提供給神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)是“筆畫”,因此生成的是所有理論上可以存在,但現(xiàn)實(shí)中并沒有在使用的漢字。

或許你要說,這樣做有什么用,但仔細(xì)看就能發(fā)現(xiàn)作者這樣做在理論和實(shí)際上的意義。

漢字這個(gè)系統(tǒng)本質(zhì)上是開放的。使用可用的元素(偏旁部首、筆畫等等),可以制作出無數(shù)個(gè)不同的字符。雖然代碼目前還不能很準(zhǔn)確地定位筆畫的位置,但hardmaru實(shí)驗(yàn)中的一些結(jié)果,看起來非常像真實(shí)存在的漢字。

認(rèn)識一個(gè)字不一定寫得出,但寫得出就一定認(rèn)識它

在一篇介紹他的這項(xiàng)工作的博客中,hardmaru表示,他從小也被父母硬逼著去學(xué)漢字,雖然他周圍的人大多說英語。老師教他寫漢字的過程就是抄寫聽寫抄寫聽寫的不斷循環(huán),就好像LSTM根據(jù)訓(xùn)練樣本輸出序列結(jié)果一樣。

另一方面,他也注意到,“寫”漢字和“讀”漢字是兩個(gè)非常不同的過程。你認(rèn)識一個(gè)字(能夠閱讀或者發(fā)出讀音),但不一定寫得出來;但是,如果你能寫出一個(gè)漢字,你一定知道它的發(fā)音?,F(xiàn)在,人們越來越多的依賴基于發(fā)音的輸入法來“寫”漢字,當(dāng)真正提筆寫字的時(shí)候,常常會出現(xiàn)忘記怎么寫的情況。

在一定程度上,機(jī)器學(xué)習(xí)的過程也一樣,最初都是從簡單的分類問題開始:判斷輸入的圖像是貓還是狗,交易是真實(shí)的還是是欺詐……這些任務(wù)非常有用。但是,hardmaru認(rèn)為,更有趣的任務(wù)是生成數(shù)據(jù),在hardmaru看來,生成數(shù)據(jù)是數(shù)據(jù)分類的延伸和擴(kuò)展。相比能夠認(rèn)出某個(gè)漢字,能夠把這個(gè)漢字寫出來表明我們對這個(gè)漢字有更多的理解。同理,生成內(nèi)容也是理解內(nèi)容的關(guān)鍵。

生成對抗網(wǎng)絡(luò)(GAN)在生成數(shù)據(jù)方面有著優(yōu)異的表現(xiàn),機(jī)器翻譯也算是一類生成數(shù)據(jù)的例子。但hardmaru想生成的是矢量數(shù)據(jù)。因?yàn)樗J(rèn)為很多內(nèi)容都更適合用矢量的形式來表達(dá),比如用數(shù)碼筆畫的素描、CAD設(shè)計(jì)、科學(xué)實(shí)驗(yàn)數(shù)據(jù)等等。

字體和筆畫也更適合用矢量來表示。精心設(shè)計(jì)的TrueType字體,不管大小,顯示出來都很美麗。

用 Sketch-RNN 新造一本《新華字典》

接下來,我們將介紹hardmaru如何使用RNN生成矢量格式的手寫體漢字。漢字以矢量保存(SVG格式)。

hardmaru實(shí)現(xiàn)的是一個(gè)生成“新造”漢字的網(wǎng)絡(luò)sketch-rnn,與Graves手寫體生成模型框架(見下)類似。

pIYBAFswZa-AC7lZAABnOqgnzvc030.png

用于訓(xùn)練的數(shù)據(jù)是真實(shí)的漢字,并且包含了筆畫順序。因此,神經(jīng)網(wǎng)絡(luò)生成的漢字看上去也是按照一定程度上合理的筆畫順序來的。

訓(xùn)練數(shù)據(jù)樣本,不同的顏色代表了筆畫順序,來源于KanjiVG數(shù)據(jù)集

在sketch-rnn中,每一筆都用類似筆畫的數(shù)據(jù)建模,其中每一步數(shù)據(jù)都包含x和y軸的偏移量,以及這一筆是落在紙上還是沒有落在紙上,如果落在紙上,那么上一筆和這一筆之間就會有連線。神經(jīng)網(wǎng)絡(luò)必須為下一步提供概率分布。這個(gè)概率分布不是離散的,而是連續(xù)分配x軸和y軸上的偏移量,以及筆在下一步在紙上抬起的概率(也即筆畫結(jié)束的概率)。sketch-rnn使用混合高斯分布來估算下一筆的位移。這個(gè)用來生成筆跡的方法叫做混合密度網(wǎng)絡(luò)(Mixture Density Networks,MDN)。

pIYBAFswZa-AZ0zeAABh2UgVHRQ561.png

以上是使用混合高斯密度來生成漢字筆劃的一個(gè)例子。黑點(diǎn)代表在寫字過程中連起來的線,LSTM + MDN算法將持續(xù)估計(jì)下一個(gè)點(diǎn)出現(xiàn)位置的概率分布。這個(gè)分布被建模成混合高斯分布。這意味著下一個(gè)位置是許多不同位置的混合(深淺不同的紅色橢圓),并且每個(gè)位置本身都是x軸和y軸偏移的二維聯(lián)合高斯分布,每個(gè)偏移都有自己的位置2×2協(xié)方差矩陣。

MDN軌跡展示

除了筆劃的位置分布和結(jié)束概率之外,還需要對寫完整個(gè)漢字的概率進(jìn)行建模,也即結(jié)束字符“end-of-char”概率。但是,每個(gè)筆畫完結(jié)的概率跟整個(gè)漢字完結(jié)的概率有一定重復(fù),hardmaru 花了不少功夫嘗試對上述兩個(gè)信號(筆劃完結(jié)概率、字符完結(jié)概率)建模。最終,他通過神經(jīng)網(wǎng)絡(luò)中的softmax層將筆的狀態(tài)建模為一組離散的狀態(tài)。筆的狀態(tài)分為三種:筆畫結(jié)束、字符結(jié)束、落筆。模型會計(jì)算每一步三種狀態(tài)的概率。

LSTM+MDN基本上是LSTM+Softmax的擴(kuò)展,hardmaru以后想嘗試更強(qiáng)大的方法。GAN(生成對抗網(wǎng)絡(luò))也許能應(yīng)用到循環(huán)網(wǎng)絡(luò)上,但他預(yù)計(jì)訓(xùn)練LSTM GAN會非常困難。

除了上面展示的各種例子,這是已有的一些有趣的結(jié)果,hardmaru自己做了“注釋”:

還有一些不知道怎么描述的結(jié)果:

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴

原文標(biāo)題:谷歌大腦研究員玩轉(zhuǎn)漢字RNN:神經(jīng)網(wǎng)絡(luò)生成新華字典

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    人工神經(jīng)網(wǎng)絡(luò)原理及下載

    人工神經(jīng)網(wǎng)絡(luò)根據(jù)人的認(rèn)識過程而開發(fā)出的種算法。假如我們現(xiàn)在只有些輸入和相應(yīng)的輸出,而對如何由輸入得到輸出的機(jī)理并不清楚,那么我們可以把輸入與輸出之間的未知過程看成是
    發(fā)表于 06-19 14:40

    【PYNQ-Z2試用體驗(yàn)】神經(jīng)網(wǎng)絡(luò)基礎(chǔ)知識

    能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是種自適應(yīng)系統(tǒng),通俗的講就是具備學(xué)習(xí)功能?,F(xiàn)代神經(jīng)網(wǎng)絡(luò)種非線性統(tǒng)計(jì)性數(shù)據(jù)建模工具。簡單來說,就是給定輸入,神經(jīng)網(wǎng)絡(luò)經(jīng)過
    發(fā)表于 03-03 22:10

    卷積神經(jīng)網(wǎng)絡(luò)如何使用

    卷積神經(jīng)網(wǎng)絡(luò)(CNN)究竟是什么,鑒于神經(jīng)網(wǎng)絡(luò)在工程上經(jīng)歷曲折的歷史,您為什么還會在意它呢? 對于這些非常中肯的問題,我們似乎可以給出相對簡明的答案。
    發(fā)表于 07-17 07:21

    【案例分享】ART神經(jīng)網(wǎng)絡(luò)與SOM神經(jīng)網(wǎng)絡(luò)

    今天學(xué)習(xí)兩個(gè)神經(jīng)網(wǎng)絡(luò),分別是自適應(yīng)諧振(ART)神經(jīng)網(wǎng)絡(luò)與自組織映射(SOM)神經(jīng)網(wǎng)絡(luò)。整體感覺不是很難,只不過些最基礎(chǔ)的概念容易理解不
    發(fā)表于 07-21 04:30

    如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?

    原文鏈接:http://tecdat.cn/?p=5725 神經(jīng)網(wǎng)絡(luò)種基于現(xiàn)有數(shù)據(jù)創(chuàng)建預(yù)測的計(jì)算系統(tǒng)。如何構(gòu)建神經(jīng)網(wǎng)絡(luò)?神經(jīng)網(wǎng)絡(luò)包括:輸入層:
    發(fā)表于 07-12 08:02

    卷積神經(jīng)網(wǎng)絡(luò)模型發(fā)展及應(yīng)用

    網(wǎng)絡(luò) GhostNet。由于卷積神經(jīng)網(wǎng)絡(luò)一系列突破性研究成果, 并根據(jù)不同的任務(wù)需求不斷改進(jìn),使其在目標(biāo)檢測、 語義分割、自然語言處理等不同的任務(wù)中均獲得了 成功的應(yīng)用?;谝陨险J(rèn)識
    發(fā)表于 08-02 10:39

    漢字Unicode碼生成軟件

    漢字Unicode碼生成軟件
    發(fā)表于 03-15 12:35 ?53次下載
    <b class='flag-5'>漢字</b>Unicode碼<b class='flag-5'>生成</b>軟件

    基于BP神經(jīng)網(wǎng)絡(luò)的電路最優(yōu)測試集的生成設(shè)計(jì)

    BP 神經(jīng)網(wǎng)絡(luò)是目前用于模擬電路故障診斷的神經(jīng)網(wǎng)絡(luò)。本文應(yīng)用BP 神經(jīng)網(wǎng)絡(luò)完成了實(shí)際電路最優(yōu)測試集的生成設(shè)計(jì),驗(yàn)證
    發(fā)表于 12-16 16:08 ?9次下載

    基于概率神經(jīng)網(wǎng)絡(luò)的手寫漢字識別方法

    的結(jié)構(gòu)特征,即是由偏旁部首組成,且漢字的數(shù)量龐大,兇此漢字識別有著必然的困難性和復(fù)雜性。鑒于光學(xué)字符識別系統(tǒng)OCR主要對印刷體漢字有著良好的識別能力:漢字識別方法有很多種,近年來,新的
    發(fā)表于 11-07 11:50 ?17次下載
    基于概率<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的手寫<b class='flag-5'>漢字</b>識別方法

    JavaScript 實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)應(yīng)用教程

    近日,來自德國的 Robin Wieruch 發(fā)布一系列使用 JavaScript 構(gòu)建機(jī)器學(xué)習(xí)的教程,本文將主要介紹使用 JavaScript 實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)的方法。 JavaScript 是
    發(fā)表于 12-08 09:21 ?5801次閱讀

    【人工神經(jīng)網(wǎng)絡(luò)基礎(chǔ)】為什么神經(jīng)網(wǎng)絡(luò)選擇“深度”?

    的 Logistic regression 就可以認(rèn)為是個(gè)不含隱含層的輸出層激活函數(shù) sigmoid(logistic) 的神經(jīng)網(wǎng)絡(luò),顯然 Logistic regression 就不是 deep 的。不過,現(xiàn)在
    發(fā)表于 09-06 20:48 ?672次閱讀

    漢字字庫提取程序漢字生成器應(yīng)用程序免費(fèi)下載

    本文檔的主要內(nèi)容詳細(xì)介紹的是漢字字庫提取程序漢字生成器應(yīng)用程序免費(fèi)下載。
    發(fā)表于 05-06 16:16 ?46次下載
    <b class='flag-5'>漢字</b>字庫提取程序<b class='flag-5'>漢字</b><b class='flag-5'>生成</b>器應(yīng)用程序免費(fèi)下載

    lcd漢字生成軟件工具免費(fèi)下載

    用于生成小LCD漢字點(diǎn)陣
    發(fā)表于 11-27 16:45 ?3次下載

    卷積神經(jīng)網(wǎng)絡(luò)模型原理 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)

    卷積神經(jīng)網(wǎng)絡(luò)模型原理 卷積神經(jīng)網(wǎng)絡(luò)模型結(jié)構(gòu)? 卷積神經(jīng)網(wǎng)絡(luò)種深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò),是在圖像、語音、文本和視頻等方面的任務(wù)中最有效的
    的頭像 發(fā)表于 08-21 16:41 ?974次閱讀

    卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)

    卷積神經(jīng)網(wǎng)絡(luò)模型的優(yōu)缺點(diǎn)? 卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)是種從圖像、視頻、聲音和一系列多維信號中進(jìn)行學(xué)習(xí)的深度學(xué)習(xí)模型。它在計(jì)算機(jī)
    的頭像 發(fā)表于 08-21 17:15 ?4207次閱讀