深度学习之GAN的生成能力评价

1.1 如何客观评价GAN的生成能力?

​ 最常见评价GAN的方法就是主观评价。主观评价需要花费大量人力物力,且存在以下问题:

  • 评价带有主管色彩,有些bad case没看到很容易造成误判

  • 如果一个GAN过拟合了,那么生成的样本会非常真实,人类主观评价得分会非常高,可是这并不是一个好的GAN。

因此,就有许多学者提出了GAN的客观评价方法。

1.2 Inception Score

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

  • 对于同一个类别的图片,其输出的概率分布应该趋向于一个脉冲分布。可以保证生成样本的准确性。
  • 对于所有类别,其输出的概率分布应该趋向于一个均匀分布,这样才不会出现mode dropping等,可以保证生成样本的多样性。

​ 因此,可以设计如下指标:
KaTeX parse error: Can't use function '' in math mode at position 76: ...,如果是一个训练良好的GAN,̲p_M(y|x)$趋近于脉冲...

​ 根据前面分析,如果是一个训练良好的GAN, p M ( y ∣ x ) p_M(y|x) pM(y∣x)趋近于脉冲分布, p M ( y ) p_M(y) pM(y)趋近于均匀分布。二者KL散度会很大。Inception Score自然就高。实际实验表明,Inception Score和人的主观判别趋向一致。IS的计算没有用到真实数据,具体值取决于模型M的选择。

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

1.3 Mode Score

​ Mode Score作为Inception Score的改进版本,添加了关于生成样本和真实样本预测的概率分布相似性度量一项。具体公式如下:
M S ( P g ) = e E x ∼ P g [ K L ( p M ( y ∣ x ) ∥ p M ( y ) ) − K L ( p M ( y ) ∥ p M ( y ∗ ) ) ] 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^*))]} MS(Pg)=eEx∼Pg[KL(pM(y∣x)∥pM(y))−KL(pM(y)∥pM(y∗))]

1.4 Kernel MMD (Maximum Mean Discrepancy)

计算公式如下:
M M D 2 ( P r , P g ) = E x r ∼ P r , x g ∼ P g [ ∥ Σ i = 1 n 1 k ( x r ) − Σ i = 1 n 2 k ( x g ) ∥ ] 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] MMD2(Pr,Pg)=Exr∼Pr,xg∼Pg[∥Σi=1n1k(xr)−Σi=1n2k(xg)∥]

​ 对于Kernel MMD值的计算,首先需要选择一个核函数 k k k,这个核函数把样本映射到再生希尔伯特空间(Reproducing Kernel Hilbert Space, RKHS) ,RKHS相比于欧几里得空间有许多优点,对于函数内积的计算是完备的。将上述公式展开即可得到下面的计算公式:
M M D 2 ( P r , P g ) = E x r , x r ′ ∼ P r , x g , x g ′ ∼ P g [ k ( x r , x r ′ ) − 2 k ( x r , x g ) + k ( x g , x g ′ ) ] 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{'})] MMD2(Pr,Pg)=Exr,xr′∼Pr,xg,xg′∼Pg[k(xr,xr′)−2k(xr,xg)+k(xg,xg′)]

MMD值越小,两个分布越接近。

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

1.5 Wasserstein distance

​ Wasserstein distance在最优传输问题中通常也叫做推土机距离。这个距离的介绍在WGAN中有详细讨论。公式如下:
W D ( P r , P g ) = m i n ω ∈ R m × n Σ i = 1 n Σ i = 1 m ω i j d ( x i r , x j g ) 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) WD(Pr,Pg)=minω∈Rm×nΣi=1nΣi=1mωijd(xir,xjg)

s . t . Σ i = 1 m w i , j = p r ( x i r ) , ∀ i ; Σ j = 1 n w i , j = p g ( x j g ) , ∀ j 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 s.t.Σi=1mwi,j=pr(xir),∀i;Σj=1nwi,j=pg(xjg),∀j

​ Wasserstein distance可以衡量两个分布之间的相似性。距离越小,分布越相似。

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

1.6 Fréchet Inception Distance (FID)

​ FID距离计算真实样本,生成样本在特征空间之间的距离。首先利用Inception网络来提取特征,然后使用高斯模型对特征空间进行建模。根据高斯模型的均值和协方差来进行距离计算。具体公式如下:
KaTeX parse error: Can't use function '$' in math mode at position 83: ...C_rC_g)^{1/2}) ̲\\mu,C分别代表协方差和均...
μ , C \mu,C μ,C分别代表协方差和均值。

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

1.7 -Nearest Neighbor classifier

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

  • 对于真实样本 x r x_r xr,进行1-NN分类的时候,如果生成的样本越真实。则真实样本空间 R \mathbb R R将被生成的样本 x g x_g xg包围。那么 x r x_r xr的精度会很低。
  • 对于生成的样本 x g x_g xg,进行1-NN分类的时候,如果生成的样本多样性不足。由于生成的样本聚在几个mode,则 x g x_g xg很容易就和 x r x_r xr区分,导致精度会很高。

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

1.8 其他评价方法

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

相关推荐
拓端研究室10 分钟前
【专题】2024年悦己生活消费洞察报告汇总PDF洞察(附原数据表)
人工智能
月眠老师13 分钟前
拓展AI超级智能后的人类生活场景
人工智能·生活
是十一月末41 分钟前
Opencv实现图片的边界填充和阈值处理
人工智能·python·opencv·计算机视觉
机智的叉烧1 小时前
前沿重器[57] | sigir24:大模型推荐系统的文本ID对齐学习
人工智能·学习·机器学习
凳子花❀1 小时前
强化学习与深度学习以及相关芯片之间的区别
人工智能·深度学习·神经网络·ai·强化学习
泰迪智能科技013 小时前
高校深度学习视觉应用平台产品介绍
人工智能·深度学习
盛派网络小助手4 小时前
微信 SDK 更新 Sample,NCF 文档和模板更新,更多更新日志,欢迎解锁
开发语言·人工智能·后端·架构·c#
Eric.Lee20214 小时前
Paddle OCR 中英文检测识别 - python 实现
人工智能·opencv·计算机视觉·ocr检测
cd_farsight4 小时前
nlp初学者怎么入门?需要学习哪些?
人工智能·自然语言处理
AI明说4 小时前
评估大语言模型在药物基因组学问答任务中的表现:PGxQA
人工智能·语言模型·自然语言处理·数智药师·数智药学