KL散度
一般用于度量两个概率分布函数之间的“距离”。
公式如下:
K L [ P ( X ) ∥ Q ( X ) ] = ∑ x ∈ X [ P ( x ) l o g P ( x ) Q ( x ) ] = E x ∼ P ( x ) [ l o g P ( x ) Q ( x ) ] KL[P(X)∥Q(X)]= \sum_{x∈X}[P(x)log \frac{P(x)}{Q(x)} ]=E_{ x∼P(x)} [log \frac{P(x)}{Q(x)} ] KL[P(X)∥Q(X)]=x∈X∑[P(x)logQ(x)P(x)]=Ex∼P(x)[logQ(x)P(x)]
KL散度的典型应用场景如下:假设某优化问题中, P ( X ) P(X) P(X) 是真实分布, Q ( X ) Q(X) Q(X) 是一个用于拟合 P ( X ) P(X) P(X) 的近似分布,可以尝试通过修改 Q ( X ) Q(X) Q(X) 使得二者间的 K L [ P ( X ) ∥ Q ( X ) ] KL[P(X)∥Q(X)] KL[P(X)∥Q(X)]尽可能小,来实现用 Q ( X ) Q(X) Q(X)拟合 P ( X ) P(X) P(X)
注意:
KL散度关于
P
(
x
)
、
Q
(
x
)
P(x)、Q(x)
P(x)、Q(x)是不对称的,即
K
L
[
P
(
X
)
∥
Q
(
X
)
]
≠
K
L
[
Q
(
X
)
∥
P
(
X
)
]
KL[P(X)∥Q(X)] \neq KL[Q(X)∥P(X)]
KL[P(X)∥Q(X)]=KL[Q(X)∥P(X)] ,在一些方法使用时注意变量位置。
IS(Inception Score)
Inception 网络是图片分类器。
这里定义:
p
(
y
)
p(y)
p(y): N个生成的图片,每个图片都输入到Inception网络中进行分类,得到的自己的概率分布向量,然后求平均,得到边缘分布。
p
(
y
∣
x
)
p(y|x)
p(y∣x): 把生成的图片x输入到Inception网络中,得到1000维向量y(Inception基于ImageNet数据库进行训练),也就是该张图片属于各个类别的概率分布。(理解:某个维度值越大,说明越清晰,与其他类别越不同,越好)
只要p(y|x)和 p(y)的距离足够大,就能证明这个生成模型足够好。
缺陷:
①计算 IS 时只考虑了生成样本,没有考虑真实数据,即 IS 无法反映真实数据和样本之间的距离,
②IS 判断数据真实性的依据,源于训练集ImageNet,凡是不像 ImageNet 的数据,都是不真实的,有一定的局限性。
FID
计算真实图片和特征层面的距离,本质上使用的是真实图片与生成图片提取特征向量之后之间的均值,协方差的距离评价。当生成图片和真实图片特征越相近时,均值之差的平方越小,协方差也越小,则之和(FID)也越小。
FID 分数常被用于评估由生成对抗网络(GAN)生成的图像的质量,较低的分数与较高质量的图像有很高的相关性。