最近开始看GAN相关地知识。GAN是很经典的模型,个人认为这里面的坑还是比较多的,以后写论文说不定能用上。
这篇博客重点是从原理上去说明GAN,会涉及较多的数学公式。GAN的训练方式大家都很熟悉了,认为很简单。但是我认为,要想深入地理解GAN模型光能实践还是不够地,还是需要理解他地由来,以及数学表达方式。这样才有可能进一步地利用GAN ,做出我们自己想要地东西,而不是从网上copy个代码,跑一下就完事了。
接下来的内容我们分为这几个方面讲
GAN的原理
GAN训练要注意的地方
GAN的优势
GAN 从high level 上说就是在拟合一个数据分布。比如我们要生成人脸图像,我们生成器输出可以看作是一个高维度向量,在这个维度向量里面,只有一部分数据看着像是人脸图像,而其他数据就不像人脸,我们地GAN网络中地生成器就是要去拟合那部分 像人脸的向量空间。
那去拟合一个分布,我们使用的方法叫做KL散度。在李宏毅老师的科城里面,证明如下的一个数学式子,就是极大似然其实等价于 KL散度。