我们通常用GAN来做Gerneration。
对于一张图片x,其通常分布在高维空间中的一个流行上。在下图中,位于蓝色区域的点仅有很大的概率出现在我们的database中。
那么图像生成的主要任务是什么呢?
给定义原始数据的分布,再给定一个以作为参数的概率模型,该模型可以由generator学习得到。我们希望的,便是找到相应的参数,使得原始数据集中的样本x在由G所定义的概率分布中出现的概率尽可能大。
为了找到这样的参数,我们可以先从database中随机选出m个样本,并根据计算达到每个样本被生成的概率,再将这m个样本对应的概率乘起来,即可得到相应的似然函数。
进一步具体化似然函数,我们发现采用极大似然估计得到的参数,也恰好使得real image与generated image的KL散度达到最小。
我们的generator本质上是一个network,这个network定义了一个概率分布,我们希望的便是与尽可能的接近。问题在于该如何得到呢?
扫描二维码关注公众号,回复:
9299025 查看本文章
我们暂且放下先前的问题不管.我们把目光转向discriminator.
尽管我们不知道和的具体形式,但是我们可以对真实图片与生成图片进行采样。
对于一个给定的generator,我们希望优化的损失函数如下图,其形式非常类似与二分类问题中的交叉熵损失函数。
我们发现当真实图片与生成图片具有较小的divergence时,discriminator难以辨别真实图片和生成图片。但是当两者具有较大的divergence时,discriminator还是比较容易地能够将其辨别出来的。
接下来,我们便来求解一下:
我们发现恰好对应和的JS divergence.