SSIM,IS等生成图像评价指标
IS参考
Inception Score 的基本原理 众所周知,评价一个生成模型,我们需要考验它两方面性能:1. 生成的图片是否清晰 2. 生成的图片是否多样。生成的图片不够清晰,显然说明生成模型表现欠佳;生成的图片够清晰了,我们还要看是不是能生成足够多样的图片,有些生成模型只能生成有限的几种清晰图片,陷入了所谓 mode collapse,也不是好的模型。
Inception Score 是这样考虑这两个方面的:
清晰度:把生成的一张图片 输入 Inception V3 中,将输出1000维的向量 ,向量的每个维度的值对应图片属于某类的概率。对于一个清晰的图片,它属于某一类的概率应该非常大,而属于其它类的概率应该很小(这个假设本身是有问题的,有可能有些图片很清晰,但是具体属于哪个类却是模棱两可的)。用专业术语说, 的熵应该很小(熵代表混乱度,均匀分布的混乱度最大,熵最大)。
多样性:如果一个模型能生成足够多样的图片,那么它生成的图片在各个类别中的分布应该是平均的,假设生成了 10000 张图片,那么最理想的情况是,1000类中每类生成了10张。转换成术语,就是生成图片在所有类别概率的边缘分布 熵很大(均匀分布)。具体计算时,可以先用生成器生成 N 张图片,然后用公式 (1) 的经验分布来代替:
综合上面两方面,Inception Score 的公式为:
:仅仅是为了好看,没有具体含义
:表示从生成器中生成图片
:把生成的图片 输入到 Inception V3,得到一个 1000 维的向量 ,也就是该图片属于各个类别的概率分布。IS 提出者的假设是,对于清晰的生成图片,这个向量的某个维度值格外大,而其余的维度值格外小(也就是概率密度图十分尖)。
:N个生成的图片(N 通常取5000),每个生成图片都输入到 Inception V3 中,各自得到一个自己的概率分布向量,把这些向量求一个平均,得到生成器生成的图片全体在所有类别上的边缘分布,见公式 (1)。
:对 和 求 KL 散度。KL 散度离散形式的公式如下:
KL 散度用以衡量两个概率分布的距离,它是非负的,值越大说明这两个概率分布越不像。但这个距离不是对称的,观察公式, 很大 很小的地方对 KL 距离贡献很大,而 很小 很大的地方对 KL 距离的贡献很小。我们预期 的某个维度值很大,而 总体均匀,因此需要把 放在公式 (2) 中双竖线的前面。放到后面可能会造成 的极端值被忽略,而正是这个极端值的存在告诉了我们这个生成的图片是否清晰。