【人工智能引论期末复习】第6章 深度学习5 - GAN(生成对抗网络)
一、基本概念与填空考点
-
GAN全称:生成对抗网络(Generative Adversarial Network)
-
GAN的核心组成:
-
生成器(Generator,G):生成合成数据
-
判别器(Discriminator,D):判断数据真伪
-
-
GAN的训练目标:
-
G:生成逼真数据以“欺骗”D
-
D:准确区分真实数据与生成数据
-
-
GAN的训练过程:
-
交替训练:先固定G训练D,再固定D训练G
-
-
GAN的优化目标:
-
达到纳什均衡(双方无法单独改善自己的策略)
-
-
GAN与判别模型的区别:
-
GAN是生成模型,学习数据分布;判别模型直接建模分类概率 p(y∣x)p(y∣x)
-
二、GAN的变体与扩展
-
Conditional GAN(CGAN):
-
输入:条件 cc + 噪声 zz
-
输出:条件相关的生成数据
-
应用:文本生成图像、图像翻译、风格迁移
-
-
CycleGAN:
-
特点:无需配对数据,实现两个域之间的转换
-
应用:风格迁移(如照片→梵高画风)
-
-
Wasserstein GAN(WGAN):
-
改进:使用Wasserstein距离,缓解训练不稳定和模式崩溃问题
-
-
Defense-GAN:
-
用途:防御对抗样本攻击
-
原理:通过生成器重构输入,消除对抗性噪声
-
三、GAN的训练机制与问题
-
训练步骤:
-
Step 1:固定G,更新D(用真实数据和生成数据训练判别器)
-
Step 2:固定D,更新G(用判别器反馈优化生成器)
-
-
常见训练问题:
-
模式崩溃(Mode Collapse):生成器只生成少数几种样本
-
梯度消失:判别器过于强大,生成器无法学习
-
训练不稳定:交替训练中容易出现震荡
-
-
损失函数(了解即可):
-
原始GAN使用交叉熵损失
-
WGAN使用Wasserstein距离
-
四、GAN的应用场景
-
图像生成:从随机噪声生成逼真图像
-
文本生成图像:基于文字描述生成对应图像(如“一只红色的鸟”)
-
图像翻译:如pix2pix(图像→图像转换)
-
超分辨率重建:从低分辨率图像生成高分辨率图像
-
对抗样本防御:利用GAN重构输入,消除攻击噪声
-
风格迁移:如CycleGAN实现域间转换
五、CGAN与文本生成图像
-
CGAN输入:
-
条件 c(如文字描述)
-
噪声 z(从先验分布采样)
-
-
CGAN训练样本:
-
正样本:真实图片 + 对应文字
-
负样本:假图片 + 任意文字 / 真实图片 + 错误文字
-
-
CGAN优势:
-
避免监督学习中图像模糊问题(避免多目标平均)
-
六、GAN与对抗样本
-
对抗样本定义:通过添加细微干扰,使模型错误分类的输入
-
Defense-GAN防御机制:
-
用生成器学习真实数据分布
-
对输入进行重构,去除对抗性扰动
-
将重构后的输入送入分类器
-
七、重要人物与论文
-
Ian Goodfellow:2014年提出GAN
-
CGAN论文:Conditional Generative Adversarial Nets(2014)
-
CycleGAN论文:Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks(2017)
-
WGAN论文:Wasserstein GAN(2017)
✅ 复习建议
-
熟记GAN基本结构:生成器、判别器、训练流程
-
理解CGAN与原始GAN的区别:条件输入、应用场景
-
掌握GAN常见问题与改进:模式崩溃、训练不稳定、WGAN改进
-
熟悉GAN在图像生成、翻译、防御等场景的应用
-
注意考试可能涉及的填空题:如“GAN由哪两部分组成”、“CGAN的输入包括什么”
🔤 GAN 填空题集
-
GAN的全称是生成对抗网络,由生成器和判别器两部分组成。
-
GAN的训练过程是交替训练,先固定生成器训练判别器,再固定判别器训练生成器。
-
GAN的目标是达到纳什均衡,此时生成数据与真实数据难以区分。
-
Conditional GAN(CGAN)在生成器的输入中增加了条件信息c,用于控制生成内容。
-
CycleGAN用于无配对数据的域间转换,如将照片转换为梵高画风。
-
GAN常见的训练问题是模式崩溃和梯度消失。
-
WGAN使用Wasserstein距离作为损失函数,缓解了训练不稳定的问题。
-
Defense-GAN通过生成器重构输入来防御对抗样本攻击。
-
在文本生成图像任务中,CGAN的判别器需要同时判断图像是否真实和是否与文本描述匹配。
-
GAN是生成模型,判别模型如SVM是判别模型,两者在建模目标上不同。
❓ GAN 简答题集
1. 简述GAN的基本结构和训练过程。
-
结构:生成器G从随机噪声生成数据,判别器D判断输入是真实数据还是生成数据。
-
训练:
-
固定G,用真实数据和G生成的数据训练D,使其能区分真假。
-
固定D,用D的反馈训练G,使其生成更逼真的数据以“欺骗”D。
-
交替进行,直至达到纳什均衡。
-
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:条件生成,可控制输出内容。
✅ 复习建议
-
熟记填空题中的关键词,如“生成器”、“判别器”、“条件信息”、“纳什均衡”。
-
理解简答题中的机制与区别,能用自己的话描述GAN的训练、应用与问题。
-
注意概念辨析,尤其是判别模型与生成模型、GAN与VAE、原始GAN与CGAN/WGAN的区别。
-
结合图像生成、文本生成图像、风格迁移等应用场景理解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是如何防御对抗样本的?简述其流程。
-
训练生成器学习干净数据的分布。
-
对输入图像进行重构,最小化与生成器输出的差异。
-
将重构后的图像送入分类器,消除对抗性扰动的影响。
✅ 复习建议
-
选择题要掌握常见变体、问题与应用。
-
图文题要能画出结构图,理解信息流动路径。
-
机制理解题要能简述原理、问题与解决方案。
-
结合课件中的示例(如文本生成图像、CycleGAN风格迁移)理解实际应用。





三、训练流程分析题
题目4:GAN交替训练流程描述
题目:
请用伪代码描述GAN的一轮训练流程,包括:
-
采样真实数据 batch
-
采样噪声 batch
-
更新判别器
-
更新生成器
解答(伪代码):
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:真实图像 + 错误的文本描述
-
四、综合应用题
题目6:用GAN实现手写数字生成的流程设计
题目:
假设你要用GAN生成MNIST手写数字图像,请设计:
-
生成器G的输入维度与结构简述
-
判别器D的输入与输出
-
训练过程中如何评估生成质量
解答:
-
生成器G:
-
输入:100维噪声向量z
-
结构:全连接层 → 上采样 → 卷积层 → 输出28×28×1图像
-
-
判别器D:
-
输入:28×28×1图像
-
输出:一个标量,表示图像为真的概率
-
-
评估方法:
-
可视化生成图像
-
使用Inception Score(IS)或Fréchet Inception Distance(FID)
-
人工观察多样性与清晰度
-
题目7:Defense-GAN防御流程分析
题目:
给定一个被对抗样本攻击的图像 xadvxadv,Defense-GAN通过以下步骤重构图像:
-
从噪声向量z出发,通过生成器G得到生成图像 G(z)G(z)
-
最小化 ∥G(z)−xadv∥2∥G(z)−xadv∥2
-
将最优的 G(z∗)G(z∗) 送入分类器
请分析:
-
为什么这样做可以防御对抗攻击?
-
该方法的局限性是什么?
解答:
-
防御原理:
-
对抗样本通常位于数据分布之外,但添加的扰动很小。
-
通过生成器重构,将图像拉回到真实数据分布中,去除异常扰动。
-
-
局限性:
-
重构可能丢失细节信息。
-
对强攻击或大扰动防御效果有限。
-
生成器必须很好地覆盖真实数据分布。
-
✅ 复习建议
-
掌握损失函数:理解原始GAN、CGAN、WGAN的损失函数形式与含义。
-
熟悉训练流程:能描述交替训练步骤,理解正负样本构建。
-
会设计简单GAN:能根据任务设计生成器与判别器结构。
-
理解防御机制:掌握Defense-GAN、对抗样本防御的基本原理。
DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐



所有评论(0)