生成对抗网络分为:1.生成模型,2.鉴别模型。其中,生成模型从无到有不断地生成数据,而鉴别模型不断鉴别生成器生成的模型;二者不断对抗,生成模型拼命生成不让鉴别模型识别出来的数据,鉴别模型拼命鉴别生成模型生成的数据;二者不断成长,得到最好的生成模型和鉴别模型。
首先是符号说明, 注意GAN,主要学习的是数据的分布,最终得到的是两个一样的数据分布。
定义数据分布,generator,discriminator等输出
当鉴别模型输出D(x)为1时,即可以轻松判别数据,此时上式取值最大。
当鉴别模型输出D(G(z))为0时,即鉴别模型轻松地鉴别出生成模型的数据,此时上式取值最大。
很显然,最好的鉴别模型是使得V(G,D)最大的,即:
当鉴别模型取最好的时候,最好的生成模型即使得目标函数最小的,如下:
下面我们再来考虑一下GAN最终的目的是,得到生成模型可以生成非常逼真的数据,也就是说和真实数据分布一样的数据,此时鉴别模型的输出为:
当DG输出为0.5时,说明鉴别模型已经完全分不清真实数据和GAN生成的数据了,此时就是得到了最优生成模型了。
KL散度永远大于等于0,可以知道目标函数最终最优值为-log4。
Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.
生成对抗网络分为:1.生成模型,2.鉴别模型。其中,生成模型从无到有不断地生成数据,而鉴别模型不断鉴别生成器生成的模型;二者不断对抗,生成模型拼命生成不让鉴别模型识别出来的数据,鉴别模型拼命鉴别生成模型生成的数据;二者不断成长,得到最好的生成模型和鉴别模型。
首先是符号说明, 注意GAN,主要学习的是数据的分布,最终得到的是两个一样的数据分布。
定义数据分布,generator,discriminator等输出
当鉴别模型输出D(x)为1时,即可以轻松判别数据,此时上式取值最大。
当鉴别模型输出D(G(z))为0时,即鉴别模型轻松地鉴别出生成模型的数据,此时上式取值最大。
很显然,最好的鉴别模型是使得V(G,D)最大的,即:
当鉴别模型取最好的时候,最好的生成模型即使得目标函数最小的,如下:
下面我们再来考虑一下GAN最终的目的是,得到生成模型可以生成非常逼真的数据,也就是说和真实数据分布一样的数据,此时鉴别模型的输出为:
当DG输出为0.5时,说明鉴别模型已经完全分不清真实数据和GAN生成的数据了,此时就是得到了最优生成模型了。
KL散度永远大于等于0,可以知道目标函数最终最优值为-log4。
Goodfellow I, Pouget-Abadie J, Mirza M, et al. Generative adversarial nets[C]//Advances in neural information processing systems. 2014: 2672-2680.
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:GAN生成对抗网络公式推导和证明 - Python技术站