深度学习--生成式对抗网络--DCGAN/WGAN/WGAN-GP/LSGAN/BEGAN算法理论
目录
2)网络中判别器D与生成器G的相互博弈,其纳什均衡为D(G(Z))=0.5
3)将判别器D和生成器G损失函数结合(极大极小算法:一方优势最大,另一方优势最小)
1 DCGAN(Deep Convolution NN for GAN)
3 WGAN-GP(WGAN for Gradient Puishment)
5 BEGAN(Boundary Equilibrium for GAN)
一 生成式对抗网络基础
1 生成式对抗网络的概念
1)网络属于无监督学习
2)网络中判别器D与生成器G的相互博弈,其纳什均衡为D(G(Z))=0.5
- 判别器D:是一个二分类器,真实样本期望输出1,生成样本期望输出0
- 生成器G:将噪音数据尽量生成真实样本分布,以期望判别器D输出1
3)网络的训练阶段分为两个阶段
- 第一阶段:冻结生成器G,使用真实样本和生成样本训练判别器D
- 第二阶段:冻结判别器D,训练生成器G生成假样本能力
注意:冻结是指不进行反向传播,只进行正向传播
2 生成式对抗网络的优缺点
1)优点
第一点:GAN是一个非常灵活的设计框架,并且框架简单
各种类型的损失函数都可以整合到GAN中,针对不同的任务,设计不同的损失函数,实现在GAN框架下学习和优化
第二点:真实数据分布的概率密度不可计算
传统的生成模型无法在真实数据分布上进行学习,GAN依靠内部博弈机制,其生成器可以学习出真实数据的分布
第三点:避免马尔科夫链式的学习
传统的生成模型一般需要马尔科夫链式的采样和推断(是一个计算复杂度高的过程),直接进行采样和推断,从而提高效率
2)缺点
网络模型具有不稳定性
实际中很难将判别器D与生成器G训练到纳什均衡状态(即整体最优状态)
3 生成式对抗网络的损失函数
注意:真实样本默认标签为1,生成样本G(z)默认标签为0
1)判别器D损失函数(使用交叉熵损失函数)
2)生成器G损失函数(使用交叉熵损失函数)
注意:表示的取整(0或者1)
3)将判别器D和生成器G损失函数结合(极大极小算法:一方优势最大,另一方优势最小)
注意:
- 表示样本来自真实数据分布
- 表示样本来自生成数据分布
- :表示熵
二 生成式对抗网络优化
1 DCGAN(Deep Convolution NN for GAN)
注意:优化器使用Adam
1)生成器G(使用反卷积)
第一层:输入层
噪音向量
第二点:隐层
反卷积+ReLU**函数+BN
第三点:输出层
反卷积+tanh**函数
2)判别器D
第一点:输入层
图像
第二点:隐层
全卷积+L-ReLU**函数(防止梯度消失)+BN
第三点:输出层
全连接
2 WGAN(Wasserstein for GAN)
有时间更新
3 WGAN-GP(WGAN for Gradient Puishment)
有时间更新
4 LSGAN(Least Square for GAN)
有时间更新
5 BEGAN(Boundary Equilibrium for GAN)
有时间更新