<img src="https://res.cloudinary.com/montaigne-io/image/upload/v1721097242/0C94D148-886B-4903-92D3-6AA9418CB8D5.png" style="background-color:initial;max-width:min(100%,2342px);max-height:min(1256px);;background-image:url(https://res.cloudinary.com/montaigne-io/image/upload/v1721097242/0C94D148-886B-4903-92D3-6AA9418CB8D5.png);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="2342" height="1256"> <ul class="dashed" data-apple-notes-indent-amount="0"><li><span style="font-family: '.PingFangSC-Regular'">文章标题:</span>MaskGIT: Masked Generative Image Transformer</li><li><span style="font-family: '.PingFangSC-Regular'">文章地址:</span><a href="https://arxiv.org/abs/2202.04200">https://arxiv.org/abs/2202.04200</a> </li><li>CVPR 2022</li></ul> 文章提出了MaskGIT,一种用于图像生成的Transformer,其特点就是在对图像token建模时同时对整个图像的token进行建模,而不是传统的每个位置依次进行自回归建模,这种方法即达到了SOTA的效果,也大大减少了生成的时间。并且该方法也可以拓展到图像编辑的任务。 在图像生成中,GANs取得了很好的效果,但其训练具有不稳定性,并且缺乏生成图像的多样性,基于Transformer在NLP中的效果,Transformer在图像生成领域也有了很多发展,而这些方法都将图像作为一个token序列进行建模,同自回归模型一样生成图像,这样效果不是最优的并且生成速率低。因此作者提出了MaskGIT,一种用于图像生成的双向的transformer。 <img src="https://res.cloudinary.com/montaigne-io/image/upload/v1721099313/9BA6FC9C-FD51-407F-ACC5-FCDCDA6B987F.png" style="background-color:initial;max-width:min(100%,1888px);max-height:min(1194px);;background-image:url(https://res.cloudinary.com/montaigne-io/image/upload/v1721099313/9BA6FC9C-FD51-407F-ACC5-FCDCDA6B987F.png);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="1888" height="1194"> 作者将图像生成视为两阶段,如上图,第一个阶段为tokenization,将图像压缩到离散的隐空间,第二个阶段为对隐空间token进行建模。该模型主要针对第二个阶段,作者提出了一个<i>Masked Visual Token Modeling</i> (MVTM)的方法来训练一个双向transformer。 首先介绍训练,对于一张图像,得到隐空间的token,随机选取0-1比例的token进行mask,然后基于mask后的token集对mask掉的token进行预测,损失函数如下: <img src="https://res.cloudinary.com/montaigne-io/image/upload/v1721099313/B70CAAAF-877E-479D-B202-6A7A2E018836.png" style="background-color:initial;max-width:min(100%,872px);max-height:min(130px);;background-image:url(https://res.cloudinary.com/montaigne-io/image/upload/v1721099313/B70CAAAF-877E-479D-B202-6A7A2E018836.png);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="872" height="130"> mask是随机选取的,因此在transformer的注意力计算中是双向的,因此该模型为双向的transformer。然后介绍解码过程,首先基于当前的token对所有的token进行预测得到每个位置的概率分布,然后基于该分布对每个位置的token进行采样,并将概率置为置信度,随后基于mask规划函数计算去掉mask的token数,基于该数将置信度高的token去掉mask,得到了下一步的token与mask,主图展示了传统的和MaskGIT的decode过程。最后介绍mask设计,不论是训练还是推理,mask的token数是非常关键的因素,作者对该函数进行了分类探索实验:线性函数、凹函数以及凸函数,其实验结果如下图。 <img src="https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/429FCD5B-97C0-43AC-BC75-4DD776B99AF0.png" style="background-color:initial;max-width:min(100%,1172px);max-height:min(1356px);;background-image:url(https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/429FCD5B-97C0-43AC-BC75-4DD776B99AF0.png);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="1172" height="1356"> 因此作者选择了效果最好的余弦函数作为mask函数。 最后作者进行了充足的实验对比了其他模型,可以看到该方法能够提高指标并且减少生成时间。 <img src="https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/0249E57E-780D-49F3-8FF3-99F794C7B13D.png" style="background-color:initial;max-width:min(100%,1152px);max-height:min(684px);;background-image:url(https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/0249E57E-780D-49F3-8FF3-99F794C7B13D.png);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="1152" height="684"> <img src="https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/0F3EC884-BEC9-43A9-B9FE-8B2A2D72E502.png" style="background-color:initial;max-width:min(100%,2340px);max-height:min(1120px);;background-image:url(https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/0F3EC884-BEC9-43A9-B9FE-8B2A2D72E502.png);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="2340" height="1120"> <img src="https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/BE391F8D-19A8-40E3-A48B-41C7047E8D9B.png" style="background-color:initial;max-width:min(100%,1144px);max-height:min(884px);;background-image:url(https://res.cloudinary.com/montaigne-io/image/upload/v1721100560/BE391F8D-19A8-40E3-A48B-41C7047E8D9B.png);height:auto;width:100%;object-fit:cover;background-size:cover;display:block;" width="1144" height="884">