谷歌MaskGIT|双向Transformer,图像生成新范式!
时间:2023-11-21 05:07:01
卷友们好,我是rumor。
图像生成长以来一直被生成GAN虽然统治GAN生成结果很逼真,但是多样性不如基于最大似然的方法(VAE、自回归模型等。DALL-E、VQGAN生成模型,模仿NLP成功,利用Transformer做图像生成,但这种方法有一个很大的缺点,那就是生成速度太慢。

Transformer-based基本参考图像生成NLP处理序列数据需要两个步骤:
Tokenization:自然语言是离散值,图像是连续值,想象NLP同样的处理必须先离散化,iGPT图像直接变成马赛克色块,ViT切成多块后分别进行线性映射,还有专门学习自编码器的方法encoder映射图像token,再用decoder还原
Autoregressive Prediction:用单向Transformer一个个token地面预测最终生成图像
虽然这种方法的生成结果还可以,但是直觉上没那么流畅。仔细想想人们是如何画画的。大多数人必须先画草稿,然后逐渐细化和填充颜色,从整体到局部,而不是从上到下从左到右填充像素。
MaskGIT核心思想是参考人的绘画逻辑,先生是其中的一部分token,逐步完善。
MaskGIT:MaskedGenerativeImageTransformer https://arxiv.org/abs/2202.04200
MaskGIT
MaskGIT模型结构如下:
对于Tokenization步骤,直接参考VQGAN学一个encoder-decoder。
在生成阶段,重复以下步骤:
并行预测所有被子mask这个时候会给出概率最高的部分。token和概率值
计算本轮保留token数目
根据数量倒推概率值,不符合条件的继续mask回到步骤1重生
在训练阶段,不像BERT只mask掉15%,MaskGIT将随机选择各种值来模拟生成阶段的情况。
生成阶段的核心在于如何计算这一轮mask多少token,这个schedule函数有两个特点:
连续函数定义域在0到1之间,值域在0到1之间
在对Linear、Concave、Convex三类函数实验后发现Cosine表现最好:
从最终效果可以看出,MaskGIT图像质量(FID、IS接近目前最好的分数)BigGAN,远胜速度VAGAN,在多样性(CAS分数)超越BigGAN:
同时,作者发现,MaskGIT在编辑图像方面有很大的潜力,尤其是class-conditioned image editing自回归模型基本做不到任务,GAN也很难做到,对MaskGIT但很容易推动一波鬼畜P图的发展(以下例子让我深深怀疑作者是猫控):
总结
MaskGIT作者在文章中说,双向Transformer启发源于机器翻译的一些工作,但这是图像领域的第一份工作。MaskGIT的出发点与单向自回归相比,归更重要make sense,相信之后也看到一些相关改进。
其中我想到了一点,也是从直觉出发的,我们人在画画的时候,难免会改变草图,而MaskGIT没有改变的机会,也没有更好的机会soft mask方法或迭代策略可以生成token迭代可能会超过GAN的生成质量了。
大家好我是rumor
一个热爱技术,有点幽默的女孩
欢迎关注我
带你学会带你的肝脏
人工智能时代旋转跳跃
「很久没见了,很想念。情人节快乐」