machine-learning
  • Welcome
  • 动手学深度学习
    • 1. 前言
    • 2. 预备知识
    • 3. 线性神经网络
    • 4. 多层感知机
    • 5. 深度学习计算
    • 6. 卷积神经网络
    • 7. 现代卷积神经网络
    • 8. 循环神经网络
    • 9. 现代循环神经网络
    • 10. 注意力机制
    • 11. 优化算法
    • 12. 计算性能
    • 13. 计算机视觉
    • 14. 自然语言处理:预训练
    • 15. 自然语言处理:应用
    • 16. 附录:深度学习工具
  • 百面机器学习
    • 1. 特征工程
    • 2. 模型评估
    • 3. 经典算法
    • 4. 降维
    • 5. 非监督学习
    • 6. 概率图模型
    • 7. 优化算法
    • 8. 采样
    • 9. 前向神经网络
    • 10. 循环神经网络
    • 11. 强化学习
    • 12. 集成学习
    • 13. 生成式对抗网络
    • 14. 人工智能的热门应用
  • 百面深度学习
    • 1. 卷积神经网络 CNN
    • 2. 循环神经网络 RNN
    • 3. 图神经网络 GNN
    • 4. 生成模型
    • 5. 生成式对抗网络 GAN
    • 6. 强化学习 RL
    • 7. 元学习
    • 8. 自动化机器学习 AutoML
    • 9. 计算机视觉 CV
    • 10. 自然语言处理 NLP
    • 11. 推荐系统
    • 12. 计算广告
    • 13. 视频处理
    • 14. 计算机听觉
    • 15. 自动驾驶
  • 统计学习方法
  • 推荐系统实践
    • 1. 推荐系统
    • 2. 特征工程
    • 3. Embedding
    • 4. 精排
    • 5. 召回
    • 6. 粗排/重排
    • 7. 多任务/多场景
    • 8. 冷启动
    • 9. 评估调试
    • 10. 自我修养
  • 深度学习推荐系统
    • 1. 推荐系统
    • 2. 进化之路
    • 3. 深度学习的应用
    • 4. Embedding
    • 5. 多角度审视
    • 6. 工程实现
    • 7. 评估方法
    • 8. 前沿实践
    • 9. 知识框架
  • 强化学习的数学原理
    • 1. 基础概念
    • 2. 贝尔曼公式
    • 3. 贝尔曼最优公式
    • 4. 值迭代与策略迭代
    • 5. 蒙特卡洛方法
    • 6. 随机近似与随机梯度下降
    • 7. 时序差分方法
    • 8. 值函数近似
    • 9. 策略梯度方法
    • 10. Actor-Critic方法
Powered by GitBook
On this page
  • 5.1 GAN 的基本原理 *****
  • 1. AE, VAE, GAN 的联系与区别 ***
  • 2. 原始 GAN 理论问题
  • 3. 原始 GAN 实际问题
  • 5.2 GAN 的改进 ****
  • 5.3 GAN 的效果评估 *
  • 5.4 GAN 的应用 ****
  • 1. 高分辨率图像
  • 2. 图像 - 图像 翻译
  • 3. CycleGAN 图像风格迁移
  • 4. 半监督学习
  1. 百面深度学习

5. 生成式对抗网络 GAN

Previous4. 生成模型Next6. 强化学习 RL

Last updated 3 years ago

5.1 GAN 的基本原理 *****

1. AE, VAE, GAN 的联系与区别 ***

  • AE:压缩(Encoder)+ 解压(Decoder)

    • 重构误差:只会模仿,不会创造

  • VAE:加入约束,隐向量后验分布 q(z∣x)q(z|x)q(z∣x) 接近特定分布

    • 重构误差 + 隐变量空间约束:随机生成新的样本

      • 均值:相当于 AE 中的 Encoder

      • 标准差:相当于为重构过程增加噪声

  • GAN:min⁡Gmax⁡DV(G,D)=Ex∼pdatalog⁡D(x)+Ez∼pz(z)log⁡(1−D(G(z)))\min_G\max_D V(G,D)=\mathbb E_{x\sim p_{data}} \log D(x)+\mathbb E_{z\sim p_z(z)} \log(1-D(G(z)))minG​maxD​V(G,D)=Ex∼pdata​​logD(x)+Ez∼pz​(z)​log(1−D(G(z)))

    • VAE 同步训练,GAN 交替优化

    • GAN 可能 模式坍塌、训练不稳定

2. 原始 GAN 理论问题

  • 优化饱和:早期 G 很差,D 容易识别,使得回传给 G 的梯度小

  • 模式坍缩:缺乏多样性,倾向于模仿真实样本数据

3. 原始 GAN 实际问题

  • 理论上收敛性,不能保证实际收敛(非凸)

  • 局部纳什均衡,模式坍塌

  • 缺乏评价方法和准则:训练收敛,生成好坏

5.2 GAN 的改进 ****

  • 目标函数

    • f-散度:交叉熵(忽略高置信)、MSE(靠近决策边界)

    • 积分概率度量 IPM:Wasserstein、均值特征匹配

    • 辅助项:重建目标(图像语义)、分类目标(半监督 / 风格迁移)

  • 模型结构:堆叠层次化结构、逐渐增加网络层数

  • 训练过程:特征匹配技术、单边标签平滑、谱归一化

5.3 GAN 的效果评估 *

Inception:使用 ImageNet 上与训练好的 Inception-v3 分类网络

  • IS(Inception Score):生成样本的质量、多样性

  • FID(Frechet Inception Distance):倒数第二层特征图,比较真实/生成的均值和方差

5.4 GAN 的应用 ****

1. 高分辨率图像

  • SNGAN:谱归一化、Hinge 损失

  • SAGAN:自注意力机制

  • BigGAN:增大参数规模,噪声嵌入+截断技巧

2. 图像 - 图像 翻译

  • 超分辨率重建:对抗损失 + 感知域损失(颜色 / 结构 / 形态)

  • 图像补全:对抗损失 确保真实性,或 感知域损失 / 重构损失

  • 图像风格迁移:主流是无监督

3. CycleGAN 图像风格迁移

  • 生成器 * 2 + 判别器 * 2

4. 半监督学习

  • 半监督学习方法:低密度分离方法、生成模型、平滑假设

    • 判别任务:判别图像 真 / 假

    • 分类任务:真样本的标签信息,e.g. 交叉熵

    • 数据:有标签 + 无标签 + 生成数据

GAN 半监督学习 LD=Ex∼pdatalog⁡D(x)+Ez∼pz(z)log⁡(1−D(G(z)))−E(x,y)∼pdata(x,y)log⁡p(y∣x,y<K+1)\mathcal L_D=\mathbb E_{x\sim p_{data}} \log D(x)+\mathbb E_{z\sim p_z(z)} \log(1-D(G(z)))-\mathbb E_{(x,y)\sim p_{data}(x,y)} \log p(y|x,y<K+1)LD​=Ex∼pdata​​logD(x)+Ez∼pz​(z)​log(1−D(G(z)))−E(x,y)∼pdata​(x,y)​logp(y∣x,y<K+1)