近期看了李宏毅老师的GAN讲解,收获颇多,记录一些基本概念。
GAN(Generation Adversarial NetWorks)
概念
生成式对抗网络(GAN, Generative Adversarial Networks )是一种深度学习模型,是近年来复杂分布上无监督学习最具前景的方法之一。模型通过框架中(至少)两个模块:生成模型(Generative Model)和判别模型(Discriminative Model)的互相博弈学习产生相当好的输出。原始 GAN 理论中,并不要求 G 和 D 都是神经网络,只需要是能拟合相应生成和判别的函数即可。但实用中一般均使用深度神经网络作为 G 和 D 。一个优秀的GAN应用需要有良好的训练方法,否则可能由于神经网络模型的自由性而导致输出不理想。
训练思想
一般会将
生成网模型和
判别模型网络
组成一个大的神经网络(NN),在一次训练中会固定一个模型,去调节另一个模型。两个网络交替训练。- 对于
Generative Model
,我们期望其输出可以得分尽量的高,即尽可能接近positive image
- 对于
Discrimnative Model
,我们期望他能给position image
尽可能高的分数,给generative image
尽可能低的分数。
- 对于
应用
- 图像生成(如二次元头像生成)
- 数据增强
Speech Enhancement
,去噪音之类的
CGAN(Conditional Generative Adversarial NetWorks)
概念
条件生成式对抗网络(CGAN)是对原始GAN的一个扩展,生成器和判别器都增加额外信息 y为条件, y 可以使任意信息,例如类别信息,或者其他模态的数据。其核心在于将属性信息y融入生成器G和判别器D中,属性y可以是任何标签信息,例如图像的类别、人脸图像的面部表情等。
- 在生成模型中,先验输入噪声 p(z) 和条件信息 y 联合组成了联合隐层表征。
- 在判别模型中,也需要有两个输入,判断额外信息 y和image是否匹配;
- 高分:描述与图片相符,图片为
positive image
- 低分:
- 图片是
generative image
,描述与图片相符 - 图片是
generative image
,描述与图片不符 - 虽然图片是
positive image
,但描述与图片不符
- 图片是
- 高分:描述与图片相符,图片为
扩展
Stack GAN,一种由小图,生成大图的GAN
Patch GAN,一个针对生成大图的
Discriminative Model
,并不以整张image
作为input
,而是每次检查image
里的一小块应用
Image to image
Speech Enhancement
Video Generation
前面的课程内容涉及的都是监督学习(Supervised learning),但有些训练集没有label,根据其需求也不需要进行监督学习(如:画作风格的转变)
Cycle GAN
简而言之,该模型通过从域DA获取输入图像,该输入图像被传递到第一个生成器GeneratorA→B,其任务是将来自域DA的给定图像转换到目标域DB中的图像。然后这个新生成的图像被传递到另一个生成器GeneratorB→A,其任务是在原始域DA转换回图像CyclicA,这里可与自动编码器作对比。
StarGAN
上述这些都是论文中提到的经过修改的GAN,这里就不再列出