GAN-评价指标IS以及FID、KID

GAN网络评价指标主要有两种,IS以及FID
IS(Inception Score)
顾名思义:基于Inception网络的score计算方法。
Inception网络是图片分类器,基于ImageNet数据库进行训练,该数据库共有1.2M个RGB图片,分为1000类。Inception网络作为经典网络,在很多框架中都有集成,直接拿来用即可。
参考:https://zhuanlan.zhihu.com/p/54146307
评价生成模型,主要两方面性能:1、生成图片是否清晰2、生成的图片是否多样。是否清晰说明生成模型表现是否良好;是否多样检测生成模型是否只能生成有限的几种清晰图片,陷入了所谓的mode collapse,这样的模型也不是好的模型。
IS指标是这样进行检测的:
1、清晰度:将生成的图片X输入到Inception V3网络中,将输出的1000维向量y(即属于各类的概率)。假设对于一个清洗的图片,它属于某一类的概率应该非常大,而属于其他类的概率非常小(该假设本身存在问题,清晰度和可分类度并不强相关,有可能有些图片很清晰,但是具体属于哪个类却是模棱两可的)。用专业术语说, [公式] 的熵应该很小(熵代表混乱度,均匀分布的混乱度最大,熵最大。也就是说,输出的概率分布函数图越尖锐。
2、多样性:多样性:如果一个模型能生成足够多样的图片,那么它生成的图片在各个类别中的分布应该是平均的,假设生成了 10000 张图片,那么最理想的情况是,1000类中每类生成了10张。转换成术语,就是生成图片在所有类别概率的边缘分布p(y)熵很大(均匀分布)。具体计算时,可以先用生成器生成 N 张图片,然后计算经验分布。但是,如果各类中的10个图片,都是一模一样的,仍然是 mode collapse。Inception Score 无法检测这种情况
在这里插入图片描述
因此IS的公式可以写为:GAN-评价指标IS以及FID、KID_第1张图片
本质上就是分别计算输入x的概率分布以及所有图片的边缘分布,之后计算KL散度。
综合起来,只要p(y|x)和 p(y)的距离足够大,就能证明这个生成模型足够好。因为前者是一个很尖锐的分布,后者是一个均匀分布,这俩距离本就应该很大。
GAN-评价指标IS以及FID、KID_第2张图片
具体代码可参考:sbarratt/inception-score-pytorch
缺陷:计算 IS 时只考虑了生成样本,没有考虑真实数据,即 IS 无法反映真实数据和样本之间的距离,IS 判断数据真实性的依据,源于 Inception V3 的训练集: ImageNet,在 Inception V3 的“世界观”下,凡是不像 ImageNet 的数据,都是不真实的,都不能保证输出一个 sharp 的 predition distribution。

FIDFID计算的是特征层面的距离
GAN-评价指标IS以及FID、KID_第3张图片
本质上使用的是真实图片与生成图片提取特征向量之后之间的均值,协方差的距离评价。当生成图片和真实图片特征越相近时,均值之差的平方越小,协方差也越小,则之和(FID)也越小。
FID指标只是使用InceptionV3作为特征提取器,而不依赖图片的具体类别,也不必担心每个类别内部只产生一模一样的图片导致IS中多样性判别失效,无法预测mode collapse的问题。

综上所述,对比 IS,FID 有如下优点:
生成模型的训练集和 Inception V3 的训练集可以不同。
计算 FID 时同时用到了生成的数据和真实数据,比起 IS 来更灵活。可以理解成,IS 判断真实性与否,是把生成数据和 ImageNet 数据做比较,而 FID 是把生成数据和训练数据做比较,因此更 reasonable。
以优化 FID 为目标,不会产生对抗样本。因为优化的是 lantent space feature,不是最终的输出图片,不会导致最终的生成图片失真。
FID缺陷
FID 只是某一层的特征的分布,是否足以衡量真实数据分布与生成数据分布的距离?同时,提出 FID 公式计算的是多元正态分布的距离,显然神经网络提取的特征并不是多元正态分布。
针对同一个生成模型,不同框架下预训练的 Inception V3 算出的 FID 差别是否可以忽略?
FID 无法反映生成模型过拟合的情况,如果某个生成模型只是简单拷贝训练数据,FID 会非常小,认为这是一个完美的生成模型,因此,使用 FID 时同时也要通过别的手段证明生成模型没有过拟合。

KID
Kernel Inception Distance (KID)。与FID类似,KID[1]通过计算Inception表征之间最大均值差异的平方来度量两组样本之间的差异。此外,与所说的依赖经验偏差的FID不同,KID有一个三次核[1]的无偏估计值,它更一致地匹配人类的感知。

你可能感兴趣的:(深度学习)