邱锡鹏 神经网络与深度学习课程【十八】——生成对抗网络
显式密度模型和隐式密度模型
生成网络:
从隐空间中随机采样作为输入,其输出结果需要尽量模仿训练集中的真实样本
示例:
判别网络
判别网络的输入则为真实样本或生成网络的输出,其目的是将生成网络的输出从真实样本中尽可能分辨出来
MinMax Game
对抗训练 生成网络要尽可能地欺骗判别网络 判别网络将生成网络生成的样本与真实样本中尽可能区别出来
过程:
公式:
训练过程:
具体例子: DCGANS
判别网络是一个传统的深度卷积网络,但使用了带步长的卷积来实现下采样操作,不用最大汇聚(pooling)操作。
模型分析:
数据分布
数学推导:
但是这样会出现问题,生成网络的梯度消失
模型坍塌:生成网络的错误目标 也就是不具有多样性
前向和逆向KL散度 逆向要避免的问题是当真实的P_r的没有密度或者密度很小 那模型P_θ 也不能有密度
示例
改进
改进模型:Wasserstein-GAN
Wasserstenin距离 可以防止模型坍塌
直观理解
Kantorovich-Rubinstein 对偶定理
Lipschitz连续函数
Wasserstein GAN
梯度问题对比出来的效果会更好
GAN的扩展:
条件生成
conditional GAN
info GAN
ACGAN BiGAN