1.概要
文章主要两点贡献,首先引入了一个新的局部稀疏注意层(local sparse attention layer),该层保留了二维几何形状和局部性。 文章证明,用文章的结构替换SAGAN的密集注意力层,我们就可以获得非常显着的FID,初始得分(Inception score )和纯净的视觉效果。 在其他所有参数保持不变的情况下,FID分数在ImageNet上从18.65提高到15.94。 我们为新层提议的稀疏注意力模式(sparse attention patterns)是使用一种新的信息理论标准设计的,该标准使用信息流图。
文章还提出了一种新颖的方法来引起对立的对抗网络的产生,就是使用鉴别器的注意力层来创建创新的损失函数(an innovative loss function)。 这使我们能够可视化新引入的关注头,并表明它们确实捕获了真实图像二维几何的有趣方面。
2.介绍
生成对抗网络在建模和生成自然图像方面取得了重大进展。转置的卷积层是基本的体系结构组件,因为它们捕获了空间不变性,这是自然图像的关键属性。中心局限性是卷积无法对复杂的几何形状和长距离依赖性进行建模–典型的例子是生成的狗的腿数少于或多于4条。
为了弥补这一限制,在深度生成模型中引入了注意层。注意使得能够在单层中对远距离空间相关性进行建模,即使它们相距很远,它也可以自动找到图像的相关部分。注意层首先在SAGAN [26]中引入,然后在BigGAN [4]中进一步改进,这导致了一些目前最著名的GAN。(First introduced in SAGAN [26] and further improved in Big-GAN [4], attention layers have led to some of the best known GANs currently available.)
注意层有一些限制。首先是它们在计算上效率低下:标准的密集注意力需要内存和时间复杂度在输入大小上成倍增加。其次,密集的注意层在统计上是无效的:需要大量的训练样本来训练注意层,当引入多个注意头(attention heads)或注意层(attention layers)时,这个问题变得更加明显。统计效率低下还源于以下事实,即注意力集中并不能从位置中受益,因为图像中的大多数依赖关系都与附近的像素邻域有关。最近的工作表明,大多数注意力层负责人(attention layer heads )学会了关注局部区域。
为了减轻这些限制,最近在稀疏变压器(Sparse Transformers)中引入了稀疏注意层(sparse attention layers)。在那篇论文中,介绍了不同类型的稀疏注意内核(sparse attention kernels),并将其用于获得图像,文本和音频数据的优秀的结果。他们所做的主要观察是,稀疏变压器中引入的模式实际上是针对一维数据(如文本序列)设计的。稀疏变压器通过重塑张量以显着扭曲图像像素二维网格距离的方式应用于图像。因此,稀疏变压器中引入的局部稀疏注意内核(sparse attention kernels)无法捕获图像局部性。
我们的贡献:
•我们引入了一个新的局部稀疏注意层,该层保留了二维图像的局部性,并可以通过注意步骤来支持良好的信息流。
•为了设计注意力模式,我们使用信息流图的信息理论框架。这可以量化信息如何流经多个步骤并保持二维局部性。我们将学到的注意力图可视化,并显示出不同的头部(heads)确实学习了所生成图像的几何形状的不同方面。
•我们使用新的二维稀疏关注层来修改SAGAN,以引入YLGSAGAN。我们凭经验表明,这种变化产生了明显的好处。我们在ImageNet-128上进行训练,仅更改关注层,同时保留体系结构的所有其他参数,即可将SAGAN的FID得分提高14.53%,将Inception得分提高8.95%。我们的消融研究表明,收益确实来自二维归纳偏差,而不是引入多个注意头(attention heads)。此外,相对于SAGAN的1300k,YLG-SAGAN在800k的训练步骤中达到了这一性能,因此将训练时间减少了大约40%。
•为了可视化自然图像上的注意力图,我们遇到了反转生成器的问题:给定图像x,如何找到潜码(latent code )z,以便G(z)尽可能接近x。对这种损失进行梯度下降的自然反演过程适用于小型GAN,但是众所周知,在像SAGAN1这样的大型模型中,它已经失败了。我们提出了GAN反演问题的解决方案:我们使用鉴别器的注意力层来获得损失函数的权重,随后我们将其用于梯度下降的反演。我们从经验上显示出许多在标准梯度下降反演失败的情况下出色的反演结果。我们开源我们的代码和模型,以鼓励对该领域的进一步研究。该代码可在存储库中找到: https://github.com/giannisdaras/ylg2
1这个事实是民间传说,至少在那些试图用深层生成模型解决逆向问题的研究人员中是知道的。当然,还有很多其他的方法可以反转,比如训练一个编码器,但也会在现代GAN上表现不佳。