0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

谷歌用神经网络根据笔画生成汉字,新造了一系列“假汉字

DPVg_AI_era 来源:未知 作者:李倩 2018-06-25 11:44 次阅读

你永远不知道汉字的潜力。谷歌大脑东京分部的研究员hardmaru,用神经网络根据笔画生成汉字,新造了一系列“假汉字”。你别说,有些看上去还真像那么一回事。

因为我们都是中国人,从小看着汉字、写着汉字长大,所以已经忘记了汉字本身是一件多么困难的事情。

是的,汉字基本的笔画就只有点横撇捺等几种,但是,中国文字从甲骨文、金文、篆书、隶书一路走来,不同程度存在难写难认的缺陷。就算只是一个“点”,在不同的字里面,这个点的大小和方向也是各不相同。因此,对于汉字设计师来说,可是要了老命。

调查记者 Nikhil Sonnad 曾经在 QZ 发表过一篇文章,详细讲述了设计一个汉字字体漫长艰苦而又令人沉迷的过程。其中有这样一个例子,展示了言字旁在不同的文字中拥有不同的大小和方向:

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

这也是为什么相比五花八门的英文和阿拉伯数字字体,汉字的字体那么少的一个原因。

Nikhil Sonnad 在那篇文章中指出,一位经验丰富的设计师可以在6个月的时间里设计一种涵盖几十种西方语言的新字体。但是,对于单个中文字体,至少需要一个好几人的设计师团队两年以上的时间。

有没有什么好的方法能够解决这个问题?

作为新智元(ID:AI_era)的读者,或许有人已经猜到我们接下来会说什么。是的,还是神经网络。

谷歌大脑东京分部的研究人员hardmaru,使用神经网络生成汉字,但他与众不同的地方在于,由于提供给神经网络的数据是“笔画”,因此生成的是所有理论上可以存在,但现实中并没有在使用的汉字。

或许你要说,这样做有什么用,但仔细看就能发现作者这样做在理论和实际上的意义。

汉字这个系统本质上是开放的。使用可用的元素(偏旁部首、笔画等等),可以制作出无数个不同的字符。虽然代码目前还不能很准确地定位笔画的位置,但hardmaru实验中的一些结果,看起来非常像真实存在的汉字。

认识一个字不一定写得出,但写得出就一定认识它

在一篇介绍他的这项工作的博客中,hardmaru表示,他从小也被父母硬逼着去学汉字,虽然他周围的人大多说英语。老师教他写汉字的过程就是抄写听写抄写听写的不断循环,就好像LSTM根据训练样本输出序列结果一样。

另一方面,他也注意到,“写”汉字和“读”汉字是两个非常不同的过程。你认识一个字(能够阅读或者发出读音),但不一定写得出来;但是,如果你能写出一个汉字,你一定知道它的发音。现在,人们越来越多的依赖基于发音的输入法来“写”汉字,当真正提笔写字的时候,常常会出现忘记怎么写的情况。

在一定程度上,机器学习的过程也一样,最初都是从简单的分类问题开始:判断输入的图像是猫还是狗,交易是真实的还是是欺诈……这些任务非常有用。但是,hardmaru认为,更有趣的任务是生成数据,在hardmaru看来,生成数据是数据分类的延伸和扩展。相比能够认出某个汉字,能够把这个汉字写出来表明我们对这个汉字有更多的理解。同理,生成内容也是理解内容的关键。

生成对抗网络(GAN)在生成数据方面有着优异的表现,机器翻译也算是一类生成数据的例子。但hardmaru想生成的是矢量数据。因为他认为很多内容都更适合用矢量的形式来表达,比如用数码笔画的素描、CAD设计、科学实验数据等等。

字体和笔画也更适合用矢量来表示。精心设计的TrueType字体,不管大小,显示出来都很美丽。

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

接下来,我们将介绍hardmaru如何使用RNN生成矢量格式的手写体汉字。汉字以矢量保存(SVG格式)。

hardmaru实现的是一个生成“新造”汉字的网络sketch-rnn,与Graves手写体生成模型框架(见下)类似。

pIYBAFswZa-AC7lZAABnOqgnzvc030.png

用于训练的数据是真实的汉字,并且包含了笔画顺序。因此,神经网络生成的汉字看上去也是按照一定程度上合理的笔画顺序来的。

训练数据样本,不同的颜色代表了笔画顺序,来源于KanjiVG数据集

在sketch-rnn中,每一笔都用类似笔画的数据建模,其中每一步数据都包含x和y轴的偏移量,以及这一笔是落在纸上还是没有落在纸上,如果落在纸上,那么上一笔和这一笔之间就会有连线。神经网络必须为下一步提供概率分布。这个概率分布不是离散的,而是连续分配x轴和y轴上的偏移量,以及笔在下一步在纸上抬起的概率(也即笔画结束的概率)。sketch-rnn使用混合高斯分布来估算下一笔的位移。这个用来生成笔迹的方法叫做混合密度网络(Mixture Density Networks,MDN)。

pIYBAFswZa-AZ0zeAABh2UgVHRQ561.png

以上是使用混合高斯密度来生成汉字笔划的一个例子。黑点代表在写字过程中连起来的线,LSTM + MDN算法将持续估计下一个点出现位置的概率分布。这个分布被建模成混合高斯分布。这意味着下一个位置是许多不同位置的混合(深浅不同的红色椭圆),并且每个位置本身都是x轴和y轴偏移的二维联合高斯分布,每个偏移都有自己的位置2×2协方差矩阵。

MDN轨迹展示

除了笔划的位置分布和结束概率之外,还需要对写完整个汉字的概率进行建模,也即结束字符“end-of-char”概率。但是,每个笔画完结的概率跟整个汉字完结的概率有一定重复,hardmaru 花了不少功夫尝试对上述两个信号(笔划完结概率、字符完结概率)建模。最终,他通过神经网络中的softmax层将笔的状态建模为一组离散的状态。笔的状态分为三种:笔画结束、字符结束、落笔。模型会计算每一步三种状态的概率。

LSTM+MDN基本上是LSTM+Softmax的扩展,hardmaru以后想尝试更强大的方法。GAN(生成对抗网络)也许能应用到循环网络上,但他预计训练LSTM GAN会非常困难。

除了上面展示的各种例子,这是已有的一些有趣的结果,hardmaru自己做了“注释”:

还有一些不知道怎么描述的结果:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 谷歌
    +关注

    关注

    27

    文章

    5845

    浏览量

    103245
  • 神经网络
    +关注

    关注

    42

    文章

    4570

    浏览量

    98706
  • 机器学习
    +关注

    关注

    66

    文章

    8105

    浏览量

    130542

原文标题:谷歌大脑研究员玩转汉字RNN:神经网络生成新华字典

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    人工神经网络原理及下载

    人工神经网络根据人的认识过程而开发出的种算法。假如我们现在只有些输入和相应的输出,而对如何由输入得到输出的机理并不清楚,那么我们可以把输入与输出之间的未知过程看成是
    发表于 06-19 14:40

    【PYNQ-Z2试用体验】神经网络基础知识

    能在外界信息的基础上改变内部结构,是种自适应系统,通俗的讲就是具备学习功能。现代神经网络种非线性统计性数据建模工具。简单来说,就是给定输入,神经网络经过
    发表于 03-03 22:10

    容差模拟电路软故障诊断的小波与量子神经网络方法设计

    能力是无法解决的。而量子神经网络被认为是种具有固有模糊性的网络,它的隐层单元采用多量子能级变换函数,每个多能级变换函数是一系列具有量子间隔偏移的S型函数之和,能将决策的不确定性数据合
    发表于 07-05 08:06

    卷积神经网络如何使用

    卷积神经网络(CNN)究竟是什么,鉴于神经网络在工程上经历曲折的历史,您为什么还会在意它呢? 对于这些非常中肯的问题,我们似乎可以给出相对简明的答案。
    发表于 07-17 07:21

    【案例分享】ART神经网络与SOM神经网络

    今天学习两个神经网络,分别是自适应谐振(ART)神经网络与自组织映射(SOM)神经网络。整体感觉不是很难,只不过些最基础的概念容易理解不
    发表于 07-21 04:30

    如何设计BP神经网络图像压缩算法?

    神经网络(Neural Networks)是人工神经网络(Ar-tificial Neural Networks)的简称,是当前的研究热点之。人脑在接受视觉感官传来的大量图像信息后,能迅速做出反应
    发表于 08-08 06:11

    如何移植个CNN神经网络到FPGA中?

    训练神经网络并移植到Lattice FPGA上,通常需要开发人员既要懂软件又要懂数字电路设计,是个不容易的事。好在FPGA厂商为我们提供许多工具和IP,我们可以在这些工具和IP的基础上做
    发表于 11-26 07:46

    如何构建神经网络

    原文链接:http://tecdat.cn/?p=5725 神经网络种基于现有数据创建预测的计算系统。如何构建神经网络神经网络包括:输入层:
    发表于 07-12 08:02

    基于BP神经网络的PID控制

    最近在学习电机的智能控制,上周学习基于单神经元的PID控制,这周研究基于BP神经网络的PID控制。神经网络具有任意非线性表达能力,可以通过对系统性能的学习来实现具有最佳组合的PID控
    发表于 09-07 07:43

    卷积神经网络模型发展及应用

    网络 GhostNet。由于卷积神经网络一系列突破性研究成果, 并根据不同的任务需求不断改进,使其在目标检测、 语义分割、自然语言处理等不同的任务中均获得了 成功的应用。基于以上认识
    发表于 08-02 10:39

    汉字Unicode码生成软件

    汉字Unicode码生成软件
    发表于 03-15 12:35 53次下载
    <b class='flag-5'>汉字</b>Unicode码<b class='flag-5'>生成</b>软件

    基于ANN和HMM的联机手写体汉字识别系统

    为了解决联机手写体汉字笔划顺序、笔划数目及笔划形状变化问题,提出了一种新的联机手写体汉字识别方法:人工神经网络(ANN)和隐马尔可夫模型(HMM)相结合的汉字识别方法
    发表于 08-29 09:24 13次下载

    基于概率神经网络的手写汉字识别方法

    的结构特征,即是由偏旁部首组成,且汉字的数量庞大,凶此汉字识别有着必然的困难性和复杂性。鉴于光学字符识别系统OCR主要对印刷体汉字有着良好的识别能力:汉字识别方法有很多种,近年来,新的
    发表于 11-07 11:50 17次下载
    基于概率<b class='flag-5'>神经网络</b>的手写<b class='flag-5'>汉字</b>识别方法

    汉字字库提取程序汉字生成器应用程序免费下载

    本文档的主要内容详细介绍的是汉字字库提取程序汉字生成器应用程序免费下载。
    发表于 05-06 16:16 46次下载
    <b class='flag-5'>汉字</b>字库提取程序<b class='flag-5'>汉字</b><b class='flag-5'>生成</b>器应用程序免费下载

    lcd汉字生成软件工具免费下载

    用于生成小LCD汉字点阵
    发表于 11-27 16:45 3次下载