basic idea

vector >Generator>image>Discrinminator>scalar(分越高,真实度越高)
算法:李宏毅GAN笔记 一.introduction of GAN
Discriminator:
D(x)是discriminator给x这个image打的分,为一数值。
真实数据打分高,伪造数据分低。所以用1-D(x’i)
其中,discriminator使用sigmoid函数,将取值限制在0-1,以适应log运算要求。(但这样做其实不是最好方法)
D(x’i)值越小,V越大。使用Gradient Ascent(梯度上升)取得max。
ps:n为学习率(learning rate)。
Generator:
生成数据须取得高分,max V。
G(z)为输入噪声后生成的image,D(G(z))为对噪声生成的image的打分。还是用梯度上升。

GAN as structured learning

Can Generator learn by itself?

GAN比自动编码器(Auto-encoder)好的地方在于考虑到全局。
imput 的scalar与output的image关系密切
image>scalar>image,两image越相似,说明训练越好。(why not scalar>scalar?如果这样的话,input差距大,output差距反而会小,input一串数据变了,output可能只是一根头发丝变了)
Auto-encoder:encoder 把image转换为code,通过decoder转换为image。Generator即为我们要学习的decoder。其中,VAE(variational auto-encoder)可以把decoder train 最稳定。
但VAE需要多加hidden layer(加深network)才能学习到各像素之间的关系。
相比之下,GAN才能实现全局观。单个generator很难学习到关系。

Can Discriminator generate?

可以生成,但没有Generator配合,卡得很。
Discriminator更擅长评判已经生成的image componens间relationship。
另一方面,Discriminator必需negative image 的输入,否则会认为什么input都是满分。训练时,会降低非real examples的分值。(升real降低not real只适用于一维空间,我们能做的只是降低not real,生成新negative,再降低再生成)
李宏毅GAN笔记 一.introduction of GAN

总结

李宏毅GAN笔记 一.introduction of GAN
G生成negative samples训练D,D进行评判,通过穷举法找出分最高的,让G学习到全局观的分布。
G,D二者相互配合,固定一个,update另一个。

相关文章: