阅读小结:Improved Techniques for training GANS

来源:互联网 发布:淘宝游戏交易 编辑:程序博客网 时间:2024/05/17 23:37

github地址:https://github.com/openai/improved-gan/


What:

提出了对于GANs新的结构和训练过程。主要focus在两个应用:半监督学习 和  更好的图像产生。

对于G,不要求一个和test data和像的模型,也不要求不使用label。

实验中,D在半监督分类任务上达到了state-of-art的结果。

G在MNIST样本人已经无法分辨,CIFAR10的样本人也有21.3%的概率认错。


How:

训练GANs 其实是一个找纳什均衡的问题。但这个均衡很难找到,cost函数不是凸的。

所以引入了一些策略来鼓励收敛。

1. Feature matching

为G设定一个新的目标函数。

替代原先的最大化D的目标,新的目标是用G去产生数据来匹配真实数据。 D还是和原来一样。

f(x)  代表D中的一个中间层,新的目标函数为  f(G(x))  和  f(z)  的二范数最小。


2.minibatch discrimination

孤立的看一个个sample,容易使G收敛到一个点(这就是我之前跑实验常遇到的问题啊!!!)

之前DCGAN里面用batch normal其实也是为了让D不孤立的去看sample。

所以作者提出了使用minibatch discrimination,意思是我们不孤立的看sample,加入sample之间的信息,来写D。(G的objective不变,还是最大化D)

公式的主要意思是,除了D中原来的f(x)外,加入一个信息,就是minibatch 中 f(x)之间的距离  (在bp的时候会有作用)

(作者还提到在训练分类器时,feature matching会表现得更好)


3.Historical averaging

加入了一个正则项。


4.One-side label smoothing

把gt的label  从1,0变成0.9,0.1

generate还是 1和 0


5.VBN

batch normalize 依赖minibatch里面的其他数据。这会有影响。所以提出了一个 virtual batch normalise

每次sample的时候另外再sample一个batch 根据这个batch做norm  (这只使用在G中)






1 0
原创粉丝点击