深度卷积对抗神经网络 基础 第七部分 StyleGAN
深度卷积神经网络模型已经应用在非常多的领域,但是其总包含了很多潜在的问题,比如说训练速度过慢,生成器与判别器的进化程度不平衡等等。那么,随着各种方法和算法的普及和进化,其解决的方法也越来越多,那么styleGAN就是其中的一个非常有趣的模型,
2018 年 12 月,Nvidia 研究人员分发了一份预印本以及介绍 StyleGAN 的配套软件,这是一种用于生成无限数量(通常令人信服)的假人脸肖像的 GAN 。StyleGAN 能够在 Nvidia 的商用 GPU 处理器上运行。
发展现状
- 稳定性 Stability 方面:longer training and better images
- 通过Batch standard deviation 来加强diversity。
- 通过加强1-Lipschitz continuity来加强收敛稳定性。
- 通过将不同生成器生成的结果进行加权平均,移动平均的方式来进行。
- 容量 Capacity 方面: larger models and higher resolution images
- 更高的分辨率
- 更加细节的图片
- 多样性 Diversity: increasing variety in generated images
StyleGAN
Style在这里指的是特性化,包括早期的特征比如说脸型等等,以及后期的特征比如说头发的精细度等等。
传统的生成器一般如下所示,主要是输入一个噪声向量,模型通过这个输入来生成一些图片。
但是相反地,对于Style-Based 的生成器,其将噪声信号输入后,需要先进入一个特征匹配神经网络,然后输出一个中间噪声向量,其指定了所有的特征,并且尽量地去除特征之间的耦合并输入到生成器中。
渐进增长 Progressive Growing
通过卷积和反卷积的方式去增加和减少像素数量,通过这样的方式去定义多个生成器和鉴别器,这样渐进型的训练方式可以加强信息的稳定性。
噪声匹配网络 Noise Mapping Network
噪声匹配网络会将初始网络的复杂纠缠特征转换输出为可靠的,可解耦的,存在对应关系的噪声向量。我其实暂时也不太理解为什么或者如何可以进行解耦的操作,但是通过一些全连接层FC便可以实现。
自适应实例规范化 Adaptive Instance Normalization (AdaIN)
Adaptive Instance Normalization是一种将内容特征的均值和方差与样式特征的均值和方差对齐的归一化方法。
Instance Normalization normalizes the input to a single style specified by the affine parameters. Adaptive Instance Normaliation is an extension. In AdaIN, we receive a content input x and a style input y, and we simply align the channel-wise mean and variance of x to match those of y. Unlike Batch Normalization, Instance Normalization or Conditional Instance Normalization, AdaIN has no learnable affine parameters. Instead, it adaptively computes the affine parameters from the style input:
其主要通过归一化方法来进行,其将噪声信息转化为特征信息并输入到模型中,并且其和batch normalization也不同,其主要对每一个实例进行正交归一化。个人理解中,其主要就是进行了输入图像数据和特征数据的对其工作。
而越早的生成器决定一些比较大的特征,比如说脸型,头型。而越晚的生成器则主要生成一些细节的特征,比如说头发的疏密,毛孔的大小之类的。
特征混合 & 随机噪声 Style Mixing & Stochastic Noise
Style Mixing 指的是将多个随机噪声混合地输入到每个生成器中,然后通过渐进地放入不同噪声的方式去得到特征的混合,但是又不会太过突兀,而是保留了多方的特征,并生成相对可观的结果。
而当upsample的时候,加入随机噪声会增加生成图片的微小细节变化。
最后的模型结构
最后的模型结构如下图所示,具体的结构和训练步骤如下所示:
- 生成一个高维度随机噪声z,并准备好训练的图片集
- 噪声通过多个全连接层来进行特征的提取和识别,并输出解除纠缠特性的噪声w
- 将两个或者多个噪声输入到多层的生成器中去逐渐生成最后的高分辨率图片
- 通过卷积操作将生成好的图片逐渐地与训练的图片集进行比较,并给出每一层的反馈。
- 通过多次优化迭代,寻找到最好的神经网络卷积层参数,使得分数最高,或者损失最低。
参考文献 Reference
1. StyleGAN and Advancements
adain: adaptive instance normalization
batch norm
instance norm
2. (Optional) Components of StyleGAN2
Open Lab
3. Instructions
Please note that this is an optional notebook that is meant to introduce more advanced concepts, if you’re up for a challenge. So, don’t worry if you don’t completely follow every step! We provide external resources for extra base knowledge required to grasp some components of the advanced material.
In this notebook, you’re going to learn about StyleGAN2, from the paper Analyzing and Improving the Image Quality of StyleGAN (Karras et al., 2019), and how it builds on StyleGAN. This is the V2 of StyleGAN, so be prepared for even more extraordinary outputs.
4. (Optional) The StyleGAN Paper
Amazed by StyleGAN’s capabilities? Take a look at the original paper! Note that it may take a few extra moments to load because of the high-resolution images.
A Style-Based Generator Architecture for Generative Adversarial Networks (Karras, Laine, and Aila, 2019): https://arxiv.org/abs/1812.04948
5. (Optional) StyleGAN Walkthrough and Beyond
Want another explanation of StyleGAN? This article provides a great walkthrough of StyleGAN and even discusses StyleGAN’s successor: StyleGAN2!
GAN — StyleGAN & StyleGAN2 (Hui, 2020): https://medium.com/@jonathan_hui/gan-stylegan-stylegan2-479bdf256299
6. Works Cited
All of the resources cited in Course 2 Week 3, in one place. You are encouraged to explore these papers/sites if they interest you! They are listed in the order they appear in the lessons.
From the videos:
- Generative Adversarial Networks (Goodfellow et al., 2014): https://arxiv.org/abs/1406.2661
- Unsupervised Representation Learning with Deep Convolutional Generative Adversarial Networks (Radford, Metz, and Chintala, 2016): https://arxiv.org/abs/1511.06434
- Coupled Generative Adversarial Networks (Liu and Tuzel, 2016): https://arxiv.org/abs/1606.07536
- Progressive Growing of GANs for Improved Quality, Stability, and Variation (Karras, Aila, Laine, and Lehtinen, 2018): https://arxiv.org/abs/1710.10196
- A Style-Based Generator Architecture for Generative Adversarial Networks (Karras, Laine, and Aila, 2019): https://arxiv.org/abs/1812.04948
- The Unusual Effectiveness of Averaging in GAN Training (Yazici et al., 2019): https://arxiv.org/abs/1806.04498v2
- Progressive Growing of GANs for Improved Quality, Stability, and Variation (Karras, Aila, Laine, and Lehtinen, 2018): https://arxiv.org/abs/1710.10196
- StyleGAN - Official TensorFlow Implementation (Karras et al., 2019): https://github.com/NVlabs/stylegan
- StyleGAN Faces Training (Branwen, 2019): https://www.gwern.net/images/gan/2019-03-16-stylegan-facestraining.mp4
- Facebook AI Proposes Group Normalization Alternative to Batch Normalization (Peng, 2018): https://medium.com/syncedreview/facebook-ai-proposes-group-normalization-alternative-to-batch-normalization-fb0699bffae7