热点滚动 :
当前位置 主页 > 国家政策 >

zi2zi:用条件生成对抗网络玩转中文书

  原标题:zi2zi:用条件生成对抗网络玩转中文书法,绝妙汉字字体自动生成

  新智元为COO和执行总编提供最高超百万的年薪激励;为骨干员工提供最完整的培训体系、高于业界平均水平的工资和奖金。加盟新智元,与人工智能业界领袖携手改变世界。

  【新智元导读】Github 用户 kaonashi-tyc 将字体设计的过程转化为一个“风格迁移”(style transfer)的问题,使用条件 GAN,训练神经网络自动将输入的汉字转化为另一种字体(风格)的汉字,效果相当不错。

  要创造一套符合 GBK(中国政府规定的字符集)的字体,设计师需要为超过 26000 个汉字做设计,有时候需要花好几年的时间才能完成。

  为了解决了这个问题,Github 用户 kaonashi-tyc 想到,先手工设计一部分汉字,其余的汉字让计算机自动生成不就行了?——毕竟,汉字是由偏旁部首组合而成的,“任”这个字里的单人旁,在“仁”这个字里看起来也一样。

  于是,作者将字体设计的过程转化为一个“风格迁移”(style transfer)的问题。他用两种不同字体作为训练数据,训练了一个神经网络,训练好的神经网络自动将输入的汉字转化为另一种字体(风格)的汉字,概念如下图所示。

  为了解决上述问题,作者进行了新的尝试,也就是我们这次重点介绍的zi2zi这个项目。

  这一次,作者还是使用风格迁移解决中文字体生成的问题,不过他使用了条件生成对抗网络(GAN)的力量。

  第一篇论文是加州大学伯克利视觉组的研究,也是前段时间很火的“pix2pix”的研究基础。作者也表示,zi2zi 是从 pix2pix 的工作直接衍生而来。

  zi2zi 的网络结构由编码器、zi2zi:用条件生成对抗网络玩转中文书法绝妙汉字字体自动生成解码器和判别器组成(直接把 pix2pix 的拿过来用了)。

  作者指出,根据人类设计师设计字体的经验,让神经网络同时学会多种字体风格是至关重要的。

  同时训练多种字体,迫使模型从每种字体中学习,然后使用学到的经验改善同一种字体的其他汉字。

  Vanilla pix2pix 模型并没有解决这种一对多的关系。作者受“谷歌零数据机器翻译”论文(Zero-shot GNMT)的启发,想出来了“类别嵌入”(category embedding)的方法,将不可训练的高斯噪声作为风格嵌入(style embedding)与汉字嵌入(character embedding)串联起来,之后再一并进入解码器。

  这样,解码器仍旧将同一个汉字映射为同一个向量,但是,解码器会同时考虑汉字和风格两个嵌入来生成目标汉字(target character)。

  但是,作者发现,这样做之后又出现了一个新的问题:模型开始将各种风格弄混淆并且混合在一起,生成的汉字什么也不像了。

  于是,他又借鉴了AC-GAN模型中的multi-class category loss,把这个 loss 加到判别器上面,一旦出现混淆或者风格混合,就“惩罚”判别器。

  作者介绍,模型当中还有一大要素是constant loss,这个是DTN 网络中的概念。这个方法的思路很简单——源汉字和生成的汉字按理说应该十分类似,所以它们在嵌入空间(embedded space)里出现的位置也应该十分接近。作者将这个 loss 命名为“GREATLY”,GREATLY 这个 loss 迫使解码器保留生成汉字的 identity,收窄了可搜索的范围,因而加快了收敛速度。

  最后,还有一个 total variation loss(tv loss)。不过作者表示,根据实际经验,这个 loss 对生成图像的质量提升作用并不明显。而且,对于毛笔书法来说,这个 tv loss 反而还有损生成图像的质量。因此,作者将 tv loss 列出作为备选项使用。

  下面我们就来看。

相关文章