一、基本概念与填空考点

  1. GAN全称:生成对抗网络(Generative Adversarial Network)

  2. GAN的核心组成

    • 生成器(Generator,G):生成合成数据

    • 判别器(Discriminator,D):判断数据真伪

  3. GAN的训练目标

    • G:生成逼真数据以“欺骗”D

    • D:准确区分真实数据与生成数据

  4. GAN的训练过程

    • 交替训练:先固定G训练D,再固定D训练G

  5. GAN的优化目标

    • 达到纳什均衡(双方无法单独改善自己的策略)

  6. GAN与判别模型的区别

    • GAN是生成模型,学习数据分布;判别模型直接建模分类概率 p(y∣x)p(y∣x)


二、GAN的变体与扩展

  1. Conditional GAN(CGAN)

    • 输入:条件 cc + 噪声 zz

    • 输出:条件相关的生成数据

    • 应用:文本生成图像、图像翻译、风格迁移

  2. CycleGAN

    • 特点:无需配对数据,实现两个域之间的转换

    • 应用:风格迁移(如照片→梵高画风)

  3. Wasserstein GAN(WGAN)

    • 改进:使用Wasserstein距离,缓解训练不稳定和模式崩溃问题

  4. Defense-GAN

    • 用途:防御对抗样本攻击

    • 原理:通过生成器重构输入,消除对抗性噪声


三、GAN的训练机制与问题

  1. 训练步骤

    • Step 1:固定G,更新D(用真实数据和生成数据训练判别器)

    • Step 2:固定D,更新G(用判别器反馈优化生成器)

  2. 常见训练问题

    • 模式崩溃(Mode Collapse):生成器只生成少数几种样本

    • 梯度消失:判别器过于强大,生成器无法学习

    • 训练不稳定:交替训练中容易出现震荡

  3. 损失函数(了解即可)

    • 原始GAN使用交叉熵损失

    • WGAN使用Wasserstein距离


四、GAN的应用场景

  1. 图像生成:从随机噪声生成逼真图像

  2. 文本生成图像:基于文字描述生成对应图像(如“一只红色的鸟”)

  3. 图像翻译:如pix2pix(图像→图像转换)

  4. 超分辨率重建:从低分辨率图像生成高分辨率图像

  5. 对抗样本防御:利用GAN重构输入,消除攻击噪声

  6. 风格迁移:如CycleGAN实现域间转换


五、CGAN与文本生成图像

  1. CGAN输入

    • 条件 c(如文字描述)

    • 噪声 z(从先验分布采样)

  2. CGAN训练样本

    • 正样本:真实图片 + 对应文字

    • 负样本:假图片 + 任意文字 / 真实图片 + 错误文字

  3. CGAN优势

    • 避免监督学习中图像模糊问题(避免多目标平均)


六、GAN与对抗样本

  1. 对抗样本定义:通过添加细微干扰,使模型错误分类的输入

  2. Defense-GAN防御机制

    • 用生成器学习真实数据分布

    • 对输入进行重构,去除对抗性扰动

    • 将重构后的输入送入分类器


七、重要人物与论文

  1. Ian Goodfellow:2014年提出GAN

  2. CGAN论文:Conditional Generative Adversarial Nets(2014)

  3. CycleGAN论文:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks(2017)

  4. WGAN论文:Wasserstein GAN(2017)


✅ 复习建议

  1. 熟记GAN基本结构:生成器、判别器、训练流程

  2. 理解CGAN与原始GAN的区别:条件输入、应用场景

  3. 掌握GAN常见问题与改进:模式崩溃、训练不稳定、WGAN改进

  4. 熟悉GAN在图像生成、翻译、防御等场景的应用

  5. 注意考试可能涉及的填空题:如“GAN由哪两部分组成”、“CGAN的输入包括什么”


🔤 GAN 填空题集

  1. GAN的全称是生成对抗网络,由生成器判别器两部分组成。

  2. GAN的训练过程是交替训练,先固定生成器训练判别器,再固定判别器训练生成器

  3. GAN的目标是达到纳什均衡,此时生成数据与真实数据难以区分

  4. Conditional GAN(CGAN)在生成器的输入中增加了条件信息c,用于控制生成内容。

  5. CycleGAN用于无配对数据的域间转换,如将照片转换为梵高画风。

  6. GAN常见的训练问题是模式崩溃梯度消失

  7. WGAN使用Wasserstein距离作为损失函数,缓解了训练不稳定的问题。

  8. Defense-GAN通过生成器重构输入来防御对抗样本攻击。

  9. 在文本生成图像任务中,CGAN的判别器需要同时判断图像是否真实和是否与文本描述匹配

  10. GAN是生成模型,判别模型如SVM是判别模型,两者在建模目标上不同。


❓ GAN 简答题集

1. 简述GAN的基本结构和训练过程。

  • 结构:生成器G从随机噪声生成数据,判别器D判断输入是真实数据还是生成数据。

  • 训练

    1. 固定G,用真实数据和G生成的数据训练D,使其能区分真假。

    2. 固定D,用D的反馈训练G,使其生成更逼真的数据以“欺骗”D。

    3. 交替进行,直至达到纳什均衡。

2. 什么是Conditional GAN(CGAN)?它与原始GAN的主要区别是什么?

  • CGAN是条件生成对抗网络,在生成器和判别器的输入中加入条件信息(如文本标签)。

  • 区别

    • 原始GAN输入仅为噪声z,CGAN输入为噪声z + 条件c。

    • CGAN可以控制生成内容,实现条件生成(如根据文字生成图像)。

3. 列举GAN在图像生成中的三个应用场景。

  • 图像生成(如人脸生成)

  • 图像翻译(如pix2pix)

  • 风格迁移(如CycleGAN)

4. GAN训练中常见的“模式崩溃”是什么?如何缓解?

  • 模式崩溃:生成器只生成少数几种样本,缺乏多样性。

  • 缓解方法

    • 使用WGAN或WGAN-GP

    • 增加噪声输入多样性

    • 使用多样性正则化或多尺度训练

5. CycleGAN是如何实现无配对数据域间转换的?

  • 使用两个生成器(G: X→Y, F: Y→X)和两个判别器(D_X, D_Y)

  • 引入循环一致性损失:F(G(x)) ≈ x, G(F(y)) ≈ y

  • 无需配对数据,只需两个域的图像集合。

6. GAN在对抗样本防御中是如何工作的?(以Defense-GAN为例)

  • 训练生成器学习真实数据分布。

  • 对输入图像进行重构,去除对抗性噪声。

  • 将重构后的图像送入分类器进行分类,提高模型鲁棒性。

7. 为什么CGAN在文本生成图像任务中比传统监督学习方法更有效?

  • 传统监督学习方法容易生成模糊图像(多目标平均问题)。

  • CGAN通过判别器同时评估图像真实性和条件匹配性,避免模糊,生成更清晰、更符合描述的图像。


🧩 GAN 概念辨析题

1. 判别模型 vs 生成模型

  • 判别模型:直接建模 p(y∣x)p(y∣x),如SVM、逻辑回归。

  • 生成模型:建模 p(x,y)p(x,y) 或 p(x∣y)p(x∣y),如GAN、VAE。

2. GAN vs VAE

  • GAN:通过对抗训练生成逼真样本,但不直接建模数据分布。

  • VAE:通过编码-解码结构建模数据分布,生成样本可能较模糊。

3. 原始GAN vs WGAN

  • 原始GAN:使用交叉熵损失,训练不稳定。

  • WGAN:使用Wasserstein距离,缓解模式崩溃,训练更稳定。

4. CGAN vs 原始GAN

  • 原始GAN:无条件生成。

  • CGAN:条件生成,可控制输出内容。


✅ 复习建议

  1. 熟记填空题中的关键词,如“生成器”、“判别器”、“条件信息”、“纳什均衡”。

  2. 理解简答题中的机制与区别,能用自己的话描述GAN的训练、应用与问题。

  3. 注意概念辨析,尤其是判别模型与生成模型、GAN与VAE、原始GAN与CGAN/WGAN的区别。

  4. 结合图像生成、文本生成图像、风格迁移等应用场景理解GAN的实际价值。


如果需要,我可以继续提供GAN相关的选择题或图文题,帮助你更全面地备考。是否继续?

继续

以下是针对《第6章 深度学习5-GAN》的选择题与图文题集,结合课件内容与考试风格设计,帮助你更全面地备考:


🔘 GAN 选择题集

1. GAN中生成器(Generator)的主要作用是:

A) 判断输入图像是否为真实图像
B) 从随机噪声生成逼真图像
C) 对图像进行分类
D) 对图像进行降维
答案:B

2. 在GAN训练中,判别器(Discriminator)的目标是:

A) 生成尽可能真实的图像
B) 最大化对真实图像和生成图像的区分能力
C) 最小化生成图像的多样性
D) 学习数据分布
答案:B

3. Conditional GAN(CGAN)与原始GAN的主要区别在于:

A) CGAN使用两个生成器
B) CGAN在输入中加入条件信息
C) CGAN不需要判别器
D) CGAN只能用于文本生成
答案:B

4. 以下哪种GAN变体最适合实现“照片→梵高画风”的无配对转换?

A) WGAN
B) CycleGAN
C) Defense-GAN
D) CGAN
答案:B

5. 模式崩溃(Mode Collapse)是指:

A) 生成器生成过于多样的图像
B) 生成器只生成少数几种图像
C) 判别器无法区分真假图像
D) 训练过程中梯度爆炸
答案:B

6. WGAN的主要改进是:

A) 使用交叉熵损失函数
B) 引入条件信息
C) 使用Wasserstein距离缓解训练不稳定
D) 增加生成器层数
答案:C

7. Defense-GAN主要用于:

A) 生成对抗样本
B) 防御对抗样本攻击
C) 图像风格迁移
D) 文本生成图像
答案:B

8. 在CGAN的文本生成图像任务中,判别器需要评估:

A) 图像是否真实
B) 图像是否与文本描述匹配
C) 图像是否清晰
D) A和B
答案:D

9. GAN的训练过程是:

A) 同时训练生成器和判别器
B) 先训练生成器,再训练判别器
C) 交替训练生成器和判别器
D) 只训练生成器
答案:C

10. 以下哪个不是GAN的典型应用?

A) 图像超分辨率
B) 图像分类
C) 图像风格迁移
D) 对抗样本防御
答案:B


🖼️ GAN 图文题(结构理解)

1. 画出原始GAN的结构示意图,标注生成器(G)、判别器(D)、噪声输入(z)、真实数据(x)和输出(真假判断)。

text

示意图描述:

噪声 z → [生成器 G] → 生成图像 x̂
真实图像 x ────────────┐
                      ↓
               [判别器 D] → 输出:真/假概率

2. 画出CGAN在文本生成图像任务中的结构图,标注条件输入(c)、噪声输入(z)、生成图像、判别器输入与输出。

text

条件 c(文本)→ 
噪声 z → [生成器 G] → 生成图像 x̂
真实图像 x + 条件 c → [判别器 D] → 输出:是否真实 + 是否匹配

3. 画出CycleGAN的循环一致性结构图,标注两个生成器(G、F)、两个判别器(D_X、D_Y)和两个域的图像(X、Y)。

text

域 X → [生成器 G] → 域 Y → [生成器 F] → 重构域 X
      ↓                      ↑
   [判别器 D_Y]          [判别器 D_X]

📊 GAN 机制理解题(短问答)

1. 为什么GAN的训练容易出现不稳定?

  • 生成器和判别器的目标相互冲突,容易陷入动态平衡的震荡。

  • 梯度消失或爆炸问题。

  • 模式崩溃导致生成样本缺乏多样性。

2. WGAN如何缓解训练不稳定?

  • 使用Wasserstein距离替代交叉熵损失,提供更平滑的梯度。

  • 通过权重裁剪或梯度惩罚(WGAN-GP)约束判别器的Lipschitz连续性。

3. CycleGAN中的“循环一致性损失”是什么?为什么需要它?

  • 循环一致性损失是指:F(G(x)) ≈ x 和 G(F(y)) ≈ y。

  • 它确保图像在域间转换后能重构回原图,防止生成器忽略输入内容。

4. Defense-GAN是如何防御对抗样本的?简述其流程。

  • 训练生成器学习干净数据的分布。

  • 对输入图像进行重构,最小化与生成器输出的差异。

  • 将重构后的图像送入分类器,消除对抗性扰动的影响。


✅ 复习建议

  1. 选择题要掌握常见变体、问题与应用。

  2. 图文题要能画出结构图,理解信息流动路径。

  3. 机制理解题要能简述原理、问题与解决方案。

  4. 结合课件中的示例(如文本生成图像、CycleGAN风格迁移)理解实际应用。

三、训练流程分析题

题目4:GAN交替训练流程描述

题目:
请用伪代码描述GAN的一轮训练流程,包括:

  1. 采样真实数据 batch

  2. 采样噪声 batch

  3. 更新判别器

  4. 更新生成器

解答(伪代码):

text

for epoch in range(num_epochs):
    # 步骤1:更新判别器D
    for k steps:  # 通常k=1或k>1
        采样真实数据 batch {x_i} from p_data
        采样噪声 batch {z_i} from p_z
        生成假数据 batch {G(z_i)}
        计算判别器损失 L_D
        使用梯度下降更新 D 的参数
        
    # 步骤2:更新生成器G
    采样噪声 batch {z_i} from p_z
    计算生成器损失 L_G
    使用梯度下降更新 G 的参数

题目5:CGAN文本生成图像训练样本构建

题目:
在CGAN用于文本生成图像时,判别器D的训练样本包括正样本和负样本。请分别说明:

  1. 正样本的构成

  2. 负样本的两种类型

解答:

  1. 正样本:真实的图像 + 对应的正确文本描述

  2. 负样本

    • 类型1:生成的假图像 + 任意文本描述

    • 类型2:真实图像 + 错误的文本描述


四、综合应用题

题目6:用GAN实现手写数字生成的流程设计

题目:
假设你要用GAN生成MNIST手写数字图像,请设计:

  1. 生成器G的输入维度与结构简述

  2. 判别器D的输入与输出

  3. 训练过程中如何评估生成质量

解答:

  1. 生成器G

    • 输入:100维噪声向量z

    • 结构:全连接层 → 上采样 → 卷积层 → 输出28×28×1图像

  2. 判别器D

    • 输入:28×28×1图像

    • 输出:一个标量,表示图像为真的概率

  3. 评估方法

    • 可视化生成图像

    • 使用Inception Score(IS)或Fréchet Inception Distance(FID)

    • 人工观察多样性与清晰度


题目7:Defense-GAN防御流程分析

题目:
给定一个被对抗样本攻击的图像 xadvxadv​,Defense-GAN通过以下步骤重构图像:

  1. 从噪声向量z出发,通过生成器G得到生成图像 G(z)G(z)

  2. 最小化 ∥G(z)−xadv∥2∥G(z)−xadv​∥2

  3. 将最优的 G(z∗)G(z∗) 送入分类器

请分析:

  1. 为什么这样做可以防御对抗攻击?

  2. 该方法的局限性是什么?

解答:

  1. 防御原理

    • 对抗样本通常位于数据分布之外,但添加的扰动很小。

    • 通过生成器重构,将图像拉回到真实数据分布中,去除异常扰动。

  2. 局限性

    • 重构可能丢失细节信息。

    • 对强攻击或大扰动防御效果有限。

    • 生成器必须很好地覆盖真实数据分布。


✅ 复习建议

  1. 掌握损失函数:理解原始GAN、CGAN、WGAN的损失函数形式与含义。

  2. 熟悉训练流程:能描述交替训练步骤,理解正负样本构建。

  3. 会设计简单GAN:能根据任务设计生成器与判别器结构。

  4. 理解防御机制:掌握Defense-GAN、对抗样本防御的基本原理。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐