论文:Alias-Free Generative Adversarial Networks(2021.06)
作者:Tero Karras, Miika Aittala, Samuli Laine, Erik Härkönen, Janne Hellsten, Jaakko Lehtinen, Timo Aila
链接:https://arxiv.org/abs/2106.12423
代码:https://nvlabs.github.io/stylegan3
其他StyleGAN系列论文解读:
PGGAN、StyleGANv1、StyleGANv2、StyleGANv3
文章目录
- 1、算法概述
- 2、背景知识
- 3、StyleGANv3细节
- 3.1 Fourier features and baseline simplifications (configs B-D)
- 3.2 Step-by-step redesign motivated by continuous interpretation
- 4、实验
1、算法概述
作者发现stylegan2及以前的生成网络生成的图片,都有像素粘连现象,即某些区域像素严重依赖上一层或者周边像素。这种现象在生成图片中表现为,例如,细节似乎粘在图像坐标上,而不是被描绘物体的表面。这种问题其实是gan网络一个普遍存在的问题,即粗糙特征(GAN的浅层网络的输出特征)主要控制了精细特征(GAN的深层网络的输出特征)的存在与否,并没有精细控制它们的出现的精确位置。
2、背景知识
在现实世界中,不同尺度的细节往往会发生层次上的转换。例如,移动头部会导致鼻子移动,鼻子上的皮肤毛孔也会随之移动。典型GAN发生器的结构与此类似:通过上采样层对粗糙的低分辨率特征进行分层细化,通过卷积进行局部混合,并通过非线性引入新的细节。但是作者观察到,尽管存在这种表面上的相似性,但当前的GAN架构并没有以自然的分层方式合成图像,相反,很多细节似乎都是固定在像素坐标上的。这种“纹理粘滞”现象在潜在的插值中清晰可见。如下图所示:
作者从连续信号采样定理出发讨论如何从离散信号恢复出连续信号的角度(连续信号的等变性)过渡到探讨网络层的连续表示和离散表示,进一步认为产生这种像素粘连现象的原因在于目前的生成器网络结构中所采用的卷积+激活+上采样等结构引起的,而这样的结构无法做到有效的等变性。
3、StyleGANv3细节
下图是stylegan3基于stylegan2的基础上一步步改进的实验结果:
3.1 Fourier features and baseline simplifications (configs B-D)
为了方便输入z0的精确连续平移和旋转,作者用傅里叶特征替换StyleGAN2中学习到的输入常数。
其次,作者删除了每个像素的噪声输入,因为它们与自然变换层次结构的目标非常不一致,即每个特征的精确亚像素位置完全继承自底层的粗特征。第三,作者减小映射网络(mapping network)深度,并禁用混合正则化和路径长度正则化,而且还去掉了输出跳过连接。
3.2 Step-by-step redesign motivated by continuous interpretation
- Boundaries and upsampling (config E)
作者的理论假设特征映射的空间范围是无限的,通过在目标画布周围保持固定大小的边距来近似,在每层之后裁剪到这个扩展的画布上。这种显式扩展是必要的,因为已知边界填充会将绝对图像坐标泄漏到内部表示中。在实践中,作者发现只需向外扩展10个像素的边框就足够了,进一步增加对结果没有明显影响。对于上采样操作,作者用理想低通滤波器来代替双线性上采样。
改进后的boundaries和upsampling得到了更好的平移不变性,但是FID变差了。 - Filtered nonlinearities (config F)
这是一个工程上的优化,对于网络中的非线性滤波,比如leaky ReLU或者其他激活函数,这些是存在于m倍上采样和m倍下采样之间的操作,可以合并在一起,但是使用深度学习框架自带的语句,执行效率不高,所以作者实现了一个自定义CUDA内核合并了这些操作(图4b),这直接带来了10倍的训练速度和可观的内存节省。
- Non-critical sampling (config G)
为了抑制像素粘连现象,作者简单地将截止频率降低,从而确保所有混叠频率都在阻带,作者认为高频细节确实重要,但只仅仅在高分辨率下才是,对于低分辨率下(浅层),可以丢掉高频细节,因为作者认为浅层中高频细节并不重要。 - Transformed Fourier features (config H)
为了应对每层的全局变换能力有限的问题,作者引入一个可学习的仿射层,该层输出输入傅里叶特征的全局平移和旋转参数(图4b)。该层初始化以执行恒等变换,但随着时间的推移,在有益的情况下学习使用该机制。在配置H中,这稍微改善了FID。 - Flexible layer specifications (config T)
虽然提高了平移不变性,但是一些可见的伪影仍然存在。这是因为滤波器的衰减对于最低分辨率的层来说仍然是不够的,而这些层往往在其带宽限制附近有丰富的频率信息,这就需要有非常强的衰减来完全消除混叠。跳频在最低分辨率层中较高,以最大化提高阻带的衰减;在最高分辨率层中较低,以允许匹配训练数据的高频细节。 - Rotation equivariance (config R)
为了使网络获得旋转不变性的能力,作者采用了两个改进方式:
1、 将所有层上的3×3卷积替换为1×1,并通过将特征映射的数量增加一倍来补偿减少的容量。在这个配置中,只有上采样和下采样操作在像素之间传播信息。
2、 将基于sinc的下采样滤波器替换为使用相同Kaiser方案构建的基于径向对称jinc的下采样滤波器。
这些改进在不损害FID的情况下改善了EQ-R,而且每层的可训练参数减少了56%。
4、实验
作者在6个数据集上给出了stylegan2和stylegan3-T,stylegan3-R的结果,结果表明作者所提的stylegan3相比于stylegan2在FID评估标准下还是具有很大的竞争力的,而stylegan3-T和stylegan3-R在FID上表现差不多,都表现出很好的平移不变性。
消融实验:略