生成专题1 | 图像生成评价指标 Inception Score (IS)

  • 文章转自微信公众号:机器学习炼金术
  • 作者:陈一新(欢迎交流,共同进步)
  • 联系方式:微信cyx645016617

1.1 感性理解

IS是Inception Score。

熵entropy可以被用来描述随机性:如果一个随机变量是高度可预测的,那么它就有较低的熵;相反,如果它是乱序随机的,那么它就是有较高的熵。这和训练分类网络所用的交叉熵是同一个道理。

如下图,我们有两个概率:高斯分布和均匀分布。可以推断出,高斯分布的entropy小于均匀分布的entropy。高斯分布表明随机数是在0附近的

生成专题1 | 图像生成评价指标 Inception Score (IS)

IS指标衡量的是生成模型的两个能力:

  • 生成图像的质量;
  • 生成图像的多样性。

我们定义x为生成图像,y为生成图像的判别器分类结果(以imagenet为例,那么是一个1000类别的分类)。

那么图像质量越高,判别器分类的结果就越确定。所以P%28y%7Cx%29越确定,熵越小,图像质量越好。

之前我们的x可以理解为1张图片,那么X则是生成图片的集合,比方说随机生成了1000张图片的集合。

然后这1000个图片,都放到判别器当中判断类别。多样性最好的情况,就是每一个类别生成的图像数量相同。这个时候生成不同类别的概率相等,这个时候意味着熵最大(因为生成类别不确定)。

因此,我们希望p%28y%7Cx%29越小越好,质量越高; p%28y%29越大越好,多样性好。

1.2 数学推导

质量越高,p%28y%7Cx%29的entropy越好。p%28y%7Cx%29的entropy可以写成下面公式:

-%5Csum%5Em_%7Bi%3D1%7D%7Bp%28y_i%7Cx_i%29%5Ctimes%20log%28p%28y_i%7Cx_i%29%29%7D

其中m表示生成的图片数量。

而多样性越大越好,意味着p%28y%29的entropy越大,那么这个公式可写成:

-%5Csum%5Em_%7Bi%3D1%7D%7Bp%28y_i%29%5Ctimes%20log%28p%28y_i%29%29%7D

这里又要说一下KL散度了,这是描述两个分布距离的函数,在GAN当中用到了。

KL%28p%28y%7Cx%29%2Cp%28y%29%29

%3D%5Csum%5Em_%7Bi%3D1%7D%7Bp%28y_i%7Cx_i%29%20%5Ctimes%20log%28%5Cfrac%7Bp%28y_i%7Cx_i%29%7D%7Bp%28y_i%29%7D%29%7D

%3D%5Csum%5Em_%7Bi%3D1%7D%7Bp%28y_i%7Cx_i%29%20%5Ctimes%20log%28p%28y_i%7Cx_i%29%29%7D

-%5Csum%5Em_%7Bi%3D1%7D%7Bp%28y_i%7Cx_i%29%20%5Ctimes%20log%28p%28y_i%29%29%7D

可以看到,这两分布的KL散度可以变成一个减法形式,前者是我们计算的描述图像质量的熵,我们后续就简单写成-E%28p%28y%7Cx%29%29

后者我们要继续转换:
%5Csum%5Em_%7Bi%3D1%7D%7Bp%28y_i%7Cx_i%29%20%5Ctimes%20log%28p%28y_i%29%29%7D

%3D%5Csum%5Em_%7Bi%3D1%7D%7B%5Cfrac%7Bp%28y_i%7Cx_i%29%7D%7Bp%28y_i%29%7D%20%5Ctimes%20p%28y_i%29%20%5Ctimes%20log%28p%28y_i%29%29%7D

这个公式中,我们发现,跟描述生成多样性的熵有点类似了,就是多了一个%5Cfrac%7Bp%28y_i%7Cx_i%29%7D%7Bp%28y_i%29%7D,要是这个等于1就好了。现在证明这个:

%5Cfrac%7Bp%28y_i%7Cx_i%29%7D%7Bp%28y_i%29%7D

%3D%5Cfrac%7Bp%28y_i%EF%BC%8Cx_i%29%7D%7Bp%28y_i%29%20%5Ctimes%20p%28x_i%29%7D

%3D%5Cfrac%7Bp%28y_i%29%20%5Ctimes%20p%28x_i%29%7D%7Bp%28y_i%29%20%5Ctimes%20p%28x_i%29%7D%3D1

但是这里涉及一个假设,就是联合概率的变量互相独立。但是我们生成图像和类别明显是不独立的。这个问题就是IS的一个局限性。IS呢就是两个分布的KL散度。所以综上所示:

KL%28p%28y%7Cx%29%2Cp%28y%29%29%20%3D%20-E%28p%28y%7Cx%29%29%20%2B%20E%28p%28y%29%29

所以KL散度越大,IS值越高,那么多样性熵就越大,质量熵越小,那么生成模型就越好。

1.3 KL散度的物理意义

KL散度是衡量两个分布之间的距离。

生成专题1 | 图像生成评价指标 Inception Score (IS)

这个图中,我们希望条件概率p%28y%7Cx%29是一个确定的数,那么可以理解为一个方差为0的高斯分布;
另一个概率p%28y%29是一个均匀分布,那么它是一个方差无穷大的高斯分布。标准差的差异太大,所以不需要考虑均值的位置。所以我们可以简单的从图中看出,两个极端高斯分布的距离越大,模型的质量和多样性就越好。

KL散度就刚好利用了生成网络当中的确定和不确定的两个部分。

版权声明:本文为博主微信公众号[机器学习炼丹术]原创文章,版权归属原作者,如果侵权,请联系我们删除!

原文链接:https://blog.csdn.net/qq_34107425/article/details/123229225

共计人评分,平均

到目前为止还没有投票!成为第一位评论此文章。

(0)
乘风的头像乘风管理团队
上一篇 2022年3月6日 下午1:30
下一篇 2022年3月6日

相关推荐