GAN(生成对抗网络)
• 基本原理(生成器 & 判别器)
• StyleGAN(人脸生成)
• CycleGAN(无监督图像转换)
1、生成对抗网络GAN
生成对抗网络(GAN)是一种由生成器和判别器两个神经网络组成的框架,通过对抗训练的方式进行图像生成、图像转换等任务。
GAN由lan Goodfellow等人在2014年提出,并迅速成为深度学习领域的重要技术之一。广泛应用于图像生成、风格迁移、图像增强等领域。
2、GAN的设计原理
(1)生成器(Generator):生成器的任务是从随机噪声中生成逼真的数据,如图像、音频等。它尝试模仿真实数据的分布,生成能够以假乱真的数据。
(2)判别器(Discriminator):判别器的任务是判断输入的数据是否为真实数据。它接受生成器生成的数据和真实数据作为输入,输出一个概率值,表示输入数据是“真实的”还是“假”的。
(3)对抗训练过程:GAN的核心思想是通过对抗性训练,生成与判别器彼此之间相互博弈。生成器能够不断地改进生成图像以模拟真实的图像,因而能够达到“欺骗”判别器的过程。而判别器则是通过不断的改进其判断能力,以求最终能够避免被欺骗。最终,经过足够多的训练后,生成器生成的数据将变得无比真实,几乎无法与真实数据之间产生区分。
判别器的目标是最大化其判断正确的概率,通过最大化真实数据和生成数据的对数概率来提高区分能力。
而生成器的目标是最大化判别器判断为真实数据的概率,通过让判别器尽可能认为生成的数据为真实数据,从而“欺骗”判别器。
最终,生成器和判别器的对抗训练过程可以通过博弈论的纳什均衡来理解。在理想情况下,生成器生成的图像将无法被判别器区分为假的图像。
3、StyleGAN人脸生成
StyleGAN是GAN的一种变体,是由NVIDIA提出的一个生成高质量的图像模型。其特别擅长于逼真的人脸图像。StyleGAN的关键创新在于通过“样式”控制图像的不同方面,例如面部特征、背景、颜色等。
4、StyleGAN的设计原理
(1)映射网络:StyleGAN通过引入一个映射网络,将其随机噪声映射到一个高维空间中。然后再将该空间中的向量转递到生成网络中。这个映射过程允许模型学习如何将随机噪声转化为更有意义的图像特征,从而控制图像的不同风格。
(2)生成器结构:StyleGAN生成器不仅接收噪声作为输入,还通过多个层次的样式变换来控制生成图像的每个细节。
(3)渐进式生长:StyleGAN在训练过程中使用渐进式生成的方式。先生成低分辨率图像,然后逐步增加分辨率直到生成高分辨率的图像。
5、CycleGAN无监督图像转换
CycleGAN一种用于无监督图像转换的GAN模型。不依赖于成对的训练数据而能够进行未匹配的图像转换。例如将夏季的风景转换为冬季的风景或将马转换为斑马的照片。
6、CycleGAN的设计原理
CycleGAN基于生成对抗网络但引入了循环一致性损失函数,以确保从一个域到另一个域的映射是可逆的。即图像通过转换后仍然能够返回到原始的样式。
(1)生成器和判别器
CycleGAN包含两个生成器G和F,其中G将图像从域X转换到域Y,F将图像从域Y转换到域X。而每个生成器都有一个对应的判别器DX和DY,分别判断来自X和Y的图像是否为真实图像。
(2)循环一致性损失:假设x是域X的图像,G(x)是生成器G生成的域Y中的图像,F(G(x))应该尽量接近原始图像x。同样的F(y)应该恢复成域X中的图像y。这就是循环一致性损失能够保证通过生成器转换后的图像可以还原为原始的图像。
(3)对抗损失:与传统的GAN相似,CycleGAN也包含了对抗损失,生成器的目标是通过判别器进行学习,生成更逼真的图像,判别器则判断生成图像是否真实。
CycleGAN常应用于风格迁移、图像增强和医学影像转换等任务之中。