学习目标
完成课程后,你将能够:
- 区分生成式与判别式任务。
- 解释自回归模型、VAE、GAN 和扩散模型的基本思想。
- 理解自监督学习与基础模型的作用。
- 区分生成模型、RAG 和工具调用系统。
- 评估生成结果的质量、多样性、事实可靠性与风险。
- 运行简单自回归模型实验并分析输出。
课程定位。 1.3.1–1.3.5 已介绍主要学习范式、预测任务与结构发现。本课转向新数据生成;模型训练细节留给 1.4.1–1.4.2。
1. 什么是“生成”
前面的课程介绍了分类、数值预测、分组和动作选择。生成式方法提出不同的问题:哪些规律描述数据?如何创建类似训练数据的新样本?分类模型可以判断技术文档类别,生成模型可以起草说明。它并不知道某个具体对象的事实,而是学习数据中的统计规律。生成式模型表示数据分布或生成过程,并能够创建新样本的模型。
判别式模型估计类别或输入与目标答案关系的模型,例如根据特征估计类别概率。
与训练数据相似不代表真实、有用或安全。2. 模型如何构建序列
文本通常被切分为 token(词元),可以是单词、子词、字符或其他单位。自回归模型根据已有上下文估计下一个词元,将其加入上下文并重复。Token(词元)文本经过切分后得到的单位,可以是词、子词、字符或其他片段。
自回归模型根据已经形成的上下文,逐步预测下一个元素的模型。
自回归分解P(x₁,…,xₜ) = ∏ₜ P(xₜ | x₁,…,xₜ₋₁)
整个序列概率由每个后续词元在此前上下文条件下的概率构成。模型不是从库中查找完整答案。高概率词元也不一定正确,早期错误会改变后续上下文。3. 四类生成模型
自回归模型
逐个元素续写序列,适合文本等序列,但生成具有顺序性,早期错误可能累积。变分自编码器(VAE)
潜在空间数据重要特征的紧凑内部表示。
VAE 将样本编码为概率潜在表示,再进行解码。从潜在分布抽样可以生成新样本。它适合研究表示与变化,但结果可能较平滑。生成对抗网络(GAN)
GAN由生成器和判别器组成的对抗系统:生成器创建样本,判别器区分真实样本与生成样本。
生成器试图欺骗判别器。GAN 可以生成清晰图像,但训练可能不稳定,也可能发生模式崩溃、失去多样性。扩散模型
扩散模型学习逆转逐步加噪过程,并通过连续去噪生成新样本的模型。
训练时向数据添加噪声并学习估计噪声;生成时从噪声逐步恢复图像或其他对象。质量可能很高,但通常需要较多计算资源和多个步骤。4. 基础模型与适配
Foundation model(基础模型)在广泛数据上预训练、可适配多种下游任务的大型模型。
Self-supervised learning(自监督学习)从数据本身构造训练信号,例如预测隐藏部分或下一个元素,无需为每个样本人工标注。
预训练后可以通过 prompting(提示与上下文)、fine-tuning(继续训练参数)或参数高效微调(只更新少量参数或适配器)使用模型。多模态模型处理或关联文本、图像、音频、视频等多种数据类型的模型。
多模态可以把问题与图像或语音联系起来,但不保证各种输入都同样准确。5. RAG 与工具:模型并非整个系统
RAG(检索增强生成)生成前从外部来源检索相关文档,并将其加入模型上下文的架构。
现代 AI 服务包括模型、上下文(指令、历史、检索文档、图像)和编排层(检索、工具、验证与展示)。RAG 不是生成模型家族,而是提供外部信息的方式。检索可能漏掉文档,模型也可能误解内容。调用 API 不代表模型本身执行了操作;程序必须检查参数、权限和结果。6. Python 实践:字符 bigram 模型
我们构建一个简单模型,统计训练短句中字符之间的转移,再生成新序列。这不是神经网络或 LLM,而是展示条件分布的实验。环境:Python 3.10+,仅使用标准库,不需要联网。
from collections import defaultdict, Counter
import random
corpus = [
"water is heated",
"water circulates",
"a pump creates flow",
"a sensor measures temperature",
"the system maintains a mode",
]
next_chars = defaultdict(Counter)
for text in corpus:
padded = "^" + text + "$"
for current, following in zip(padded, padded[1:]):
next_chars[current][following] += 1
def generate(max_length=80):
current, output = "^", []
for _ in range(max_length):
choices = next_chars.get(current)
if not choices:
break
chars, weights = zip(*choices.items())
current = random.choices(chars, weights=weights, k=1)[0]
if current == "$":
break
output.append(current)
return "".join(output)
random.seed(7)
for _ in range(5):
print(generate())模型学习字符的局部转移,而不是含义。它可能混合片段、产生不通顺的组合或重复。添加句子、更换 seed,并检查是否复制了完整训练句。7. 实践任务:选择架构
某工程机构需要 AI 服务完成四项任务:(1)分类请求;(2)根据文档起草技术说明;(3)生成缺陷合成图像;(4)结合设备图纸与规程回答问题。请为每项任务制作决策卡:是否需要生成;适合什么方法(判别模型、自回归、扩散、多模态、RAG 或组合);需要哪些数据和使用权;两个质量标准;如何发现错误;何处需要人工复核。提交四行表格并说明理由。选择满足需求的最简单方案,而不是最复杂的模型。独立实践任务
请提交四行决策表,并说明选择理由与局限。
8. 质量、局限与风险
评估任务匹配度、事实可靠性、多样性、一致性、可控性、成本与延迟。一个好样本远远不够。幻觉生成系统给出听起来合理、但缺乏依据或实际错误的陈述。
风险包括训练数据不完整或有偏差、事实过时、对提示敏感、泄露机密片段以及知识产权问题。合成数据不会自动匿名化。在工程场景中,生成文本不能替代规范文件、测量或专家复核。应检查原始来源、日期、版本、单位和适用范围。重要场景需要测试集、人工评估、日志、数据保护、监控和安全升级流程。9. 总结与后续课程边界
自回归模型续写序列;VAE 使用概率潜在表示;GAN 对抗训练生成器与判别器;扩散模型从噪声逐步恢复数据。基础模型可复用于多种任务,多模态模型连接不同输入。RAG 与工具可以增强系统,但不是生成模型的同义词。后续 1.4.1–1.4.2 将深入模型、参数、训练和损失函数;Theme 2 提供数学基础。本课重点是理解模型家族与边界,而不是推导 Transformer 或调试 LLM。参考资料与延伸阅读
- Goodfellow 等(2014),Generative Adversarial Nets
- Kingma 与 Welling(2013),Auto-Encoding Variational Bayes
- Ho 等(2020),Denoising Diffusion Probabilistic Models
- Vaswani 等(2017),Attention Is All You Need
- Brown 等(2020),Language Models are Few-Shot Learners
- Bommasani 等(2021),On the Opportunities and Risks of Foundation Models
- Lewis 等(2020),Retrieval-Augmented Generation
课程词汇表
表示数据分布并生成新样本的模型。
估计类别或输入与目标关系的模型。
文本切分后得到的处理单位。
根据此前上下文逐步预测下一个元素。
数据特征的紧凑内部表示。
具有潜在表示的概率自编码器。
由生成器与判别器组成的对抗系统。
通过连续去噪进行生成的模型。
面向多种下游任务的广泛预训练模型。
生成前将检索文档加入上下文。
自我检测
问题 1
哪项描述生成式模型?
问题 2
自回归生成如何工作?
问题 3
VAE 的核心思想是什么?
问题 4
GAN 有什么特点?
问题 5
扩散模型生成从哪里开始?
问题 6
什么是基础模型?
问题 7
RAG 做什么?
问题 8
哪些检查有助于评估生成系统?请选择所有适用项。