深度学习之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。也就是说,这些评价指标的计算无法只利用:生成的样本,真实样本来计算。

相关推荐
Hoper.J5 分钟前
用两行命令快速搭建深度学习环境(Docker/torch2.5.1+cu118/命令行美化+插件),包含完整的 Docker 安装步骤
人工智能·深度学习·docker
Shaidou_Data10 分钟前
信息技术引领未来:大数据治理的实践与挑战
大数据·人工智能·数据清洗·信息技术·数据治理技术
Elastic 中国社区官方博客11 分钟前
开始使用 Elastic AI Assistant 进行可观察性和 Microsoft Azure OpenAI
大数据·人工智能·elasticsearch·microsoft·搜索引擎·全文检索·azure
qq_2739002328 分钟前
pytorch detach方法介绍
人工智能·pytorch·python
AI狂热爱好者1 小时前
A3超级计算机虚拟机,为大型语言模型LLM和AIGC提供强大算力支持
服务器·人工智能·ai·gpu算力
边缘计算社区1 小时前
推理计算:GPT-o1 和 AI 治理
人工智能·gpt
OBOO鸥柏2 小时前
OBOO鸥柏“触摸屏广告一体机交互”亮相2024中国珠海航展
大数据·人工智能·科技·交互
声网2 小时前
DeepL Voice:会议、对话实时语音翻译工具;吴佳俊团队:场景语言,智能补全文本到 3D 的场景理解
人工智能
Geeksend邮件营销2 小时前
定时清理潜在客户列表中的无效邮箱可提高EDM电子邮件自动化营销邮件送达率
人工智能·产品运营·用户运营·内容运营
新加坡内哥谈技术2 小时前
提升AI性能的关键大型语言模型(LLM)压缩策略
人工智能·语言模型·自然语言处理