Skip to content

GAN模型的评价指标

IS(Inception score)

FID (Fréchet inception distance)

1. Inception Score

IS 用来衡量 GAN 网络的两个指标:

  1. 生成图片的质量
  2. 多样性

(1) 图片质量

希望 P(y|x) 可以被高度预测(熵值较低),这个概率反映图片质量。

使用 Inception network 来对生成的图像进行分类,然后预测 P(y|x),x是生成的图片,y是标签。

如果 Inception network 能以较高的概率预测图片中包含的物体,就说明图片质量较高。

综上:P(y|x) 代表图片质量,概率越大,质量越高

(2) 多样性

计算边缘概率:

zp(y|x=G(z))dz

G(z) 是生成器用噪声z得到的输出图像

如果生成器的多样性好,则 p(y) 的熵则大

KL散度

为了综合两个指标,使用 KL-divergence 并用以下公式得到:

IS(G)=exp(ExpDKL(p(y|x)||p(u)))

(KL散度衡量两个分布之间的距离)

IS的问题

  1. 越真实的图片,分类网络输出的分布越尖锐?物体所属类别在分类网络中不存在,它的分布函数依然尖锐吗?
  2. 输出图片均匀覆盖每个类别,就意味着不存在 mode collapse?
  3. 分类模型和生成模型应在同一个训练集上训练,否则分类模型计算的边缘分布将不准确,而分类模型对单个图片的预测也将不能真实反映图片的清晰程度。

2. Fréchet Inception Distance

计算真实图片和生成图片在 feature 层面的距离。

用预训练的 Inception V3 来提取全连接层之前的2048维向量,作为图片的特征。(预训练好的神经网络顶层可以提取图片的高级信息)

FID=||μrμg||2+Tr(Σr+Σg2(ΣrΣg)1/2)

μr:真实图片的特征的均值

μg:生成图片的特征的均值

Σr:真实图片的特征的协方差矩阵

Σg:生成图片的特征的协方差矩阵

FID 用以衡量两个多元正态分布的距离

优点

  1. 生成模型的训练集可以与 Inception V3 的训练集不同。
  2. 同时用到了生成的数据和真实的数据,比 IS 更灵活。(IS 是把生成数据与 ImageNet 数据比较)。
  3. 以优化 FID 为目标不会产生对抗样本。因为优化的是 latent space feature,不是最终输出图片,不会导致最终生成的图片失真。

问题

  1. FID 用某一层的特征分布,是否足以衡量真实数据与生成数据分布的距离?且 FID 计算的是多元正态分布的距离,但提取的特征并不是多元正态分布。
  2. 对同一个生成模型,不同框架下预训练的 Inception V3 算出的 FID 差别是否可忽略?
  3. 无法反映生成模型过拟合的情况。如果某个生成模型只是简单拷贝训练数据,FID 会非常小。

FID和IS都是基于特征提取,也就是依赖于某些特征的出现或者不出现。但是他们都无法描述这些特征的空间关系。

Released under the MIT License.