公众号:EDPJ
目录
1. Artificial Fingerprinting for Generative Models: Rooting Deepfake Attribution in Training Data
2. HyperDomainNet: Universal Domain Adaptation for Generative Adversarial Networks
3. Data-Efficient Instance Generation from Instance Discrimination
5. Improved StyleGAN Embedding: Where are the good latents
5.1 隐空间(参考 GAN Inversion: A Survey)
5.2 改进的 I2S(Improved Image2StyleGAN,II2S)
6. DigGAN: Discriminator Gradient Gap Regularization for GAN Training with Limited Data
7. Regularizing generative adversarial networks under limited data
8. Large scale gan training for high fidelity natural image synthesis
9. A Style-Based Generator Architecture for Generative Adversarial Networks
10. Analyzing and Improving the Image Quality of StyleGAN
11. Alias-Free Generative Adversarial Networks
12. Training generative adversarial networks with limited data
13. Differentiable augmentation for data-efficient gan training
14. Masked Generative Adversarial Networks are Data-Efficient Generation Learners
15. FreGAN_Exploiting Frequency Components for Training GANs under Limited Data
16. High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks
17. Prototype Memory and Attention Mechanisms for Few Shot Image Generation
18. Towards faster and stabilized gan training for high-fidelity few-shot image synthesis
19. Generalized One-shot Domain Adaptation of Generative Adversarial Networks
20. Improving GANs with A Dynamic Discriminator
1. 谱归一化(spectral normalization)
0. 摘要
改善模型的方法主要分为几大类,例如:
- 更改模型架构:HyperDomainNet、StyleGAN、StyleGAN2、MoCA、FastGAN、实体迁移、DynamicD 等
- 数据增强:InsGen、ADA、DA
- 正则化:DigGAN、R_LC
- 利用频域信息:StyleGAN3、MskedGAN、FreGAN、高频泛化
- 从隐空间入手:Domain Gap、I2S、II2S
1. Artificial Fingerprinting for Generative Models: Rooting Deepfake Attribution in Training Data
(2021,deepfake 溯源)用于生成模型的人工指纹:扎根于训练数据中的深度造假溯源_EDPJ的博客-CSDN博客
1.1 核心思想
GAN(生成对抗网络)的核心思想是生成和对抗。该网络的产物(例如:图像)就是基于深度学习获得的虚假产物,称之为深度造假(deepfake)。
而本文是从对抗的角度来研究:识别 deepfake,并对该 deepfake 溯源(找出该 deepfake 由谁产生)
核心思想是把唯一指纹信息嵌入到一个 GAN 中,使该 GAN 生成的所有图像都带有该指纹信息。实际上就是把身份信息嵌入到模型中,然后为该模型的输出添加该身份信息。
该方法类似于为图像添加水印,区别在于,以往的添加水印的方法是在生成模型后加入一个添加水印的模块,与本方法的直接在模型中嵌入信息不同。
1.2 步骤
1) 训练获得图像隐写术编码器和译码器
2) 使用编码器把指纹嵌入到训练数据中
3) 使用嵌入指纹信息的训练数据训练一个生成模型
4) 使用译码器从生成数据中解出指纹
1.3 Deepfake 检测和溯源
GAN 模型生成的图像具有独特性。生成模型会在生成的样本中留下独特的噪声,从而允许 deepfake 检测。 还可使用神经网络分类器找出不同图像的来源。高频模式不匹配可用于 deepfake 的检测,纹理特征不匹配也可以。 然而,由于检测对策的进步,这些线索是不可持续的。例如,频谱正则化缩小频率不匹配并导致显着的检测恶化。此外,检测器容易受到对抗性规避攻击。
2. HyperDomainNet: Universal Domain Adaptation for Generative Adversarial Networks
(2022,HyperDomainNet)生成对抗网络的通用域自适应_EDPJ的博客-CSDN博客
2.1 核心思想
调制/解调背后的想法是将标准自适应实例归一化 (adaptive instance normalization,AdaIN) 替换为基于输入特征图的预期统计数据的归一化。因此,调制部分基本上是一种自适应缩放操作,就像在 AdaIN 中一样,由样式参数 s 控制。域调制流程如图 1 所示。
这个想法是只优化与样式参数 s 具有相同维度的向量 d。因此,我们只训练向量 d,而不是优化 StyleGAN 合成网络 G_sys 部分的所有权重 θ(d < θ)。该方法极大程度的减少了需要优化的参数。
我们的目标是,在给定输入目标域的情况下,学习可预测域参数 d = D(B) 的 HyperDomainNet D。
2.2 Training Loss
我们使用三个损失 L_direction(域自适应 loss)、L_tt-direction(提高多样性)和 L_domain-norm(提高多域自适应的多样性)来训练 HyperDomainNet D。
L_domain-norm:在机器学习中,添加正则化项的作用是为了防止样本数目过少时发生过拟合。在多域自适应时,因为目标域的样本数目较少,为了避免过拟合(目标域贴近),需要添加域参数 d = D(B) 的正则化项,从而使目标域相互远离,即,提高了目标域的多样性。
这里有一点我不理解。对于多域自适应,域参数 d 代表目标域的风格,而正则化项限制了域参数的大小。那么对于不同的域,它们的域参数的差别并不大,所以如何使目标域远离?这有点违反直觉,而作者也并未在文献中给出说明。
2.3 泛化
提高 HDN 的泛化能力具有挑战性,因为它倾向于在训练域上过拟合:对于未见过的域,它会预测非常接近训练域的域。解决这个问题的一种方法是大大扩展训练集(Data Augmentation)。为此,我们使用了三种技术:
- 通过组合不同的训练域来生成许多训练域;
- 从初始训练 embedding 的凸包中采样 CLIP embedding;
- 在给定余弦相似性的情况下对初始 CLIP embedding 进行重采样(resampling)。
3. Data-Efficient Instance Generation from Instance Discrimination
(2021,InsGen)从实例鉴别中生成数据高效的实例_EDPJ的博客-CSDN博客
3.1 核心思想
这是比之前的数据增强算法性能更好的算法,它不止把真实样本用于训练,还把生成器生成的虚假样本用于训练。所以,即使真实样本的数量很少,最终也能获得较好的生成性能(高质量、高多样性)。
3.2 步骤
实例鉴别不止区分真实图像与虚假图像,还要区分开每一个单独的图像。该方法有四个基本组成部分:
- 区分真实图像:鉴别器识别每一个真实样本图像。使用对比学习,把一个真实图像的数据增强当做该图像的正例,其它真实图像当做反例
- 区分可以无限采样的假图像:鉴别器识别每个单独的假图像。使用对比学习,把一个假图像的数据增强当做该图像的正例,其它假图像当做反例
- 噪声扰动策略:由于隐空间的连续性,使得基于邻域内隐编码(z+ε)合成的图像彼此非常接近。因此,它们更适合被视为正对而不是负对。依然使用对比学习。
- 鼓励生成器进行多样化生成:多样生成要求所有生成的样本都可以彼此区分,这恰好符合我们实例区分的目标。
3.3 消融实验
为了调查实例鉴别中每个组件的重要性,作者进行了消融研究。
- 实例鉴别对提升性能很重要。此外,研究结果表明,假样本也可以被视为无监督表示学习的数据源(提升性能)。
- 噪声扰动很重要。这种隐空间增强,即隐空间中的小运动,总是导致原始图像发生明显但语义一致的变化,这不容易通过一些几何和颜色变换来实现。同时,由于实例鉴别的目标,要求鉴别器对这种噪声扰动具有不变性。该策略可提升性能。
- 合成样本(假样本)很重要。随着合成样本数量的增加,模型性能越来越好。
4. MIND THE GAP: Domain Gap Control for Single Shot Domain Adaptation for Generative Adversarial Networks
(2021,Domain Gap)MIND THE GAP:生成对抗网络单样本域自适应的域间隙控制_EDPJ的博客-CSDN博客
4.1 核心思想
本文方法的核心是保留域内和域间方向,如图 3 所示。
域内方向(v_A,v_B)指的是:语义信息 / 语义多样性。若域 A 所有的语义信息 v_A 都被域 B 复制(v_B 与 v_A 平行),当进行域迁移时,域 B 就能保留域 A 的语义多样性。
域间方向指的是:域间隙 / 域差异。以 StyleGAN-NADA 为例,当域间方向由文本确定时,文本描述的方向就是要进行域迁移的方向。当域间方向由参考图像确定时,需要找出域 B 中的参考图像 I_B 在域 A 中的对应图像 I_A,它们的 embedding 之间的差异就是域差异,也就是进行域迁移的方向。
4.2 步骤
在域 A 中为域 B 中的给定图像查找 I_A 是本方法的核心,也是当前最先进技术 StyleGAN-NADA 的一个重大限制,因为它们使用域 A 的均值。域 A 的均值 是 I_A 的一个非常粗略的近似值。与此相反,我们提出了一个逆域自适应步骤,通过将图像 I_B 投影到域 A 中来找到比域 A 的均值更相似和更具体的参考图像样本。
4.3 风格混合
W+ 空间中的隐编码可以分为 18 个块,每个块影响 StyleGAN2 的不同层。W+ 编码的后面的块对图像的样式(例如纹理和颜色)有更大的影响,而前面的层会影响图像的粗略结构或内容。可以通过对后面的块(风格块)实行插值(对源域和目标图像的风格块进行加权和),来控制风格混合(迁移)程度。
5. Improved StyleGAN Embedding: Where are the good latents
(2020,II2S)改进的 StyleGAN Embedding:寻找好的隐编码(latent code)_EDPJ的博客-CSDN博客
5.1 隐空间(参考 GAN Inversion: A Survey)
Z 空间:从简单分布(例如:均匀分布)中随机采样得到的空间。
W 空间:使用由多层感知器构成的非线性映射网络把 Z 空间映射到 W 空间。相比于 Z 空间,可以缓解简单分布的限制。如图 1 和图 2 所示,W 空间分布无规则。
W+ 空间:把与网络层数对应数目的 latent code w 串联,然后送入每一层的 AdaIN,得到 W+ 空间。相比于 W 空间,属性有更高的解耦度。在 StyleGAN 中,串联了 18 个维度为 512 的隐编码。
S 空间:通过对生成器的每一层使用不同的仿射变换,把 W 空间转换为 S 空间。相比于 W 空间,属性有更高的解耦度。
P 空间:通过反转 StyleGAN 映射网络中的最后一个 Leaky ReLU 层,将 𝑊 空间转换为 𝑃 空间。 由最后一个 Leaky ReLU 使用 1/5 的斜率,我们使用
如图 1 所示,P 空间的维度分布是类正态分布,但是不同维度之间是相关的,如图 1 和 图 2 所示,多元分布近似于椭球体。
P_N 空间:通过 PCA 白化操作把 P 空间转换为 P_N 空间,从而消除依赖性和冗余。如图 1 和 图 2 所示,多元分布是一个超球体,此时,各个维度相互解耦。
P_N+ 空间:类似于通过串联 W 空间的隐编码,从而实现从 W 空间到 W+ 空间的变换,串联 P_N 空间的隐编码可以得到 P_N+ 空间。
5.2 改进的 I2S(Improved Image2StyleGAN,II2S)
本文的核心思想是在隐空间中寻找一个好的有利于图像编辑的隐编码(embedding)。具体操作是:为 I2S 的损失函数添加一个正则化器,如果隐编码距离 𝑃_𝑁+ 的原点太远,它就会做出惩罚。
其中,v 是 P_N+ 空间的隐编码,||v||^2 也表示为马氏距离(一个点与一个分布之间的距离)。正则化器会将解决方案偏向隐空间分布更密集的部分,在该区域,更有利于图像编辑(对隐编码的更改对图像的影响更大)。
5.3 编辑质量 vs 重建质量
重建质量受益于与 𝑃_𝑁 空间中原点远离的隐编码,但编辑质量受益于与 𝑃_𝑁 空间中原点靠近的隐编码。这需要在重建质量和编辑质量之间进行权衡。
对于正态分布,距离原点越近,分布密度越高。而在分布密集区域,对隐编码微小的改变就会使图像产生较大的改变。因此,靠近原点的隐编码更有利于图像编辑。
然而,这也意味着,对隐编码的微小扰动就会使图像产生较大改变,这是不利于图像重建的。因此,在图像重建时,需要选择远离原点的隐编码。
6. DigGAN: Discriminator Gradient Gap Regularization for GAN Training with Limited Data
(2022,DigGAN)用于有限数据 GAN 训练的鉴别器梯度间隙正则化_gan鉴别器_EDPJ的博客-CSDN博客
6.1 核心思想
本文解决问题的是,训练数据稀缺时,如何使 GAN 能有好的生成性能。
本文的核心思想是,为 GAN 的鉴别器的损失函数添加一个正则项,如下所示,
该正则项表示鉴别器对真实数据和生成数据梯度的范数的差距。研究表明,随着该差距的减小,生成图像的 FID 值逐渐减小,即 GAN 的生成性能逐渐增加。
6.2 分析
鉴别器对图像的梯度,实际上是鉴别器对图像的各个属性(特征)求梯度,表示的是对各个属性的变化率。当鉴别器对真实数据和生成数据所有属性的变化率相同时,相应的梯度范数差距最小,此时,生成数据更加贴合真实数据。
如图 9 所示,随着正则化权重的增加,生成数据的 FID 值逐渐减小。但当权重过大时(超过 10k),FID 值会增加。对此,我的理解是,当权重过大时,训练更多的关注正则化项,而忽视鉴别器本身的 loss。由于训练数据的稀缺性,过多的关注正则化项,可能会导致过拟合,降低生成数据的多样性。
7. Regularizing generative adversarial networks under limited data
(2021,R_LC)在有限数据下正则化生成对抗网络_EDPJ的博客-CSDN博客
7.1 核心思想
有限数据设置下,通过在训练阶段对判别器 loss 添加如下正则化项,使 GAN 模型实现更稳健的训练。
其中,α_R 和 α_F 是指数移动平均变量 ,称为锚点,用于跟踪鉴别器对真实图像和生成图像的预测。
很疑惑的一点,交换公式 4 中 α_R 和 α_F 的位置是否更为合理?因为直观地想法是,鉴别器对真实数据的评估应该接近其对真实图像预测。
7.2 分析
该正则化项有助于 GAN 模型实现更稳健的训练。如图 8 所示,随着训练的进行,鉴别器的预测逐渐收敛到固定点,移动平均变量 α_R 和 α_F 也是如此。
实验结果表明,随正则化项的权重的增加,模型性能先增后减,如图 7 所示。这是因为,该正则化项与 LeCam 散度相关,该散度限制正则化权重不宜过大。而直观地理解是,由于训练数据有限,权重过大时,容易发生过拟合。
另一方面,当模型参数过多时,也容易发生过拟合,造成性能下降,如图 7 所示。
8. Large scale gan training for high fidelity natural image synthesis
(2018, BigGAN)用于高保真自然图像合成的大规模 GAN 训练_EDPJ的博客-CSDN博客
8.1 核心思想
BigGAN 的架构如图 15 所示。本文的核心思想是,更大的 batch 以及模型规模(更多的参数),可以带来更好的性能。然而,随着模型规模的扩大,训练的不稳定性也越发明显。
8.2 解决办法(谱归一化)
谱归一化,它通过使用第一个奇异值的动态估计对其参数进行归一化,在 D 上强制执行 Lipschitz 连续性,从而引入自适应正则化最大奇异方向的 backwards dynamics。
对生成器的权重谱研究发现,虽然调节 G 可能会提高稳定性,但不足以确保稳定性。
对鉴别器的权重谱研究发现,虽然可以通过强烈约束 D 来加强稳定性,但这样做会导致性能上的巨大代价。可行的办法是,放松这种约束并允许在训练的后期阶段发生崩溃,然后使用早停来实现更好的最终性能。
此外,作者认为,D 在记忆训练集符合 D 的作用,因为 D 的作用不是明确地泛化,而是提取训练数据并为 G 提供有用的学习信号。
我认为,这种说法是合理的。记忆与泛化,其实是并不冲突的。D 记忆训练集,则对训练集的样本,D 应该做出来趋于完美的判决。但与此同时,D 还应具有一定的泛化能力,即对于不属于训练集的样本,D 也需要做出正确的判断。
8.3 其他贡献
截断。作者使用截断实现生成多样性和保真度的权衡。
具体做法是,在训练时,从截断的分布(例如,正态分布)中对 z 进行采样(其中超出范围的值被重新采样以落在该范围内)。
然而,一些较大模型不适合截断,在输入截断噪声时会产生饱和伪影。为解决问题,作者使用正交正则化,通过将 G 调节为平滑来增加截断的适用性。
BigGAN-deep。对于 BigGAN,增加每层的宽度(通道数)可以大幅度提升性能。而增加深度并没有带来改进。为解决这个问题,作者提出了 BigGAN-deep,它使用了不同的 residual 块结构。
9. A Style-Based Generator Architecture for Generative Adversarial Networks
(2019, StyleGAN)用于 GAN 的基于样式的生成器架构_stylegan生成器_EDPJ的博客-CSDN博客
9.1 核心思想
本文基于风格迁移提出了一个新的生成器,如图 1 所示。该生成器可以在保留高级属性(例如,在人脸上训练时的姿势和身份)的同时,使生成图像产生随机变化(例如,雀斑、头发)。
9.2 分析
生成器的结构。该生成器移除了传统生成器的输入层,把采样于隐空间 Z 的隐编码 z 输入非线性映射网络(例如:MLP)获得中间隐空间 W 的隐编码 w。再把隐编码通过学到的仿射变换 A,获得风格 y = (y_s, y_b)。再用 y 输入(控制)生成网络每个卷积层的 AdaIN。
风格 y 控制高级属性(例如,在人脸上训练时的姿势和身份)的生成。由于输入的噪声是随机采样的,所以会使生成图像产生随机变化 (例如,雀斑、头发),但不会对高级属性产生影响。
9.3 其他贡献
W 空间的属性解耦。作者表明,W 空间的的各个属性是局部的(解耦的),即,改变一个属性并不会对其他属性产生影响。这是由于非线性映射器的作用,使 Z 空间中相互纠缠的属性在 W 空间中分离。
解耦性使得基于 W 空间的插值和图像编辑更容易实现。
当隐空间 W 充分解耦时,其中相邻的属性(区域)可以使用一个超平面分隔开。“Interpreting the Latent Space of GANs for Semantic Face Editing” 一文就是对此的进一步研究。
感知路径长度。基于感知的成对图像距离,计算为两个 VGG16 embedding 之间的加权差异,其中权重是合适的,因此度量与人类感知相似性判断一致。 如果将隐空间插值路径细分为线性段,可以将此分段路径的总感知长度定义为每个段的感知差异之和。
隐空间越扭曲(特征的不同纬度相互耦合),例如 Z 空间,感知路径长度越大,反之亦然,例如 W 空间。
10. Analyzing and Improving the Image Quality of StyleGAN
(2020,StyleGAN2)分析和提高 StyleGAN 的图像质量_EDPJ的博客-CSDN博客
10.1 核心思想
由 StyleGAN 生成的图像存在伪影,作者发现这是由生成网络的中的 AdaIN 引起的。通过修改生成器的网络结构,把 AdaIN 转化为调制 / 解调操作,该问题被解决。
10.2 网络结构
生成器结构更改的过程如图 2 所示,a → d 显示的是从 AdaIN 转化为对风格进行调制(公式 1)和解调(公式 3)的过程。
10.3 其他贡献
惰性正则化。损失函数通常为主要损失函数加正则化项的形式,在实现时,可以在多次优化主要损失函数的同时只优化一次正则化项。该方法不会对结果造成影响,但是可以大大降低计算成本和整体内存使用量。
路径长度正则化。正则化项如公式 4 所示,其中 W 和 Y 分别表示隐空间和图像空间,J 表示雅克比矩阵。当图像 y 的隐空间任一点对各个方向(属性)的梯度相等时,该正则化项取最小值。
基于 II2S 一文可知,当属性相互解耦时,隐空间的多元分布近似于一个超球体,在球体表面,任一点对各个方向(属性)的梯度相等。
基于 StyleGAN 一文可知,属性解耦程度越高,隐空间越不扭曲,感知路径长度越短。
替代渐进式增长。在渐进式增长中,每个分辨率都会暂时用作输出分辨率,迫使它生成最大频率细节,然后导致经过训练的网络在中间层中具有过高的频率,从而导致移位不变性(例如,虽然头部姿态改变,但是牙齿在图中的相对位置并没有改变)。
如图 7 所示,可以使用 skip connection 和 residual networks 替代渐进式增长,从而生成高质量图像。
图像溯源。如图 10 所示,对于图像与其投影图像的 LPIPS 距离分布,真实图像的整体数值大于生成图像的整体数值。相比于 StyleGAN,经由 StyleGAN2 生成的图像的差异更明显,更适合进行溯源。
11. Alias-Free Generative Adversarial Networks
(2021,StyleGAN3)无失真(Alias-Free)生成对抗网络_EDPJ的博客-CSDN博客
11.1 核心思想
在现实世界中,不同尺度的细节倾向于分层变换。 例如,移动头部会导致鼻子移动,进而移动其上的皮肤毛孔。 对于典型的 GAN 生成器:粗特征主要控制更精细特征的存在,而不是它们的精确位置。 相反,许多细节似乎都固定在像素坐标中。从而造成像素混叠 / 图像失真。
像素混叠 / 图像失真的两个来源:
- 由非理想的上采样滤波器(例如最近邻、双线性的或跨步的卷积)带有的拖尾导致的像素混叠
- 非线性的逐点应用,例如 ReLU 或 swish。连续域中应用 ReLU 可能会引入无法在输出中表示的任意高频。
解决办法将:参考 Nyquist–Shannon 采样定理消除失真的办法,把对图像(连续域)的操作(生成图像相对于原始图像的平移或旋转)转移到频域(离散域)中操作,消除所有位置参考源,使得精细特征能随着粗特征的变换而改变(等变)。
11.2 网络结构
StyleGAN3 的结构如上图所示,生成网络的输入是傅里叶特征。
上采样,把离散采样与 0 交织,然后与离散滤波器卷积。
下采样,对连续 representation 进行低通滤波以去除高于输出带宽限制的频率,以便信号可以忠实的重建。
12. Training generative adversarial networks with limited data
(2020,ADA)用有限的数据训练生成对抗网络_EDPJ的博客-CSDN博客
12.1 核心思想
为了解决用于训练 GAN 的数据少的问题,作者提出了一种新的数据增强方式:自适应鉴别器增强(adaptive discriminator augmentation,ADA)。相比于现有的数据增强方式,该方法研究如何避免把增强泄漏到生成数据中。
作者发现,当增强的数据出现的概率 p < 1,即有 1-p 的概率用于训练的是未增强的数据时,有可能避免把增强泄漏到生成数据中。对于不同的数据集大小,这个 p 值不是固定的,所以 ADA 就是基于训练,自适应的找出合适的 p。
12.2 方法
分别用 D_train、D_validation 和 D_generated 表示训练集、验证集和生成图像的鉴别器输出,以及它们在 N 个连续 minibatch 上的均值用 E[·] 表示,则有
对于 r_v 和 r_t,r = 0 表示没有过拟合,r = 1 表示完全过拟合。控制方式如下:将 p 初始化为零,并根据过拟合程度每四个 minibatch 调整一次 p 值。 如果过拟合太多/太少,将 p 递增/递减固定量。我们设置调整大小,以便 p 可以足够快地从 0 上升到 1。上升到 1 之后,把 p 置为 0。
12.3 其他贡献
作者对真实数据、生成数据以及生成器使用数据增强,这要求这些增强对生成器和鉴别器是可鉴别的。另一篇论文,可鉴别数据增强(Differentiable Augmentation,DA)就是对本贡献的进一步研究(消融实验)。
以某个概率 p 执行数据增强可以理解为:增强模块生效的概率是 p。
- 当 p=0 时,训练时未使用数据增强。不能解决数据有限的问题。
- 当 p=1 时,完全使用增强的数据进行训练。模型未见过真实数据,从而使增强泄漏到生成数据中,即生成器学习到了(可能只是一部分)增强的数据分布。(DA 的研究结果与此矛盾,存疑)
12.4 相关内容分析
“随机化是针对每个增强和 minibatch.中的每个图像单独完成的。 鉴于流程中有许多增强,即使 p 值相当小,鉴别器也不太可能看到完全干净的图像。 尽管如此,只要 p 保持在实际安全门限以下,生成器就会被引导只生成干净的图像。”
这是本文中的一段内容,DA 一文对可以生成干净图像做出了解释:使用可鉴别增强使生成器学到的是真实数据的分布,而不是增强数据的分布。
13. Differentiable augmentation for data-efficient gan training
(2020,DA)用于数据高效 GAN 训练的可鉴别数据增强(Differentiable Augmentation)_EDPJ的博客-CSDN博客
13.1 核心思想
本文是对自适应鉴别器增强(adaptive discriminator augmentation,ADA)一文中提出的、用于提升数据有限时 GAN 的性能的、可鉴别数据增强(Differentiable Augmentation,DiffAugment)的进一步研究(消融实验)。结果表明,需要同时对真实数据、生成数据以及生成器进行增强。
13.2 网络结构
DiffAugment 网络结构如上图所示。
- 固定 G,鉴别器学习对变换后真实数据有高鉴别分数,对生成数据有低鉴别分数。
- 固定 D,生成器学习生成经过变换后能骗过鉴别器的图像。
变换 T 必须是相同的(随机)函数,但在上图所示的三个位置不一定是相同的随机变换(例如,平移、剪切、颜色变换)。
13.3 分析
如果只增强真实数据,则生成器学习到的分布式是经过变换的真实图像分布。
如果只增强鉴别器(增强真实数据和生成数据),则生成器学习到的是生成未经变换的的数据来骗过鉴别器。这会打破生成器与鉴别器的平衡,导致收敛性差,从而使性能恶化,因为它们正在优化完全不同的目标。
因此,需要同时对真实数据、生成数据以及生成器进行增强。
14. Masked Generative Adversarial Networks are Data-Efficient Generation Learners
(2022,MaskedGAN)掩蔽的生成对抗网络是数据高效生成学习者_EDPJ的博客-CSDN博客
14.1 核心思想
为了在训练数据有限时,稳健的进行图像生成学习器,本文提出了掩蔽的生成对抗网络 (MaskedGAN) 。 MaskedGAN 的思想很简单:随机屏蔽掉某些图像信息。
作者开发了两种沿掩蔽策略:
- 移位空间掩蔽,它在空间维度上用随机移位掩蔽图像。
- 平衡谱掩蔽,它用自适应概率掩蔽某些图像谱带。
- 这两种方法是正交的(空间维度和谱维度),可以同时用于提升模型性能。
其中 M(·) = M_spectral ( M_spatial(·)) 是偏移空间掩蔽和平衡谱掩蔽的组合。
14.2 流程
空间移位掩蔽:它通过随机移位在空间维度上掩蔽图像。 直观地,沿空间维度的随机掩蔽强制鉴别器学习所有图像位置,而不是仅仅关注易于区分的位置。
相比于不需要高精度空间维度的 MAE(把图像块编码为特征向量,块内像素被认为是相同的,mask 只出现在图像的固定位置),GAN 需要高保真的重建图像,因此需要随机移位来学习所有图像位置。
平衡谱掩蔽:将图像分解为谱空间中的多个波段,并以自适应概率掩蔽部分谱带。 沿谱维度的随机掩蔽鼓励鉴别器学习难以区分的波段(例如,捕捉形状和结构的高频波段),而不是主要学习简单波段(例如,捕捉颜色和亮度的低波段)。
图像内容通常沿谱维度分布不均匀:在低频段周围分布非常密集,但在高频段非常稀疏。因此,谱维度的均匀掩蔽是不平衡的并且不能很好地用于图像生成。所以需要自适应掩蔽策略。平衡谱掩蔽将图像分解为谱空间中的多个波段,并以自适应概率掩蔽一部分谱带,即如果一个谱带包含更多(或更少)的内容,则以更高(或更低)的概率被掩蔽。
先使用傅立叶变换把图像分解为多波段 representation,每个波段内容在所有波段内容之和中的占比就是该波段内容被掩蔽的概率。
14.3 分析
应用于生成器和鉴别器。
应用随机空间和谱掩蔽迫使鉴别器学习更全面的信息,而不是仅关注易于区分的图像位置和谱。
这两种掩蔽策略用于生成器。 不同的是,在生成器端,两个操作通过稀疏化从鉴别器反向传播的训练信号来作用于输出。 这种设计通过保持判别器和生成器的相似学习速度来减慢生成器学习并稳定整体对抗性学习。 它确保 MaskedGAN 在特定条件下可以收敛到局部纳什均衡。
与 ADA 和 DA 中的 cutout 的区别。掩蔽也可以被看作是一种数据增强方式。与 cutout 的区别在于
- 首先,如果在没有 padding 的情况下进行 “cutout ”,它会以较高的概率掩蔽中心位置/像素,同时以较低的概率掩蔽边缘位置/像素,从而导致图像掩蔽偏差和图像生成质量下降。
- 其次,如果用 padding 进行 “cutout ”,它可以以相同的概率屏蔽每个位置,但是它的屏蔽比率不固定且不稳定,即,当 cutout mask 从中心位置移动到角落位置时,整体屏蔽比率从 p_mask(cutout 大小与整个图像之间的比率)下降到 0,这可能会使整体训练不稳定并导致性能下降。
15. FreGAN_Exploiting Frequency Components for Training GANs under Limited Data
(2022,FreGAN)利用频率分量在有限数据下训练 GAN_EDPJ的博客-CSDN博客
15.1 核心思想
为了提高数据有限情况下 GAN 的合成性能,作者考虑使用图像的频率信息。
GAN 在拟合数据分布时,往往倾向于拟合低频信息(例如,颜色和亮度)而忽略高频信息(边缘等精细细节)。
本文提出了一种称为 FreGAN 的频率感知模型,以提高 G 和 D 的频率感知能力。通过鼓励 G 生成更合理高频信号,从而提高合成性能。
15.2 方法
FreGAN 的总体框架如上图所示。先利用 Haar 小波变换将特征分解为不同的频率分量。 然后,使用高频鉴别器 (HFD) 和跳频连接 (FSC) 分别提高 D 和 G 的频率意识,并使用高频对齐 (HFA) 进一步引导 G 合成合理的频率信号。
小波变换。与在图像级别使用的传统小波变换不同,作者对 D 和 G 的中间特征执行它。
高频鉴别器(HFD)。从频域区分真实图像和虚假图像,如公式 1 和 2 所示。(对于公式 2,我认为因为作者的失误,而少添加一个负号)
随着网络的加深,D 可能会避开高频信息,因此需要在鉴别器的多层上执行多尺度 HFD,保证有限数据中频率信息被充分挖掘和利用,进一步提高 D 的频率感知能力。
跳频连接(FSC)。GAN 从低频到高频拟合频率信号,随着网络的加深,高频信号可能会被忽略。为了防止高频信息的丢失并进一步鼓励生成器产生丰富的细节,提出了跳频连接(FSC)。
具体操作是,把 G 每一层重建的频率表示(representation)送入的下一层。
高频对齐(HFA)。G 可以合成任意频率信号,为引导 G 利用频率信息,为损失函数添加如下正则化项,使用 D 中间特征频率表示的高频分量监督 G 生成合理的中间特征频率表示的高频分量。
与 HFD 类似,同样在多层上执行多尺度 HFA。
15.3 优化
基础损失函数如公式 5 和 6 所示。
还使用重建损失来鼓励鉴别器提取更具代表性的特征。
其中,f 是 D 的中间特征,G 和 T 表示对特征 f 和输入图像 x 的处理。 判别器和生成器分别通过以下方式优化,每个损失的系数设置为1。
16. High-frequency Component Helps Explain the Generalization of Convolutional Neural Networks
(2020,高频泛化)高频成分有助于解释卷积神经网络的泛化_EDPJ的博客-CSDN博客
16.1 核心思想
本文研究图像频谱与 CNN 泛化能力之间的关系。作者认为,CNN 的非直觉泛化行为是人类与模型之间感知差异的直接结果:CNN 可以捕捉到人类无法察觉的高频分量。
16.2 研究方法
结合使用傅里叶变换和滤波器,获得图像的低频分量(LFC)和高频分量(HFC)。然后,使用傅里叶逆变换对分量进行重建,使用这些重建图像作为测试集验证模型的精度。
请注意,傅里叶变换或其逆变换可能会引入复数。在本文中,简单地丢弃了傅里叶逆变换结果的虚部,以确保生成的图像可以像往常一样输入 CNN。
16.3 分析
研究表明,CNN 更喜欢学习恰好与人类感知偏好一致的 LFC。虽然有解释表明神经网络倾向于更简单的功能,但作者推测这是因为,由于数据集是由人类组织和注释的,因此数据集中 低频-标签 组合比 高频-标签 组合更“普遍”。
本文我赞同的一段话“最后,我们想提出一个问题:LFC 中的网络偏好与人类感知偏好之间的巧合,可能是许多技术在攀登最先进阶梯的过程中,发明的 “幸存偏差” 的简单结果。 换句话说,神经网络近 100 年的发展过程就像技术的 “自然选择”。 幸存下来的想法可能恰好符合人类的喜好,否则可能会因为爬梯不力而连发表都不能。”
16.4 启发式
作者研究不同启发式对泛化性能的影响。这里只列出来影响显著的两个。
Batch 大小。较大的 batch 有较小的泛化差距,而此时,模型学到的高频成分并不多。观察到的关系是直观的,因为一旦模型表现得像人一样(注释数据的是人,人无法观察高频成分),就会实现最小的泛化差距。
BatchNorm。 在有 BatchNorm 的条件下,模型可以利用更多的高频成分。BatchNorm 的优势之一是通过归一化来对齐不同预测信号的分布差异。 例如,HFC 通常显示出比 LFC 更小的幅度,因此在没有 BatchNorm 的情况下训练的模型可能不容易拾取这些 HFC。
16.5 稳健性与卷积核平滑度
稳健性强的模型往往具有平滑的卷积核。如果模型通过高频分量进行预测,那么对高频分量的微小扰动就会对模型结果产生巨大影响。
如果卷积核是“光滑”的,即相邻权重之间没有剧烈波动,则相应的频域将看到可以忽略不计的高频信号。
使用平滑的卷积核,虽然会影响模型精度,但是可以提升稳健性。
17. Prototype Memory and Attention Mechanisms for Few Shot Image Generation
(2022,MoCA)Few-shot 图像生成的原型记忆(Prototype Memory)和注意力机制_EDPJ的博客-CSDN博客
17.1 核心思想
人类的大脑中存在记忆原型(概念 / 特征,例如:人脸)的神经元簇,例如,“祖母神经元” 记忆祖母,“父亲神经元” 记忆父亲。
受该研究启发,本文提出了记忆概念注意力(Memory Concept Attention,MoCA),用于提高 few-shot 图像生成质量。MoCA 只是一个模块,可以插入到 GAN 框架中任何现存的生成器架构层中。
这些记忆原型是通过动量在线聚类(momentum online clustering)学习的,并通过基于记忆的注意力来利用。
17.2 方法
基于原型的记忆调制模块如上图所示,模块的输入 A 是 GAN 分层结构的特征图。使用如下函数把输入转换到低维空间,三项地输出分别对应于 attention 中的 query、key、value。
原型记忆学习。Key Φ(·) 通过动量更新距离其最近的语义簇的记忆库中的原型。
记忆概念注意力(MoCA)。Query 通过余弦相似度选择记忆的距离最近的语义单元(一组原型单元的聚类均值)。相似性分数经 softmax 归一化之后,作为权重对该最近的语义单元加权,获得加权的记忆单元矩阵
空间上下文注意力(self-attention)。计算 query θ(A) 和 key Φ(A) 之间的亲和力图(相关度),对其使用softmax 归一化后,作为权重对 key Φ(A) 进行加权,获得空间上下文调制张量
整合两条路径。最后,我们通过逐元素加法整合记忆 H_m 和空间上下文调制 H_s
然后通过 1x1 卷积 O(·) 将 H 从 embedding 空间转换回原始特征空间。 一个可学习的参数 γ 作为权重,加权后加回到输入激活中,即
然后输出到生成器的下一层。
17.3 限制
当底层数据集的多样性较低且基础网络相当大时,MoCA 缓存的概念可能会在生成过程中造成更多干扰,从而导致性能下降。
17.4 概念簇分析
不同簇的 pattern 通常具有语义意义并且非常不同,即不同的簇存储不同的概念。
通过将图像分解为关于 top-3 簇(基于特征图中每个像素与原型的亲和力)的不同二进制掩码,作者发现,对于大多数图像,前 2 个簇的概念通常与前景和背景信息相关,而第三个簇包含与图像中的高频细节相关的概念。这表明,使用 MoCA,图像合成也可以被视为从记忆中检索不同概念并将它们组合在一起以创建逼真的图像的过程。
18. Towards faster and stabilized gan training for high-fidelity few-shot image synthesis
(2021,FastGAN)用于高保真 few-shot 图像合成的更快、更稳定的 GAN 训练_EDPJ的博客-CSDN博客
18.1 核心思想
为了减小 GAN 的 few-shot 图像合成的计算成本,作者提出一种轻量化 GAN 结构(FastGAN),包含:一个跳跃层通道激励模块(skip-layer channel-wise excitation module,SLE),一个作为特征编码器的自监督鉴别器。这两种技术都需要对普通 GAN 进行微小改动,从而通过理想的即插即用特性增强 GAN 的实用性。
FsatGAN 使用更小的模型(更少的参数)获得与 StyleGAN2 相比优越的性能,且收敛也更快。
18.2 模块架构
跳跃层通道激励 SLE(G)。该模块定义为:
它利用低尺度特征(激活,activation)来修改高尺度特征图上的通道响应。其中,x 和 y 分别是模块的输入和输出特征图。函数 F 包含对 x_low 的操作,Wi 表示要学习的模块权重。
自监督鉴别器(D)。模块结构如图 4 所示。将 D 视为编码器并用解码器对其进行训练。 这种自动编码训练迫使 D 提取图像特征,解码器用该特征良好重建。 解码器与 D 一起优化重建损失,它只在真实样本上训练:
其中 f 是来自 D 的中间特征图,函数 G 包含对 f 和解码器的处理,函数 T 表示对来自真实图像 I_real 的样本 x 的处理(例如,裁剪。但不限于此)。
18.3 Loss
18.4 分析
SLE 与 ResBlock 的区别。
- 相比于 ResBlock 将 skip-connection 实现为来自不同 conv 层的激活之间的逐元素加法(要求激活的空间维度相同),SLE 使用逐通道乘法,从而消除了繁重的卷积计算。
- 相比于 skip-connection 仅在同一分辨率内使用。SLE 在更大范围(例如,8x8 和 128x128、16x16 和 256x256)的分辨率之间执行跳跃连接,因为不再需要相等的空间维度。
SLE 与其他技术的关系。
- SLE 中的通道乘法与实例规范化(Instance Normalization)吻合,后者广泛用于风格迁移(style-transfer)。
- SLE 像 StyleGAN 一样,使 G 能够自动分离内容(低级特征)和风格(高级特征)。
自监督鉴别器与自动编码(AE)的区别。
- AE 在从 D 学习到的隐空间上训练 G 作为解码器,或者把 D 的对抗训练作为 AE 训练之外的补充损失。
- 本文的模型是一个纯 GAN,具有更简单的训练模式,自编码训练只对 D 进行正则化,不涉及G。
19. Generalized One-shot Domain Adaptation of Generative Adversarial Networks
(2022,实体迁移)GAN 的通用 one-shot 域自适应_EDPJ的博客-CSDN博客
19.1 核心思想
作者认为从源域到目标域的适应可以分为两部分:全局风格(纹理和颜色等)的迁移,以及属于目标域的新实体(帽子、眼镜等配饰)的生成。采用二进制掩码(0/1 mask)的方法辅助实体生成。
作者提出了一个新颖简洁的框架来解决风格和实体迁移的通用 one-shot 域自适应任务。
作者通过 Sliced Wasserstein 距离(SWD)来限制参考和合成的内部分布之间的差距。单个图像的内部 patch 分布包含丰富的意义。
作者使用变分拉普拉斯正则化实现跨域对应。
19.2 网络架构
本文使用的模型架构如上图所示,作者在生成器中添加了一个辅助网络(aux),用于对参考图像的实体进行二进制掩码(标记实体位置)操作。
19.3 LOSS
本文使用的完整 loss 函数如公式 3 所示。
重建损失 L_rec。重建损失由公式 4 表示。该损失由参考图像与其在目标域的重建图像(通过隐空间 W)之间的负结构相似性度量(negative structural similarity metric)、感知损失 lpips、以及参考图像与其在目标域的上采样重建掩码之间的均方误差组成。
- 第一项是为了使经由相同的隐编码 w 重建的图像具有相似的结构,从而保证参考图像与其在源域的重建图像 x_rec 有相似的结构。
- 第二项用于缩小参考图像与重建图像的差异。
- 第三项用于正确标注实体位置。
风格损失 L_style。风格损失由公式 6 表示。Wasserstein 距离 (SWD) 用于最小化合成图像和参考图像的内部分布的差异。Φ_style 是一组来自预训练 l_pips 网络的卷积层,用于提取空间特征。
生成器学习掩码图像 ^y_rec 的样式而不是 y_ref 的样式,以防止实体的样式泄漏到其他区域。
实体损失 L_ent。实体损失由公式 7 表示,它促使掩码后的重建图像与生成图像相似。
变分拉普拉斯正则化 L_VLapR。变分拉普拉斯由公式 9 表示。
Φ 用于提取空间特征。在等式 9a 中,如果 w_i 和 w_j 在隐空间中很接近,w_(i,j) 将是一个大标量,促使
相同。 这意味着自适应前后相邻合成图像的相对距离在特征空间中是等距的。最小化 L_VlapR 期望源域生成器 G_s 和目标域生成器 G_t 跨隐空间 W 的合成具有平滑的语义差异。
20. Improving GANs with A Dynamic Discriminator
(2022,DynamicD)使用动态鉴别器改进 GAN_EDPJ的博客-CSDN博客
20.1 核心思想
在 GAN 训练过程中,虽然真实数据分布保持不变,但由于生成器的更新,合成分布不断变化,从而使判别器的二分类任务产生相应的变化。
对此,作者提出了动态鉴别器(DynamicD),如图 2 所示。
- 当数据充足时,逐渐增大鉴别器网络的宽度,从而避免欠拟合;
- 当数据不足时,逐渐减小鉴别器网络的宽度,从而避免过拟合。
20.2 具体操作
数据充足。应逐渐增大网络容量。从一个相对小的网络(原始网络的子集,例如,一半)开始训练,每几次迭代添加 αM 个新初始化的神经元,扩展系数 α 可以从 0.5 到 0 变化,M 为初始(小)网络的宽度。最大的网络与原始网络一致。
数据不足。应逐渐减小网络容量。通过随机删除一些神经元,来减小网络宽度。收缩系数 β 从 1.0 开始,然后逐渐下降到 0.5。
与增加容量不同,作者发现减少所有层会使训练不稳定,尤其是通常包含较少神经元的较低层。 因此,作者排除了这些低级层的缩减方案。
这种递减方案不同于标准的 Dropout,因为该方法形成了一个 “权重级别” 的 dropout,它由训练 batch 中的所有实例共享,而 Dropout 更像是 “特征级别” 的每个实例正则化器。
缩减策略不仅缩小了网络宽度,而且在一定程度上通过随机删除引入了多个鉴别器。分析表明,来自各种鉴别器的 representations 可以相互补充,防止严重记忆某种模式,即大大减轻过拟合问题。
20.3 分析
相比于基线模型(例如,StyleGAN2),本方法可以稍微加快收敛速度,通常需要更少的时间来达到相同的 FID。直观地理解就是,无论缩减还是扩张,需要训练的总参数量都比原模型小。
补充知识
1. 谱归一化(spectral normalization)
1.1 理论依据
利普希茨连续性(Lipschitz continuity)是形容一个函数“好”的特性。以一维函数为例,如果该函数是利普希茨连续的,那我我们可以找到一个圆锥体,以函数图像上每个点为中心的圆锥体,都使函数图像位于该圆锥体之外。如下图所示,
如果一个一维函数是可微的,那么它的利普希茨常数(Lipschitz constant)K是其导数的最大值。利普希茨连续性要求K是有界量,这就限制了鉴别器的梯度,从而解决了gradient descent过程中梯度爆炸的问题。
一般可微函数的利普希茨常数是其最大奇异值(largest singular value)或谱范数(spectral norm)。
谱归一化的前提是:对于任意多层的鉴别器(可能是线性映射与非线性分量的复合函数),可以找到利普希茨常数或者其上界。
1.2 算法
随机初始化两个向量,令网络权重,其中,是W的最大奇异值,计算它的操作叫做power iteration,操作如下:
经过多次迭代,将收敛为W的特征向量。
该算法相比于梯度下降,计算量很小。
1.3 参考
Spectral Normalization for GAN - 知乎
Spectral Normalization Explained
Miyato T, Kataoka T, Koyama M, et al. Spectral normalization for generative adversarial networks[J]. arXiv preprint arXiv:1802.05957, 2018. 下载地址:[1802.05957] Spectral Normalization for Generative Adversarial Networks (arxiv.org)
2. 特征融合(Fusion)
在深度学习的很多工作中(例如目标检测、图像分割),融合不同尺度的特征是提高性能的一个重要手段。低层特征分辨率更高,包含更多位置、细节信息,但是由于经过的卷积更少,其语义性更低,噪声更多。高层特征具有更强的语义信息,但是分辨率很低,对细节的感知能力较差。如何将两者高效融合,取其长处,弃之糟泊,是改善分割模型的关键。
很多工作通过融合多层来提升检测和分割的性能,按照融合与预测的先后顺序,分类为早融合(Early fusion)和晚融合(Late fusion)。
- 早融合(Early fusion): 先融合多层的特征,然后在融合后的特征上训练预测器(只在完全融合之后,才统一进行检测)。这类方法也被称为skip connection,即采用concat、add操作。这一思路的代表是Inside-Outside Net(ION)和HyperNet。两个经典的特征融合方法:
- concat:系列特征融合,直接将两个特征进行连接。两个输入特征x和y的维数若为p和q,输出特征z的维数为p+q;
- add:并行策略,将这两个特征向量组合成复向量,对于输入特征x和y,z = x + iy,其中i是虚数单位。
- 晚融合(Late fusion):通过结合不同层的检测结果改进检测性能(尚未完成最终的融合之前,在部分融合的层上就开始进行检测,会有多层的检测,最终将多个检测结果进行融合)。这一类研究思路的代表有两种:
- feature不融合,多尺度的feture分别进行预测,然后对预测结果进行融合,如Single Shot MultiBox Detector (SSD) , Multi-scale CNN(MS-CNN)
- feature进行金字塔融合,融合后进行预测,如Feature Pyramid Network(FPN)等。
参考:盘点目标检测中的特征融合技巧(根据YOLO v4总结) - 知乎 (zhihu.com)
3. 反卷积
反卷积的英文:Deconvolution、Transposed Convolution 或 Fractional-strided Convolutions。
反卷积是从低分辨率映射到大分辨率的过程,用于扩大图像尺寸。
反卷积是一种特殊的正向卷积,而不是卷积的反过程。
反卷积的具体操作:为输入大小为 n*n 的图像的相邻像素之间添加 n-1 个零元素,则获得大小为 (2n-1)*(2n-1)的图像。对该图像进行常规卷积操作即可。
4. 仿射变换(Affine)
以矩阵乘法(线性变换)和向量加法(平移变换)的形式表示的一种变换。
可以用仿射变换来表示:旋转(线性变换)、尺度变化(线性变换)、平移(向量加法)
5. 白化(Whitening)
Whitening 的目的是去掉数据之间的相关联度,是很多算法进行预处理的步骤。比如说当训练图片数据时,由于图片中相邻像素值有一定的关联,所以很多信息是冗余的。这时候去相关的操作就可以采用白化操作。数据的 whitening 必须满足两个条件:一是不同特征间相关性最小,接近0;二是所有特征的方差相等(不一定为1)。常见的白化操作有PCA whitening和ZCA whitening。
PCA whitening 是指,将数据 x 经过 PCA 降维为 z 后,可以看出 z 中每一维是独立的,满足whitening 的第一个条件。此时,只需要将 z 中的每一维都除以标准差就得到了每一维的方差为1,也就是说方差相等。
ZCA whitening 是指数据 x 先经过 PCA 变换为 z,但是并不降维,因为这里是把所有的成分都选进去了。此时,也同样满足 whtienning 的第一个条件,特征间相互独立。然后同样进行方差为 1 的操作,最后将得到的矩阵左乘一个特征向量矩阵 U 即可。