
AIGC 发展史:从 GANs 到扩散模型的视觉生成技术演进
本文系统梳理了视觉AI生成技术的发展历程,从生成对抗网络(GANs)、变分自编码器(VAEs)到扩散模型(Diffusion Models),以及 LoRA、ControlNet 等现代AIGC工具箱的核心技术,是理解当前AIGC生态的重要参考。
[迁移说明] 本文最初发布于
blog.zzw4257.cn,现已迁移并在本站进行结构化整理与增强。
第一部分:视觉AI学习资源深度解析指南
1.1 基础生成架构:三大支柱
注: 原文档中的三大生成架构对比示意图(此处省略,详见课程材料)
从生成对抗网络(GANs)到变分自编码器(VAEs),再到扩散模型(Diffusion Models)的演进,体现了一个清晰的技术趋势:从复杂且不稳定的训练动态(GANs的“零和博弈”)转向更稳定、数学基础更坚实、最终保真度更高的概率模型(扩散模型)。每一种新范式都解决了其前身的某个关键缺陷——GANs能生成清晰但偶尔会发生模式崩溃的图像,VAEs训练稳定但输出往往较为模糊,而扩散模型则集两者之长,实现了稳定性和高保真度的统一。
1.1.1 生成对抗网络 (GANs): 对抗原则
- 核心概念: GANs被 conceptualized 为一个由两个相互竞争的神经网络组成的系统 。生成器(Generator)负责创造“伪造”数据,而判别器(Discriminator)则试图将其与真实数据区分开来。这个对抗过程,常被比作伪钞制造者与警察之间的博弈,迫使生成器产出越来越逼真的结果 。
- 开创性论文: Generative Adversarial Nets by Ian Goodfellow et al. (2014)。这篇论文是整个领域的奠基之作。
- 直接链接:
- arXiv PDF:
https://arxiv.org/pdf/1406.2661 - arXiv 摘要页:
https://arxiv.org/abs/1406.2661 - NeurIPS 版本:
http://papers.neurips.cc/paper/5423-generative-adversarial-nets.pdf
- arXiv PDF:
- 重要性: 该论文引入了一种新颖的训练框架,它不依赖于马尔可夫链或近似推断,仅通过反向传播算法即可完成训练 。尽管具有开创性,但它也存在训练不稳定和“Helvetica情景”(即模式崩溃)等缺点.
- 直接链接:
- 实践学习资源:
- Kaggle 教程: 一份基于PyTorch的实践代码实现。
https://www.kaggle.com/code/salmaneunus/a-tutorial-to-start-your-first-gan-journey。该教程为初学者提供了基础的代码结构。 - RealPython 指南: 一份深入的概念与实践指南。
https://realpython.com/generative-adversarial-networks/。这份指南非常有助于理解代码背后的原理。 - GeeksforGeeks 概述: 一份高层次的架构总结。
https://www.geeksforgeeks.org/deep-learning/generative-adversarial-network-gan/。适合用于快速回顾概念。
- Kaggle 教程: 一份基于PyTorch的实践代码实现。
注: 原文档中的 GANs 架构示意图(此处省略,详见课程材料)
1.1.2 变分自编码器 (VAEs): 概率性潜在空间
- 核心概念: VAEs是一种生成模型,它学习数据的压缩、连续的潜在表示。与标准自编码器不同,VAEs将数据编码为一个概率分布(均值和方差),从而允许在潜在空间中进行平滑插值,并通过从该空间采样来生成新的样本 。其关键创新“重参数化技巧”(reparameterization trick)使得模型可以通过反向传播进行训练 。
- 开创性论文: Auto-Encoding Variational Bayes by D.P. Kingma & M. Welling (2013)。
- 直接链接:
- arXiv 摘要页:
https://arxiv.org/abs/1312.6114 - Semantic Scholar:
https://www.semanticscholar.org/paper/Auto-Encoding-Variational-Bayes-Kingma-Welling/5f5dc5b9a2ba710937e2c413b37b053cd673df02
- arXiv 摘要页:
- 重要性: 该论文提出了一种可扩展的算法,用于训练带有连续潜在变量的有向概率模型,成功地将变分推断与深度学习相结合 。它为后续许多生成模型(包括与扩散模型的概念联系)奠定了基础。
- 直接链接:
- 解释性资源:
- IBM Think 文章: 对VAEs与标准自编码器进行了清晰、高层次的解释。
https://www.ibm.com/think/topics/variational-autoencoder。 - Jeremy Jordan 的博客: 一篇兼具直观解释和数学推导的深度文章,非常有助于理解其损失函数(重构损失 + KL散度)。
https://www.jeremyjordan.me/variational-autoencoders/。
- IBM Think 文章: 对VAEs与标准自编码器进行了清晰、高层次的解释。
注: 原文档中的 VAEs 架构示意图(此处省略,详见课程材料)
1.1.3 扩散模型 (Diffusion Models): 去噪范式
- 核心概念: 扩散模型通过一个系统性的过程来生成数据:首先通过逐步添加噪声来破坏数据结构(前向过程),然后训练一个神经网络来逆转这个过程(反向过程),从而从纯噪声中生成数据 。这种逐级精炼的过程是其能够生成高保真度图像的关键。
- 开创性论文: Denoising Diffusion Probabilistic Models (DDPM) by Ho et al. (2020)。
- 直接链接:
- arXiv 摘要页 (原作):
https://arxiv.org/abs/2006.11239 - 项目网站:
https://hojonathanho.github.io/diffusion/ - 官方 GitHub:
https://github.com/hojonathanho/diffusion
- arXiv 摘要页 (原作):
- 重要性: 尽管核心思想早已存在,但这篇论文证明了扩散模型能够达到与GANs相媲美的顶级图像合成质量 。它建立了一个简化的训练目标,并揭示了其与去噪分数匹配(denoising score matching)的联系,为当前的AIGC爆发铺平了道路。
- 直接链接:
注: 原文档中的扩散模型架构示意图(此处省略,详见课程材料)
1.2 现代AIGC工具箱:核心技术
本节将从纯理论过渡到构成当今AIGC生态系统支柱的应用技术。推动AIGC大众化的关键,不仅在于模型本身的改进,更在于一项关键的架构创新(Latent Diffusion),以及轻量级适应技术(LoRA, DreamBooth)和控制机制(ControlNet)的发展。这些技术共同构建了一个强大、模块化且易于访问的生态系统。没有Latent Diffusion,生成过程会过于缓慢;没有LoRA,个性化定制会成本高昂;没有ControlNet,创作控制将大打折扣。它们并非孤立发展,而是协同作用,共同推动了这一技术浪潮。
1.2.1 潜在扩散与Stable Diffusion:高分辨率合成的民主化
- 核心概念: 解释从像素空间扩散到潜在空间扩散的技术飞跃。通过使用一个自编码器将图像压缩到一个低维的潜在空间,计算密集的扩散过程得以在效率上大幅提升,从而使得在消费级硬件上生成高分辨率图像成为可能 。
- 开创性论文: High-Resolution Image Synthesis with Latent Diffusion Models by Rombach et al. (2022)。这篇论文正是Stable Diffusion的基石。
- 直接链接:
- CVPR 版本:
https://openaccess.thecvf.com/content/CVPR2022/papers/Rombach_High-Resolution_Image_Synthesis_With_Latent_Diffusion_Models_CVPR_2022_paper.pdf - Semantic Scholar:
https://www.semanticscholar.org/paper/High-Resolution-Image-Synthesis-with-Latent-Models-Rombach-Blattmann/c10075b3746a9f3dd5811970e93c8ca3ad39b39d
- CVPR 版本:
- 重要性: 这项工作可以说是对AIGC公众普及影响最大的一篇论文。它结合了自编码器和扩散模型的优点,在“复杂度降低和细节保留之间达到了一个近乎最佳的平衡点” 。交叉注意力(cross-attention)层的引入也使其成为一个能够适应文本等多种条件输入的灵活生成器。
- 直接链接:
1.2.2 模型定制与个性化:LoRA 和 DreamBooth
- 核心概念: 区分DreamBooth和LoRA。DreamBooth通过对整个模型进行微调,将一个特定的主体嵌入模型中,并通过一个唯一的标识符来调用 。LoRA(Low-Rank Adaptation,低秩适应)则是一种更高效的方法,它冻结基础模型,仅注入小型的、可训练的矩阵,非常适合创建轻量级的风格和角色适配器 。
- 关键论文:
- DreamBooth: DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation by Ruiz et al. (2023)。
- 项目网站:
https://dreambooth.github.io/ - Semantic Scholar:
https://www.semanticscholar.org/paper/DreamBooth%3A-Fine-Tuning-Text-to-Image-Diffusion-for-Ruiz-Li/5b19bf6c3f4b25cac96362c98b930cf4b37f6744
- 项目网站:
- LoRA: LoRA: Low-Rank Adaptation of Large Language Models by Hu et al. (2021)。
- Semantic Scholar:
https://www.semanticscholar.org/paper/LoRA%3A-Low-Rank-Adaptation-of-Large-Language-Models-Hu-Shen/a8ca46b171467ceb2d7652fbfb67fe701ad86092 - LoRA+ (改进版):
https://arxiv.org/abs/2402.12354
- Semantic Scholar:
- DreamBooth: DreamBooth: Fine Tuning Text-to-Image Diffusion Models for Subject-Driven Generation by Ruiz et al. (2023)。
- 社区中心: 解释托管这些定制模型的平台所扮演的角色。
- Hugging Face: AI模型、数据集和工具的中心枢纽 。
- Civitai: 一个专注于社区的平台,专门用于分享生成式AI模型,特别是Stable Diffusion的检查点(checkpoints)和LoRAs 。
注: 原文档中的 LoRA/DreamBooth 对比示意图(此处省略,详见课程材料)
1.2.3 精准生成控制:ControlNet 框架
- 核心概念: 详细介绍ControlNet的架构。它通过创建一个扩散模型编码块的可训练副本,并使用“零卷积”(zero convolutions)将其连接到原始的、被冻结的块上。这使得模型能够接受深度图、人体姿态或边缘图等空间输入作为条件,同时不损害强大的预训练模型的原始质量 。
- 开创性论文: Adding Conditional Control to Text-to-Image Diffusion Models by Zhang et al. (2023)。
- 直接链接:
- arXiv HTML 页:
https://arxiv.org/html/2302.05543v3 - Hugging Face Papers:
https://huggingface.co/papers/2302.05543
- arXiv HTML 页:
- 重要性: ControlNet通过给予艺术家和开发者对构图、结构和形态的像素级精确控制,彻底改变了文生图领域,弥合了纯粹基于提示词的生成与传统数字艺术工作流之间的鸿沟。
- 直接链接:
1.3 前沿应用与新兴领域
本节涵盖了超越标准图像生成的专业工具和该领域的未来发展方向。
1.3.1 身份保持与风格迁移:IP-Adapter 和 InstantID
- 概念: 这些技术是用于从参考图像中迁移身份或风格的先进方法,通常无需训练。IP-Adapter利用解耦的交叉注意力机制,其效果类似于一个“单图LoRA” 。InstantID则结合了ControlNet和IP-Adapter,实现了零样本的身份保持生成 。
- 资源:
- IP-Adapter Plus (ComfyUI):
https://github.com/cubiq/ComfyUI_IPAdapter_plus - InstantID (GitHub):
https://github.com/InstantID/InstantID
- IP-Adapter Plus (ComfyUI):
1.3.2 图像修复与增强:GFPGAN 和 CodeFormer
- 概念: 介绍盲脸修复(blind face restoration)这一子领域。GFPGAN利用预训练的StyleGAN2中的先验知识来修复人脸 。CodeFormer则使用一种码本查询变换器(codebook lookup transformer)来实现更稳健的修复效果 。这些工具常被用作AIGC工作流中的后处理步骤。
- 资源:
- GFPGAN (GitHub):
https://github.com/TencentARC/GFPGAN - CodeFormer (Hugging Face Demo):
https://huggingface.co/spaces/sczhou/CodeFormer
- GFPGAN (GitHub):
1.3.3 从静态到动态:AnimateDiff 和视频扩散
- 概念: 探讨扩散模型在时间维度上的扩展。AnimateDiff是一个关键的即插即用模块,它通过为现有的文生图模型添加一个训练好的“运动模块”来生成短动画 。Stable Video Diffusion (SVD) 则是一个专门的图生视频模型 。
- 资源:
- AnimateDiff (GitHub):
https://github.com/guoyww/AnimateDiff - Stable Video Diffusion (示例 Colab):
https://github.com/sagiodev/stable-video-diffusion-img2vid
- AnimateDiff (GitHub):
1.3.4 视觉与语言的融合:多模态大语言模型 (MLLMs) 简介
- 概念: 将多模态大语言模型(MLLMs)作为下一个前沿领域进行介绍。它们将视觉编码器与大语言模型相结合,实现了对图像的对话式理解和推理,从单纯的生成迈向了真正的视觉智能。
- 关键模型与资源:
LLaVA: 结合了视觉编码器和Vicuna模型,用于通用的视觉和语言理解 。GitHub:
https://github.com/LLaVA-VL/LLaVA-Plus-Codebase。Qwen-VL: 阿里巴巴推出的强大视觉多模态系列,以其处理不同分辨率和充当设备智能体的能力而著称 。GitHub:
https://github.com/xwjim/Qwen2-VL。CogVLM/CogAgent: 一款拥有高分辨率(1120x1120)变体CogAgent的VLM,专为GUI理解和智能体任务设计 。GitHub:
https://github.com/zai-org/CogVLM。
1.3.5 图像编辑和LoRA
这个是个新颖的领域,其困难点在于如何生成数据集,现在开源的两个模型就是
- Qwen-Edit
https://qwenlm.github.io/blog/qwen-image-edit - Flux-Kontext
https://huggingface.co/black-forest-labs/FLUX.1-Kontext-dev

编辑的行为广泛发生在传统计算机视觉领域,可以LoRA以实现丰富的效果 highresfix项目可以参考下,超分辨率
1.3.6 对齐训练和伦理道德
好看+道德
第二部分:一套面向macOS的现代化、实践性AIGC工作流
本部分是一份实践指南,为在Apple Silicon上建立一个稳健、专业的AIGC环境提供了明确且有理有据的建议。
2.1 在Apple Silicon上构建您的本地AI工作室
在macOS上建立一个专业的开发环境需要审慎地进行关注点分离。直接使用系统自带的Python环境是脆弱且不推荐的。一个稳健的设置应该包含使用Homebrew进行包管理,使用pyenv进行Python版本管理,以及使用venv进行项目特定的依赖隔离。这种架构可以防止冲突,并确保可复现性,这对于严肃的AI工作至关重要。
2.1.1 掌控您的环境:使用Homebrew和pyenv进行专业Python管理
- 基本原理: 解释为何使用系统Python是一种不良实践。推荐采用分层管理方法:Homebrew用于管理系统级工具,
pyenv用于管理Python版本,而venv则用于项目级的依赖隔离。 - 分步指南:
- 安装Homebrew (
https://brew.sh)。 - 使用Homebrew安装
pyenv:brew install pyenv。 - 配置shell环境(
.zshrc或.zprofile)以初始化pyenv。 - 安装一个特定的Python版本(例如,
pyenv install 3.10.6)。 - 设置全局或本地Python版本。本节将提供清晰、可直接复制粘贴的命令。
- 安装Homebrew (
2.1.2 释放M系列芯片的潜能:深入解析Metal与MPS加速
- 概念: Apple Silicon在AI领域的强大性能源于其Metal框架和PyTorch中的Metal Performance Shaders (MPS)后端 。这使得PyTorch的运算可以直接在Mac的集成GPU上运行。
- 验证: 提供标准脚本以验证MPS是否可用:
torch.backends.mps.is_available()。 - 实践优化: 讨论关键的性能注意事项,例如使用
pipe.to("mps"),以及对于内存小于64GB的Mac设备,启用pipe.enable_attention_slicing()以防止内存交换并提升性能的重要性 。同时,引用Apple自身在优化Stable Diffusion for Core ML方面的工作,以证明该平台的巨大潜力 。
2.2 选择您的界面:比较分析
macOS上的AIGC用户界面生态系统在易用性与功能强大/灵活性之间提供了明确的权衡。DiffusionBee和Draw Things是极佳的入门工具,它们抽象了复杂性,提供了“交钥匙”般的体验。然而,ComfyUI以其基于节点的数据流范式,代表了现代“高级用户”的标准。它揭示了AIGC底层基于组件的本质,提供了无与伦比的灵活性、精细的控制和固有的可复现性(工作流本身即是保存文件)。对于追求精通的用户而言,ComfyUI是合乎逻辑的终点。
| 特性 | DiffusionBee | Draw Things | ComfyUI |
|---|---|---|---|
| 安装 | 一键式DMG安装 | App Store下载 | Git克隆/pip安装 |
| UI范式 | 简洁GUI | 原生App | 基于节点的图表 |
| 灵活性/模块化 | 低 | 中 | 非常高 |
| 可复现性 | 保存参数 | 保存项目 | 完整工作流保存 |
| 高级功能 | 基础支持 | 良好支持 | 原生且可扩展 |
| 目标用户 | 初学者 | 中级用户/移动端 | 高级用户/开发者 |
2.2.1 “交钥匙”体验:Draw Things & DiffusionBee
- 简要介绍这两款应用,突出其优点:安装简便、离线优先、用户界面友好 。将它们定位为理解提示词和生成基础知识的绝佳起点。
2.2.2 高级用户的选择:为何ComfyUI是现代标准
- 对于真正希望精通并跟上最新AIGC发展的用户来说,一个模块化的、基于图表的UI是必不可少的。ComfyUI的节点系统完美地体现了现代扩散工作流基于组件的本质。它拥有无与伦比的灵活性、通过自定义节点实现的可扩展性,以及完美的复现性。
2.3 精通ComfyUI:从第一张图到复杂、可复现的工作流
这是本报告的核心实践部分,详细介绍了如何使用推荐的工具。
2.3.1 安装与配置:macOS引导式演练
- 基于2.1节建立的Python环境,提供分步安装指南。
- 命令:
git clone <https://github.com/comfyanonymous/ComfyUI.git>,cd ComfyUI,pip install -r requirements.txt。 - 目录结构: 解释
models/checkpoints,models/loras,models/controlnet,custom_nodes等文件夹的作用。 - 关键插件: 强烈建议将安装 ComfyUI Manager 作为第一步,以方便管理自定义节点和模型:
cd custom_nodes,git clone <https://github.com/ltdrdata/ComfyUI-Manager.git> 。
2.3.2 核心工作流:掌握使用SDXL进行文生图
- 逐个节点解构默认的ComfyUI图表:Load Checkpoint(加载检查点)、CLIP Text Encode(正面和负面提示词编码)、KSampler(核心扩散采样过程)、VAE Decode(解码为图像)、Save Image(保存图像)。解释每个节点的作用。
- 提供一个SDXL示例提示词,并说明如何连接节点以生成第一张图像。
2.3.3 高级控制:ControlNet实践指南
- 解释如何通过ComfyUI Manager安装ControlNet模型和预处理器节点。
- 构建一个使用OpenPose或Canny边缘检测的实用工作流。
- 节点链: Load Image -> Preprocessor (e.g., Canny) -> Load ControlNet Model -> Apply ControlNet。解释ControlNet的输出如何连接到KSampler的正面和负面条件输入。可以参考ComfyUI Academy等教程作为补充 。
| 控制类型 | 输入图像类型 | 预处理器节点 | 主要用途 |
|---|---|---|---|
| Canny | 任意图像 | CannyEdgePreprocessor | 复制精确的边缘轮廓 |
| Depth | 任意图像 | DepthAnythingPreprocessor | 控制3D场景布局和深度 |
| OpenPose | 带有人物的图像 | DWPreprocessor, OpenPosePreprocessor | 复制人体、手部和面部姿态 |
| Scribble | 用户涂鸦或任意图像 | ScribblePreprocessor | 使用简单的线条草图引导生成 |
| Lineart | 任意图像 | LineartAnimePreprocessor | 提取干净的动漫风格线条艺术 |
2.3.4 规模化个性化:在macOS上训练和使用LoRA的分步教程
- 挑战: 在Mac上训练LoRA是一个高级主题,且过去一直较为困难。
- 解决方案: 提供一个使用与Apple Silicon兼容的成熟训练脚本的现代工作流。参考相关指南,详细说明环境设置、数据集准备(带有
.txt标题的图像文件夹)、配置训练脚本(.yaml文件)以及启动训练的过程 。 - 在ComfyUI中应用: 展示如何通过在“Load Checkpoint”和“KSampler”节点之间添加一个“Load LoRA”节点来使用新训练的LoRA。
2.3.5 进阶工作流:集成IP-Adapter进行风格迁移和FaceID实现一致性肖像
演示如何构建一个结合多种技术的更复杂的工作流。
工作流步骤:
从一个基础的SDXL文生图图表开始。
添加一个IP-Adapter链:加载一张参考图,加载CLIP Vision模型和IP-Adapter模型,使用“Apply IPAdapter”节点,并将其输出接入KSampler 。这会迁移参考图的
风格_或_构图。
添加一个ControlNet OpenPose链来控制角色的姿态。
添加一个FaceID/InstantID链,使用一张特写照片作为参考,以确保面部一致性。这是一种特殊的IP-Adapter + ControlNet组合 。
成果: 这个最终的复杂图表演示了ComfyUI的强大之处:生成一张图像,它同时拥有第一张参考图的_风格_、第二张参考图的_姿态_、第三张参考图的_面部特征_,并由_文本提示词_引导。这代表了现代本地AIGC的顶峰。