内容纲要

本位旨在用于少样本的字体生成。生成Dual Memory-augmented:persistent memory和dynamic memory来波卓全局的字形结构和局部的组成风格。这个策略生成高质量的字体。

文章开头讲的是字体的结构,一个汉字可以拆成若干结构组成:
file

然后是讲网络:

Overview

网络包括encoding和decoding阶段。
file

Encoder

Encoder使用预定义的分解函数姜字符拆解成几个组成特征。我们采取多头结构,每一个头表示每一个组成类型。encoded的组成特征随后写入到动态memory中,如图3b所示。
file
file

其中persistent memory是一个组成的嵌入,表达每个成分的固有形状和组成结构的全局信息。
dynamic memory储存给定的参考字符的编码组成成分特征。
因此,PM捕捉每个字符样式的独立的字字符的全局信息,而DM则是根据每个字符学习一个独特的局部信息。DM简单的储存和检索编码的特征,但是PM学习数据的训练的嵌入。因此,DM适应到输入的特征,而PM经过训练后是固定的。

Memory addressor

寻址模块,如图b所示。我们使用预定义的分解函数:file来获取成分地址,其中uic是yc的第i个成分的标签。Mc是yc的子字符的数量。例如:file
输入x,字符标签yc,风格标签ys,被存在DM中。在我们的场景中,ENC是一个多头encoder,yc可以通过fd(yc)奋进分成字字符标签uic。因此,第i个组成类型对应着第i个ENC,输出为DM(uic,ys)。
在decoding阶段,decoder DEC用来生成目标字符:
file
为了更好的生成质量,我们应用了一个鉴别器和组成成分分类器,对于鉴别器D,我们使用多任务鉴别器,使用字体条件和字符条件。多任务鉴别器对每个目标类别都有独立的分支,每个分支用来进行二分类。考虑这连个条件,我们使用两个多任务鉴别器,一个是用来字符类别,一个是用来字体类别,共享backbone。
我们进一步使用组成分类器CLS来确保模型很好的利用自称成分,它提供委外的监督信息。
进一步,我们引入了全局上下文感知,和局部风格生成:compositional generator。特别的,自注意力模块,在encoder里充分利用合理的组成结构,沙漏模块用在decoder中分析的结构的影响。

最后损失函数:略

总结

就是dual-memory的使用。其中encode过程中,仅仅使用DM。DM的key为每个子字符编码和风格标签,编码过程见附件。value应该为图像在多头上的编码。PM的key为字符编码,value不知道是什么。另外PM的更新也没说清楚。难道只是在decoder时选择对应的值进行梯度更新?因此说存的是global?PM只在decoder中起作用。
本文重点是dual-memory但是memory的介绍部分太少了。
已经有了memory的read。
缺少:memory如何初始化,如何进行write或更新。

最后修改日期: 2020年10月22日

作者

留言

撰写回覆或留言

发布留言必须填写的电子邮件地址不会公开。