GAN评价指标¶
生成器G训练好后,我们需要评价生成图片的质量好坏,主要分为主观评价和客观评价,接下来分别介绍这两类方法:
主观评价¶
人眼去观察生成的样本是否与真实样本相似。但是主观评价会存在以下问题:
生成图片数量较大时,观察一小部分图片可能无法代表所有图片的质量;
生成图片非常真实时,主观认为是一个好的GAN,但可能存在过拟合现象,人眼无法发现。
客观评价¶
因为主观评价存在一些问题,于是就有很多学者提出了GAN的客观评价方法,常用的方法:
IS(Inception Score)
FID(Fréchet Inception Distance)
其他评价方法
IS¶
IS全称是Inception Score,其名字中 Inception 来源于Inception Net,因为计算这个 score 需要用到 Inception Net-V3(第三个版本的 Inception Net)。对于一个在ImageNet训练好的GAN,IS主要从以下两个方面进行评价:
**清晰度:**把生成的图片 x 输入Inception V3模型中,将输出 1000 维(ImageNet有1000类)的向量 y ,向量每个维度的值表示图片属于某类的概率。对于一个清晰的图片,它属于某一类的概率应该非常大。
**多样性:**如果一个模型能生成足够多样的图片,那么它生成的图片在各个类别中的分布应该是平均的,假设生成了 10000 张图片,那么最理想的情况是,1000 类中每类生成了 10 张。
IS计算公式为:
其中,\(x\sim p\):表示从生成器生成的图片;p(y|x):把生成的图片 x 输入到 Inception V3,得到一个 1000 维的向量 y ,即图片x属于各个类别的概率分布;
\(\widehat{p}(y)\):N 个生成的图片(N 通常取 5000),每个生成图片都输入到 Inception V3 中,各自得到一个的概率分布向量,然后求这些向量的平均,得到生成的图片在所有类别上的边缘分布,具体公式如下:
\(D_{KL}\):表示对\(p(y|x)\)和\(\widehat{p}(y)\)求KL散度,KL散度公式如下:
IS不能反映过拟合、且不能在一个数据集上训练分类模型,用来评估另一个数据集上训练的生成模型。
FID¶
FID全称是Fréchet Inception Distance,计算真实图片和生成图片的Inception特征向量之间的距离。
首先将Inception Net-V3模型的输出层替换为最后一个池化层的激活函数的输出值,把生成器生成的图片和真实图片送到模型中,得到2048个激活特征。生成图像的特征均值\(\mu_g\)和方差\(C_g\) ,以及真实图像的均值\(\mu_r\)和方差\(C_r\),根据均值和方差计算特征向量之间的距离,此距离值即FID:
其中Tr 指的是被称为「迹」的线性代数运算(即方阵主对角线上的元素之和)。
FID方法比较鲁棒,且计算高效。
其他评价方法¶
除了上述介绍的两种GAN客观评价方法 ,更多评价方法:
Mode Score、Modifified Inception Score、AM Score、MMD、图像、Image Quality Measures、SSIM、PSNR等