Inception Score 的问题 首先回顾一下 Inception Score 的两个假设: - 越真实的图片,输入预训练的 Inception V3 ,分类的结果越明确。即在1000维的输出向量中,某一维很大,其余维很小。也就是说,输出的概率分布函数图越尖锐。
- 生成的图片多样性越强,那么类别的边缘分布就越平均,边缘分布的概率函数图像就越平整。
Inception Score 通过计算 1 和 2 中两个概率分布的散度,来衡量生成模型的表现。 我们乍一看这两条假设,不难发现最明显的两个问题: - 针对第一个假设,是否越真实的图片,分类网络输出的概率分布函数越尖锐?显然是不见得的,如果某一个物体所属的类别在分类网络中并不存在,那么它的分布函数依然尖锐吗?
- 针对第二个假设,是否输出图片均匀地覆盖每个类别,就意味着生成模型不存在 mode collapse?Inception net 输出 1000 类,假设生成模型在每类上都生成了 50 个图片,那么生成的图片的类别边缘分布是严格均匀分布的,按照 Inception Score 的假设,这种模型不存在 mode collapse,但是,如果各类中的50个图片,都是一模一样的,仍然是 mode collapse。Inception Score 无法检测这种情况。
除了上面最直观的两个硬伤,本文开头提到的文章中对 Inception Score 缺点做了详细分析。其中涉及到:使用 IS 时,分类模型应该和生成模型在同一个训练集上训练,否则分类模型计算的边缘分布将不准确,而分类模型对单个图片的预测,也将不能真实反映图片的清晰程度。 出现这一问题的本质原因是:计算 IS 时只考虑了生成样本,没有考虑真实数据,即 IS 无法反映真实数据和样本之间的距离,IS 判断数据真实性的依据,源于 Inception V3 的训练集: ImageNet,在 Inception V3 的“世界观”下,凡是不像 ImageNet 的数据,都是不真实的,都不能保证输出一个 sharp 的 predition distribution。
|