GAN的KID评估指标.

为生成模型设定合适的性能度量是比较困难的,需要衡量真实数据分布$P_{data}(x)$和生成数据分布$P_G(x)$之间的距离。

Fréchet Inception Distance (FID)通过计算数据分布$p(x)$在一个多项式基$f(x)$上的矩$\int p(x)f(x)dx$来构造生成模型的性能指标。 具体地,使用Inception模型的编码层(分类层之前)提取图像的视觉特征$x$,并将多项式基$f(x)$取前两项,对应特征的均值和协方差。

记从真实数据分布$P_{data}(x)$中获得的特征分布为$N(\mu,\Sigma)$,从生成数据分布$P_G(x)$中获得的特征分布为$N(\mu_G,\Sigma_G)$,则两个分布之间的FID定义为:

\[\text{FID}(P_{data}(x),P_G(x))= ||\mu-\mu_G||_2^2+\text{Tr}(\Sigma+\Sigma_G-2(\Sigma\Sigma_G)^{1/2})\]

FID假设Inception模型提取的特征向量服从正态分布,由于Inception模型使用了ReLU激活函数,因此该假设是有问题的。此外FID是一种有偏的距离估计。

本文作者设计了Kernel Inception Distance (KID),这是一种无偏的距离估计。KID是通过积分概率度量(integral probability metrics, IPM)中的最大平均差异(maximum mean discrepancy, MMD)设计的。

积分概率度量寻找满足某种限制条件的函数集合\(\mathcal{F}\)中的连续函数$f(\cdot)$,使得该函数能够提供足够多的关于矩的信息;然后寻找一个最优的\(f(x)\in \mathcal{F}\)使得两个概率分布$p(x)$和$q(x)$之间的差异最大,该最大差异即为两个分布之间的距离:

\[d_{\mathcal{F}}(p(x),q(x)) = \mathop{\sup}_{f(x)\in \mathcal{F}} \Bbb{E}_{x \text{~} p(x)}[f(x)]-\Bbb{E}_{x \text{~} q(x)}[f(x)]\]

最大平均差异没有直接定义函数空间\(\mathcal{F}\),而是通过核方法定义了连续函数$f(\cdot)$的内积空间。

为了使函数$f(\cdot)$是可计算的,MMD将其限制在再生希尔伯特空间(reproducing kernel Hilbert space, RKHS)的单位球内:$||f||_{\mathcal{H}} \leq 1$。MMD定义如下:

\[\text{MMD}(f,p(x),q(x)) = \mathop{\sup}_{||f||_{\mathcal{H}} \leq 1} \Bbb{E}_{x \text{~} p(x)}[f(x)]-\Bbb{E}_{x \text{~} q(x)}[f(x)]\]

根据Riesz表示定理,希尔伯特空间中的函数$f(x)$可以表示为内积形式:

\[f(x) = <f,\phi(x)>_{\mathcal{H}}\]

MMD可以写作:

\[\begin{aligned} \text{MMD}(f,p(x),q(x)) &= \mathop{\sup}_{||f||_{\mathcal{H}} \leq 1} <f,\Bbb{E}_{x \text{~} p(x)}[\phi(x)]>_{\mathcal{H}} -<f,\Bbb{E}_{x \text{~} q(x)}[\phi(x)]>_{\mathcal{H}} \\ &= \mathop{\sup}_{||f||_{\mathcal{H}} \leq 1} <f,\Bbb{E}_{x \text{~} p(x)}[\phi(x)]-\Bbb{E}_{x \text{~} q(x)}[\phi(x)]>_{\mathcal{H}} \end{aligned}\]

MMD的平方可以写作:

\[\begin{aligned} \text{MMD}^2(f,p(x),q(x)) &= (\mathop{\sup}_{||f||_{\mathcal{H}} \leq 1} <f,\Bbb{E}_{x \text{~} p(x)}[\phi(x)]-\Bbb{E}_{x \text{~} q(x)}[\phi(x)]>_{\mathcal{H}})^2 \\ &= ||\Bbb{E}_{x \text{~} p(x)}[\phi(x)]-\Bbb{E}_{x \text{~} q(x)}[\phi(x)]||_{\mathcal{H}}^2 \end{aligned}\]

其中上式应用了两个向量内积的最大值必定在两向量同方向上取得,即当\(f=\Bbb{E}_{x \text{~} p(x)}[\phi(x)]-\Bbb{E}_{x \text{~} q(x)}[\phi(x)]\)时取得最大值。

对期望的计算应用蒙特卡洛估计,可得:

\[\begin{aligned} \text{MMD}^2(f,p(x),q(x)) &= ||\Bbb{E}_{x \text{~} p(x)}[\phi(x)]-\Bbb{E}_{x \text{~} q(x)}[\phi(x)]||_{\mathcal{H}}^2 \\ &≈ ||\frac{1}{m}\sum_{i=1}^m\phi(x_i)-\frac{1}{n}\sum_{j=1}^n\phi(x_j)||_{\mathcal{H}}^2 \end{aligned}\]

引入核函数 $\kappa(x,x’)=<\phi(x),\phi(x’)>_{\mathcal{H}}$,则MMD的平方近似计算为:

\[\begin{aligned} \text{MMD}^2(f,p(x),q(x)) = & \Bbb{E}_{x,x' \text{~} p(x)} [\kappa(x,x')] + \Bbb{E}_{x,x' \text{~} q(x)} [\kappa(x,x')] \\ & -2\Bbb{E}_{x \text{~} p(x),x' \text{~} q(x)} [\kappa(x,x')] \\ ≈ &\frac{1}{m^2}\sum_{i=1}^m\sum_{i'=1}^m \kappa(x_i,x_{i'})+\frac{1}{n^2}\sum_{j=1}^n\sum_{j'=1}^n \kappa(x_j,x_{j'}) \\ & - \frac{2}{mn}\sum_{i=1}^m\sum_{j=1}^n \kappa(x_i,x_j) \end{aligned}\]

KID定义为在Inception模型提取的特征空间中的MMD

\[\begin{aligned} \text{KID}(P_{data}(x),P_G(x))=& \Bbb{E}_{x,x' \text{~} P_{data}(x)} [\kappa(x,x')] + \Bbb{E}_{x,x' \text{~} P_G(x)} [\kappa(x,x')] \\& -2\Bbb{E}_{x \text{~} P_{data}(x),x' \text{~} P_G(x)} [\kappa(x,x')] \end{aligned}\]

其中$x$是Inception模型的编码层(分类层之前)提取图像的视觉特征向量,核函数设置为:

\[\kappa(x,x') = (\frac{1}{d}x^Tx' + 1)^3\]

相比于FIDKID并没有显示地定义多项式基$f(x)$的形式,而是通过核技巧定义了内积空间,从而可以考虑到任意阶数的特征矩。