神经网络与深度学习

GAN的评价(一):An empirical study on

2018-12-09  本文已影响14人  Mordekaiser

这篇paper的作者评价了各自度量GAN优劣性的指标,并给出了实际工程方面的经验。

现有GAN评价指标存在哪些问题?

现有的一些评价指标,比如Inception score和MMD等,虽然可以在一定程度上评价GAN。但是这些评价指标的适用场景却依然是一个疑问。换句话说,什么场景下,Inception score评价有效,什么时候Inception score会误导却未知。此外,如果一个GAN过拟合了,那么生成的样本会非常真实,人类主观评价得分会非常高,可是这并不是一个好的GAN。

这里也就引出了作者的目的了,那就是如何评价GAN的这些评价指标!

作者做了哪些工作?

作者通过进行大量实验,比较了现在example-based的评价方法。尝试回答了一下问题:

实际实验发现,MMD和1-NN two-sample test是最为合适的评价指标,这两个指标可以较好的区分:真实样本和生成的样本,mode dropping, mode collapsing。且计算高效。

什么是mode collapsing?

某个模式(mode)出现大量重复样本,例如:


model collpsing

上图左侧的蓝色五角星表示真实样本空间,黄色的是生成的。生成样本缺乏多样性,存在大量重复。比如上图右侧中,红框里面人物反复出现。

什么是mode dropping?

这个相对于好理解一下,顾名思义,某些模式(mode)没有,同样也缺乏多样性。例如下图中的人物,除了肤色变化,人物没有任何变化。


mode dropping

GAN的常见评价指标

符号对照

P_g:生成数据分布,P_r表示真实数据分布
E:数学期望
x:输入样本,x\sim P_g表示x为生成样本的采样,x\sim P_r表示x为真实样本的采样。
y:样本标签
M:分类网络,通常选择Inception network

现有的example-based(顾名思义,基于样本层面做评价。)方法,均是对生成样本与真实样本提取特征,然后在特征空间做距离度量。具体框架如下:


example-based评价方法的框架

下面分别对常见的评价指标进行一一介绍:

Inception Score:

对于一个在ImageNet训练良好的GAN,其生成的样本丢给Inception网络进行测试的时候,得到的判别概率应该具有如下特性:

因此,可以设计如下指标:
IS(P_g)=e^{E_{x\sim P_g}[KL(p_M(y|x)\Vert{p_M(y)})]}
根据前面分析,如果是一个训练良好的GAN,p_M(y|x)趋近于脉冲分布,p_M(y)趋近于均匀分布。二者KL散度会很大。Inception Score自然就高。实际实验表明,Inception Score和人的主观判别趋向一致。IS的计算没有用到真实数据,具体值取决于模型M的选择

特点:可以一定程度上衡量生成样本的多样性和准确性,但是无法检测过拟合。Mode Score也是如此。不推荐在和ImageNet数据集差别比较大的数据上使用。

Mode Score:

Mode Score作为Inception Score的改进版本,添加了关于生成样本和真实样本预测的概率分布相似性度量一项。具体公式如下:
MS(P_g)=e^{E_{x\sim P_g}[KL(p_M(y|x)\Vert{p_M(y)})-KL(p_M(y)\Vert p_M(y^*))]}

Kernel MMD (Maximum Mean Discrepancy)

计算公式如下:
MMD^2(P_r,P_g)=E_{x_r\sim{P_r},x_g\sim{P_g}}[\lVert\Sigma_{i=1}^{n1}k(x_r)-\Sigma_{i=1}^{n2}k(x_g)\rVert]
对于Kernel MMD值的计算,首先需要选择一个核函数k,这个核函数把样本映射到再生希尔伯特空间(Reproducing Kernel Hilbert Space, RKHS) ,RKHS相比于欧几里得空间有许多优点,对于函数内积的计算是完备的。将上述公式展开即可得到下面的计算公式:
MMD^2(P_r,P_g)=E_{x_r,x_r{'}\sim{P_r},x_g,x_g{'}\sim{P_g}}[k(x_r,x_r{'})-2k(x_r,x_g)+k(x_g,x_g{'})]
MMD值越小,两个分布越接近。

特点:可以一定程度上衡量模型生成图像的优劣性,计算代价小。推荐使用。

Wasserstein distance

Wasserstein distance在最优传输问题中通常也叫做推土机距离。这个距离的介绍在WGAN中有详细讨论。公式如下:
WD(P_r,P_g)=min_{\omega\in\mathbb{R}^{m\times n}}\Sigma_{i=1}^n\Sigma_{i=1}^m\omega_{ij}d(x_i^r,x_j^g)
s.t. \Sigma_{i=1}^mw_{i,j}=p_r(x_i^r), \forall i;\Sigma_{j=1}^nw_{i,j}=p_g(x_j^g), \forall j
Wasserstein distance可以衡量两个分布之间的相似性。距离越小,分布越相似。

特点:如果特征空间选择合适,会有一定的效果。但是计算复杂度为O(n^3)太高

Fréchet Inception Distance (FID)

FID距离计算真实样本,生成样本在特征空间之间的距离。首先利用Inception网络来提取特征,然后使用高斯模型对特征空间进行建模。根据高斯模型的均值和协方差来进行距离计算。具体公式如下:
FID(\mathbb P_r,\mathbb P_g)=\lVert\mu_r-\mu_g\rVert+Tr(C_r+C_g-2(C_rC_g)^{1/2})
\mu,C分别代表协方差和均值。

特点:尽管只计算了特征空间的前两阶矩,但是鲁棒,且计算高效。

1-Nearest Neighbor classifier

使用留一法,结合1-NN分类器(别的也行)计算真实图片,生成图像的精度。如果二者接近,则精度接近50%,否则接近0%。对于GAN的评价问题,作者分别用正样本的分类精度,生成样本的分类精度去衡量生成样本的真实性,多样性。

特点:理想的度量指标,且可以检测过拟合。

其他评价方法

AIS,KDE方法也可以用于评价GAN,但这些方法不是model agnostic metrics。也就是说,这些评价指标的计算无法只利用:生成的样本,真实样本来计算。

实验

实验部分进行了详细对比。此处不表。
值得注意的是,上述指标对于特征空间的选择尤其重要,特征空间选择不当,可能得出相反的结果。

上一篇下一篇

猜你喜欢

热点阅读