GAN
文章目录
生成对抗网络(GAN)基础
组成:
D: 判别网络
G: 生成网络
Loss:判别是真实模型的概率:是/否真值
原理
z: 均匀分布变量 x:某空间的数据 zx 生成某空间数据
黑线:目标标准分布 绿线:生成数据分布
蓝线:判断函数 (根据x大小判断是否真实的概率)
- 初始状态:生成数据同真实数据差距明显,容易判别
- 训练过程:对是否真实判断得到的loss引导生成模型更新,
差距减少 - 最终状态:生成数据同真实数据相似,无法识别
- 假设前提:判别模型D,生成模型G具有学习能力,能够收
敛
目标:
G:relu+sigmoid nn;D:maxout
生成对抗网络 优点:
- 不需要大量label数据,
loss来源于D判定 - 产生大量生成数据用
于训练,接近无监督学
习 - 可以和深度神经网络
结合
缺点:
- 数据直接生成,没有
推导过程 - 生成器,判别器需要
配合共同训练难度较大 - 容易出现训练失败
生成对抗网络
可能性:
- 连接神经网络扩展
- 输入不仅是噪声信号
- 时域信号生成
深度GAN
卷积神经网络+GAN
变化:生成器 G;判别器 D(conv feat ->1)
DCGAN结构细节
- 没有pooling, stride conv或deconv
- 运用batchnorm
- 不要FC
- 非线性激励ReLU(G), LeakyReLU (D).
特征研究
向量运算
噪声输入运算,生成不同图片
向量运算
方向插值,生成中间朝向数据
DCGAN总结
- GAN同深度CNN网络结合
- 噪声输入有着重要作用,可以实现有意义运
算 - 对输入信号实际意义可以有更深研究,定性
输出有可能
条件GAN
cGAN(conditional)
用一些信息对GAN的生成图片进行范围约束
信息的类型:文字;图片
训练过程输入:
随机信息+ 约束信息特征
约束条件是图片-生成相关的图片
映射关系无限可能
图片分割
轮廓生成
热图生成
图片补全
高精度生成
模型结构
随机输入同图片结合,
G学习图片到转化图片的映射
关系,D判断生成图片和真实
图片是否一致
cGAN(conditional)
模型结构:D:PatchGAN
图片整体优化会造成生成的图片边界模糊,高
频信息难以估计。
解决方案:判别器关注在local区域
INFOGAN
DCGAN中,随机参数z的值有一定实际意义,如果有
text label可以学习这种约束关系,如果没有label数据,
能否自动学会确定映射关系?
InfoGAN: 自动学习z中部分变量意义
- Z分为两部分,c和z
- c代表数据分布某种物理意义,z随机信号
- DCGAN,InfoGAN 没有额外数据标注
DCGAN z对生成数据控制作用不确定,需要尝试观察
InfoGAN 没有额外标注,能够学到c与生成图片关系。 引
入Mutual Info概念。参与目标函数的确定,关系越紧密I越
高,训练过程使Mutual Info高,实现生成图片同c的联系。InfoGAN结果
确定c向量长度
观察各个c物理意义
特点:无监督学习
自动学到模式
可用于生成特点图片
要求:训练图片模式
比较明显
Wasserstein GAN
GAN存在问题
训练困难,G k次,D一次。。
Loss无法知道优化
生成样本单一
改进方案靠暴力尝试
原因
Loss函数选择不合适,使模型容易面临梯度消失,
梯度不稳定,优化目标不定导致模型失败
WGAN特点
- 无需平衡D,G的训练组合
- 解决collapse model问题,保证样本多样性
- 结构更改简单有效
改进方法:
- 判别器最后一层去掉sigmoid
- 生成器和判别器的loss不取log
- 判别器的参数更新截断
- 不要用基于动量的优化算法