MaskGIT

文章提出了MaskGIT,一种用于图像生成的Transformer,其特点就是在对图像token建模时同时对整个图像的token进行建模,而不是传统的每个位置依次进行自回归建模,这种方法即达到了SOTA的效果,也大大减少了生成的时间。并且该方法也可以拓展到图像编辑的任务。 在图像生成中,GANs取得了很好的效果,但其训练具有不稳定性,并且缺乏生成图像的多样性,基于Transformer在NLP中的效果,Transformer在图像生成领域也有了很多发展,而这些方法都将图像作为一个token序列进行建模,同自回归模型一样生成图像,这样效果不是最优的并且生成速率低。因此作者提出了MaskGIT,一种用于图像生成的双向的transformer。 作者将图像生成视为两阶段,如上图,第一个阶段为tokenization,将图像压缩到离散的隐空间,第二个阶段为对隐空间token进行建模。该模型主要针对第二个阶段,作者提出了一个Masked Visual Token Modeling (MVTM)的方法来训练一个双向transformer。 首先介绍训练,对于一张图像,得到隐空间的token,随机选取0-1比例的token进行mask,然后基于mask后的token集对mask掉的token进行预测,损失函数如下: mask是随机选取的,因此在transformer的注意力计算中是双向的,因此该模型为双向的transformer。然后介绍解码过程,首先基于当前的token对所有的token进行预测得到每个位置的概率分布,然后基于该分布对每个位置的token进行采样,并将概率置为置信度,随后基于mask规划函数计算去掉mask的token数,基于该数将置信度高的token去掉mask,得到了下一步的token与mask,主图展示了传统的和MaskGIT的decode过程。最后介绍mask设计,不论是训练还是推理,mask的token数是非常关键的因素,作者对该函数进行了分类探索实验:线性函数、凹函数以及凸函数,其实验结果如下图。 因此作者选择了效果最好的余弦函数作为mask函数。 最后作者进行了充足的实验对比了其他模型,可以看到该方法能够提高指标并且减少生成时间。