GAN(generative adversarial network)生成对抗网络
1.总览
2.Basic Idea of GAN
给出GAN的比喻和问题:
Step 1
固定生成网络G,更新区别网络D
第一次迭代,将下图的sample丢进D中训练使其得分越来越接近1,将G生成 图片丢进D中使其得分越来越接近0。
用上述的sample训练后,如果一直按照G生成图片来,迭代后,会出现好的图片评分高,比G生成很模糊效果好一点的的图片也会判断为Pretty good,而本身数据集有不存在negative的图片造成,G需要negative的图片而D拟合好生成negative而又评分很高的图片,于是形成了G需要D的negative,而D又需要G更好的评价(死锁)
(1)问题:数据集中只有positive的sample,如何能够有negative的sample供D学习
(1)答:每次学习上一次迭代中D给出的较好的图片(上一次觉得好的图片)
D网络上述问题解决方案,如下图
D网络训练过程,如下图
Step 2
更新生成网络G,固定区别网络D
将G网络生成的图片丢进D网络中调整G网络参数使其生成图片得分越来越高
------实现方法:将GD拼成大网络使得D网络Trainable=False,后续不走可以使用assign更新D网络。
初GAN算法
3.GAN As A Structred Learning
类似于output一个sequence,矩阵和图片以及树可以表示为结构化学习
Generator----->Bottom Up DIscriminator-------->Top Down
Auto-encoder的原理和问题
Decode==GAN的Genertive
解决办法:增加variational使得auto-encoder更具有鲁棒性
根据拟合后的minimize函数曲线可以看出来当变化向量
=1的时候loss最小,这样保证了不会向
优化。
4.summary
G网络相当于Auto-encoder中的Decoder网络,D网络相当于回归(分类)网络。
G,D网络之间的比较