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

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

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

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

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

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

因為我們都是中國人,從小看著漢字、寫著漢字長大,所以已經(jīng)忘記了漢字本身是一件多么困難的事情。

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

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

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

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

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

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

作為新智元(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)實中并沒有在使用的漢字。

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

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

認識一個字不一定寫得出,但寫得出就一定認識它

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

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

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

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

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

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

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

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

pIYBAFswZa-AC7lZAABnOqgnzvc030.png

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

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

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

pIYBAFswZa-AZ0zeAABh2UgVHRQ561.png

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

MDN軌跡展示

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

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

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

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

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

    關(guān)注

    27

    文章

    6168

    瀏覽量

    105393
  • 神經(jīng)網(wǎng)絡(luò)

    關(guān)注

    42

    文章

    4771

    瀏覽量

    100772
  • 機器學習
    +關(guān)注

    關(guān)注

    66

    文章

    8418

    瀏覽量

    132646

原文標題:谷歌大腦研究員玩轉(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ù)人的認識過程而開發(fā)出的種算法。假如我們現(xiàn)在只有些輸入和相應(yīng)的輸出,而對如何由輸入得到輸出的機理并不清楚,那么我們可以把輸入與輸出之間的未知過程看成是
    發(fā)表于 06-19 14:40

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

    能在外界信息的基礎(chǔ)上改變內(nèi)部結(jié)構(gòu),是種自適應(yīng)系統(tǒng),通俗的講就是具備學習功能?,F(xiàn)代神經(jīng)網(wǎng)絡(luò)種非線性統(tǒng)計性數(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ò)

    今天學習兩個神經(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ù)測的計算系統(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ù)需求不斷改進,使其在目標檢測、 語義分割、自然語言處理等不同的任務(wù)中均獲得了 成功的應(yīng)用?;谝陨险J識
    發(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è)計

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

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

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

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

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

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

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

    lcd漢字生成軟件工具免費下載

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

    Python從頭實現(xiàn)神經(jīng)網(wǎng)絡(luò)來理解神經(jīng)網(wǎng)絡(luò)的原理3

    有個事情可能會讓初學者驚訝:神經(jīng)網(wǎng)絡(luò)模型并不復(fù)雜!『神經(jīng)網(wǎng)絡(luò)』這個詞讓人覺得很高大上,但實際上神經(jīng)網(wǎng)絡(luò)算法要比人們想象的簡單。 這篇文章完全是為新手準備的。我們會通過Pytho
    的頭像 發(fā)表于 02-27 15:06 ?731次閱讀
    <b class='flag-5'>用</b>Python從頭實現(xiàn)<b class='flag-5'>一</b>個<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>來理解<b class='flag-5'>神經(jīng)網(wǎng)絡(luò)</b>的原理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ò)種深度學習神經(jīng)網(wǎng)絡(luò),是在圖像、語音、文本和視頻等方面的任務(wù)中最有效的
    的頭像 發(fā)表于 08-21 16:41 ?1021次閱讀

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

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