GAN模型的评价指标
IS(Inception score)
FID (Fréchet inception distance)
1. Inception Score
IS 用来衡量 GAN 网络的两个指标:
- 生成图片的质量
- 多样性
(1) 图片质量
希望 P(y|x) 可以被高度预测(熵值较低),这个概率反映图片质量。
使用 Inception network 来对生成的图像进行分类,然后预测 P(y|x),x是生成的图片,y是标签。
如果 Inception network 能以较高的概率预测图片中包含的物体,就说明图片质量较高。
综上:P(y|x) 代表图片质量,概率越大,质量越高
(2) 多样性
计算边缘概率:
G(z) 是生成器用噪声z得到的输出图像
如果生成器的多样性好,则 p(y) 的熵则大
KL散度
为了综合两个指标,使用 KL-divergence 并用以下公式得到:
(KL散度衡量两个分布之间的距离)
IS的问题
- 越真实的图片,分类网络输出的分布越尖锐?物体所属类别在分类网络中不存在,它的分布函数依然尖锐吗?
- 输出图片均匀覆盖每个类别,就意味着不存在 mode collapse?
- 分类模型和生成模型应在同一个训练集上训练,否则分类模型计算的边缘分布将不准确,而分类模型对单个图片的预测也将不能真实反映图片的清晰程度。
2. Fréchet Inception Distance
计算真实图片和生成图片在 feature 层面的距离。
用预训练的 Inception V3 来提取全连接层之前的2048维向量,作为图片的特征。(预训练好的神经网络顶层可以提取图片的高级信息)
μr:真实图片的特征的均值
μg:生成图片的特征的均值
Σr:真实图片的特征的协方差矩阵
Σg:生成图片的特征的协方差矩阵
FID 用以衡量两个多元正态分布的距离
优点
- 生成模型的训练集可以与 Inception V3 的训练集不同。
- 同时用到了生成的数据和真实的数据,比 IS 更灵活。(IS 是把生成数据与 ImageNet 数据比较)。
- 以优化 FID 为目标不会产生对抗样本。因为优化的是 latent space feature,不是最终输出图片,不会导致最终生成的图片失真。
问题
- FID 用某一层的特征分布,是否足以衡量真实数据与生成数据分布的距离?且 FID 计算的是多元正态分布的距离,但提取的特征并不是多元正态分布。
- 对同一个生成模型,不同框架下预训练的 Inception V3 算出的 FID 差别是否可忽略?
- 无法反映生成模型过拟合的情况。如果某个生成模型只是简单拷贝训练数据,FID 会非常小。
FID和IS都是基于特征提取,也就是依赖于某些特征的出现或者不出现。但是他们都无法描述这些特征的空间关系。