Tailwind CSSTailwind CSS
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
Home
  • Tailwind CSS 书籍目录
  • Vue 3 开发实战指南
  • React 和 Next.js 学习
  • TypeScript
  • React开发框架书籍大纲
  • Shadcn学习大纲
  • Swift 编程语言:从入门到进阶
  • SwiftUI 学习指南
  • 函数式编程大纲
  • Swift 异步编程语言
  • Swift 协议化编程
  • SwiftUI MVVM 开发模式
  • SwiftUI 图表开发书籍
  • SwiftData
  • ArkTS编程语言:从入门到精通
  • 仓颉编程语言:从入门到精通
  • 鸿蒙手机客户端开发实战
  • WPF书籍
  • C#开发书籍
learn
  • Java编程语言
  • Kotlin 编程入门与实战
  • /python/outline.html
  • AI Agent
  • MCP (Model Context Protocol) 应用指南
  • 深度学习
  • 深度学习
  • 强化学习: 理论与实践
  • 扩散模型书籍
  • Agentic AI for Everyone
langchain
  • 第12章:扩散模型的评估与局限性

第12章:扩散模型的评估与局限性

12.1 生成样本的质量评估指标

评估扩散模型生成样本的质量是模型开发和实际应用中的关键环节。本节将详细介绍常用的定量和定性评估指标,并讨论其适用场景与局限性。

12.1.1 定量评估指标

1. Inception Score (IS)

数学定义: [ IS = \exp\left(\mathbb{E}{x \sim p_g} [D{KL}(p(y|x) | p(y))]\right) ] 其中:

  • ( p(y|x) ) 是预训练Inception-v3模型对样本x的类别预测分布
  • ( p(y) ) 是边缘类别分布

优缺点:

  • ✅ 计算简单,反映生成多样性和清晰度
  • ❌ 依赖ImageNet分类器,对非自然图像不敏感

2. Fréchet Inception Distance (FID)

计算步骤:

  1. 提取真实样本和生成样本在Inception-v3某层的特征(默认pool3层)
  2. 假设特征服从多元高斯分布,计算两个分布的Fréchet距离: [ FID = |\mu_r - \mu_g|^2 + Tr(\Sigma_r + \Sigma_g - 2(\Sigma_r\Sigma_g)^{1/2}) ]

特性:

  • 值越低表示质量越好(完美生成器FID=0)
  • 对模式崩溃敏感

3. Precision & Recall (P&R)

  • Precision:生成样本中落在真实数据流形的比例
  • Recall:真实数据能被生成样本覆盖的比例

实现方法:

# 示例:基于k-NN的P&R计算
from sklearn.neighbors import NearestNeighbors

def compute_pr(real_features, gen_features, k=3):
    nn = NearestNeighbors(n_neighbors=k).fit(real_features)
    # 计算precision
    gen_distances, _ = nn.kneighbors(gen_features)
    precision = np.mean(gen_distances[:, -1] < threshold)
    # 计算recall
    real_distances, _ = nn.kneighbors(real_features)
    recall = np.mean(real_distances[:, -1] < threshold)
    return precision, recall

12.1.2 定性评估方法

1. 人类评估(Human Evaluation)

  • 常用指标:
    • 真实感评分(1-5 Likert量表)
    • 配对比较(A/B测试)
  • 案例研究:Stable Diffusion v1.5的人类评估显示:
    • 在512x512图像生成任务中,58%的参与者认为其质量优于GAN-based模型

2. 视觉保真度分析

  • 工具:
    • 像素级差异(PSNR, SSIM)
    • 语义一致性检查(如CLIP-score)

12.1.3 领域特定指标

应用领域专用指标说明
文本生成BLEU, ROUGE, BERTScore语言模型评估指标
3D点云生成Chamfer Distance, EMD几何相似度度量
分子生成Validity, Uniqueness, QED化学性质评估

12.1.4 评估实践建议

  1. 多指标综合:推荐同时使用FID+人类评估+领域指标
  2. 基准对比:在CIFAR-10上,当前SOTA模型的典型表现:
    • FID < 3.0
    • IS > 9.5
  3. 陷阱规避:
    • 避免在小数据集(<10k样本)上计算FID
    • 注意评估指标的尺度敏感性

图12.1:不同评估指标在生成质量不同维度的敏感性对比

深度洞察:近期研究表明,传统评估指标与人类感知的相关性约为0.6-0.8(Spearman系数),开发感知对齐的评估框架仍是开放问题。


注:实际书籍内容应包含:
1. 更多具体数值结果的表格
2. 不同数据集上的基准对比
3. 指标计算的详细数学推导
4. 配套的代码仓库链接(如计算FID的PyTorch实现)
5. 引用最新研究论文(如2023年提出的新评估方法)
Last Updated:: 5/28/25, 11:37 PM