跳到主要内容

阅读笔记(末段:对应拆解 27~38 章)

续第二棒笔记。行号以 library/nndl-2e/text/ 为准;每章只记「机制、数字、可引段」。

原书第10章 10.4 自监督 → 拆解 27

文件 11-ch10.txt

  • 定义与定位(10.4 开头 :670-689):「目标不是由人工标注得到的,而是由原始数据自动生成的」(:673-674);自监督通常被看作无监督的重要实现方式(:674);自编码器也可看作自监督,降噪自编码器更接近「去噪重构」(:675-677);现代文献强调「面向预训练的任务设计以及表示的迁移能力」(:678-679);核心思想=「利用输入数据的一部分去预测另一部分,或者通过比较不同样本(或同一样本的不同视图)」(:680-681);好预训练任务=从大量无标注数据学可迁移表示(:682-684);四类任务=预测型(NTP)/掩码重构型/对比型(拉近正样本拉远负样本)/跨模态(:685-688)。
  • 10.4.1 下一个词元预测(:691-720):NTP 又名因果语言建模 CLM(:692-694);式(10.49) 乘法拆解 p(x)=∏p(xₜ|x<ₜ)(:696-700);式(10.50) 训练=最小化负对数似然 ℒNTP(:702-708);「监督信号完全来自原始文本自身」(:710);GPT/LLaMA 采用(:715-716);「模型规模、数据规模和训练计算同时扩大时……这种规律被称为规模法则(Scaling Law)」(:716-719,边注指向 13.2)。
  • 10.4.2 掩码建模(:722-743):先遮蔽再恢复(:723-725);式(10.51) ℒMLM 只对被掩码位置求和(:726-730);优点=双向表示(:732-733);BERT [Devlin 2019] (:733-734);视觉 MAE 遮大量图像块重构(:736-739),「掩码建模是跨模态的通用自监督范式」(:739);NTP 单向适合生成 vs 掩码双向适合理解,「共同构成现代自然语言预训练的两条重要技术路线」(:740-743)。
  • 10.4.3 对比学习(:745-772):思想「相似样本的表示更接近,不相似样本的表示更远离」(:746-749);式(10.52) z=f(x)(:750-753);式(10.53) InfoNCE 形状损失,sim 相似度(点积/余弦),τ 温度参数,𝒩 负样本集合(:756-763);关键=正负样本构造:同样本两次增强=正例对,不同样本=负例对(:764-766);SimCLR [Chen 2020] (:766-768);MoCo 动量编码器+队列,降低对大批量负样本依赖 [He 2020] (:769-770);BYOL/SimSiam 非对比式,「停止梯度」避免表示坍塌 [Chen 2021; Grill 2020] (:770-772)。
  • 10.4.4 联合嵌入预测(:774-783):直接预测表示本身,「不必恢复低层细节」(:775-776);一个视图预测另一个视图/被遮蔽区域的表征(:777-778);「不一定要求恢复像素、词元等原始信号」(:779-781);I-JEPA [Assran 2023] (:782-783)。
  • 10.4.5 多模态自监督(:785-796):图文/语音文本/视频音频天然成对(:786-787);判图文是否匹配或跨模态对比(:788-789);CLIP:一批图文对,比较正确/错误配对相似度,学共享语义空间 [Radford 2021] (:789-791);意义=跨模态检索、视觉问答、多模态大模型的基座(:794-796)。
  • 评价(:797-802):没有统一直接的评价标准,「通过下游任务表现来间接评估」(:797-798);线性探测、微调后验证集性能、检索指标、重构误差、生成样本质量(:798-800);「预训练损失、聚类内部指标或重构误差只是代理指标」(:800-801);输出概率分数要结合校准检查置信度(:801-802)。
  • 10.4.6 特点(:804-813):三优点=无需人工标注/表示可迁移/任务灵活(:805-809);「最终效果仍取决于数据分布、预训练任务和微调方式是否匹配」(:812-813)。
  • 10.5 相关(:815-867):四条主线总结(:816-840);「现代自监督学习并没有脱离无监督学习」(:838-840);表示学习、概率建模、结构发现、预训练任务设计四关键词(:841-843);密度估计→14/15/16 章(:864-867)。

主走查数据(27 章,自编演示值):句子「我 今天 去 了 学校」五词。乘法拆解 p= p(我)·p(今天|我)·p(去|我 今天)·p(了|我 今天 去)·p(学校|我 今天 去 了)。编的每步条件概率 0.2/0.3/0.5/0.6/0.4 → 联合 0.0072;NLL=−ln0.0072≈4.93。掩码:遮「去」,目标 −ln p(去|我,今天,了,学校)(双向)。所有概率为演示编造。

原书第11章 → 拆解 28

文件 12-ch11.txt。章引言 :1-19:六个方式=集成/半监督/多任务/迁移/持续/元(:14-15);「模型独立」=不依赖特定模型结构(:15-17);关注点=复用已有知识、利用额外信息、快速适应(:17-19)。

  • 11.1 集成学习(:21-116):设定 M 个模型、平均错误 ℛ(f̄)(式11.1-11.3 :22-35);直接平均/投票(式11.4 :40-46);定理11.1(:48-56):ℛ(F)≤ℛ(f̄);错误两两不相关时 ℛ(F)=ℛ(f̄)/M;完全相同时 ℛ(F)=ℛ(f̄);证明=展开平方项,交叉项 𝔼[εmεn] 反映错误相关性(:58-80);Jensen 不等式上界(:83-91,边注参见习题11-6);结论「既要求每个基模型本身具有一定的准确率,也要求不同模型之间具有一定的差异性」(:95-98)。Bagging=有放回采样 M 个自助采样集(:106-108);随机森林=Bagging+随机特征 [Breiman 2001] (:109-111);Boosting=顺序训练,每个模型针对前序错误(:112-116)。
  • 11.1.1 AdaBoost(:118-238):加性模型 F(x)=Σαmf m(x)(式11.11);弱分类器/集成权重/强分类器(:125-128);算法11.1(:144-167):初始权重 1/N(:148);αm=½log((1−εm)/εm)(:153-157);样本权重更新 w←w·exp(−αm y f m(x)) 再归一化(:159-164)。统计学解释=分步优化的加性模型、指数损失 exp(−yF)(:169-172);二阶泰勒展开(边注给公式 :203-206);最优 f m=加权错误率最小(:214-216);εm 加权错误率(式11.22);αm 式(11.23)(:234-238)。
  • 11.2 半监督(:240-346):定义=少量标注+大量无标注(:241-244);设定 M≫N(:247-250);成功关键:「无标注数据中蕴含的结构信息能够为分类边界或特征表示提供额外约束。如果……分布相差很大,或者模型给出的伪标签质量较差,那么无标注数据反而可能带来干扰」(:253-255)。自训练(:258-293):也叫自举法,边注「这里的 bootstrapping 和统计中的概念不同」(:259-260);流程=预测→挑高置信度+伪标签入训练集→重训(:262-264);算法11.2(:275-293);与 EM 相似(边注指向 14.2.2.1 :265-266);缺点=伪标签可能错误,损害模型(:267-268);「置信度不一定等于真实正确率」,验证集设阈值+概率校准+人工抽查(:270-272)。协同训练(:295-346):两个不同视角互相促进(:296-300,网页=文字+链接);两假设=条件独立+充足冗余(:301-304);视角高度重合→退化为自训练(:310-312);互补性=从不同视角理解问题(:313-315)。
  • 11.3 多任务学习(:348-467):定义(:354-357,归纳迁移+归纳偏置 [Caruana 1997]);四种共享模式(图11.1 :363-394):硬共享=低层共享模块+高层私有(:380-382);软共享=不显式共享,互相借用(复制隐状态/注意力选取)(:383-385);层次共享=低级任务低层输出、高级任务高层输出(:386-389);共享-私有=责任分开(:390-394)。联合目标=任务损失线性加权(式11.26 :405-415,权重可按重要/难易,通常全 1);两阶段=联合训练+单任务微调(可选)(:416-422);四条收益(:423-434)=隐式数据增强/共享模块防过拟合=正则化/捕捉更稳定因素/选择性利用其他任务特征;负迁移(:463-467):任务相关性弱或共享机制不合理时,「来自其他任务的信息非但不能帮助当前任务,反而会干扰其学习过程」。
  • 11.4 迁移学习(:469-697):领域 𝒟=(𝒳,p(x))(式11.27)、任务 𝒯=(𝒴,p(y|x))(式11.28)(:483-490);领域不同=输入空间或输入分布不同;任务不同=输出空间或条件分布不同(:492-494);表11.1 标准ML vs 迁移(:501-507);归纳迁移 vs 转导迁移(:509-519,转导学习可用测试集信息 [Vapnik 1998])。
    • 11.4.1 归纳迁移(:522-576):源=大量无标注(自编码/密度估计/语言建模当源任务;word2vec→GloVe→ELMo→GPT→BERT 演进 :536-539)或大量标注(ImageNet 预训练 AlexNet/VGG/ResNet :540-544);三种迁移方式(:545-563)=基于特征/微调/参数高效适配 PEFT:Adapter 每层插小型瓶颈模块、Prefix Tuning 拼接可学前缀、LoRA 将权重更新分解为两个低秩矩阵 ΔW=BA(A∈ℝ^{r×din}, B∈ℝ^{dout×r}, r≪min)(:556-563 [Hu 2022]);层可迁移性不同,低层通用高层任务相关 [Yosinski 2014] (:564-568);三点好处=初始更好/收敛更快/最终泛化更好(:569-572);与多任务两点区别=先后两阶段 vs 同时;单向 vs 全部任务(:573-576)。
    • 11.4.2 转导迁移(:578-689):源有标注、目标无(少)标注但训练时可见(:580-583);领域适应=同空间不同分布 pS(x,y)≠pT(x,y)(:584-586);三种偏移(:587-598)=协变量偏移 pS(x)≠pT(x) 而 pS(y|x)=pT(y|x);概念偏移 pS(x)=pT(x) 而 pS(y|x)≠pT(y|x);先验偏移 pS(y)≠pT(y) 而 pS(x|y)=pT(x|y);协变量偏移小知识框(协变量=输入)(:600-615);领域无关表示:重加权 pT/pS(式11.29-11.31)+特征空间分布对齐(式11.32-11.33,γ 平衡);MMD/CMD 度量、领域对抗学习(:656-659);领域判别器=判断样本来自哪个领域,判别器判不出来=领域无关(式11.36-11.38 :660-688)。
    • 11.4.3 三者联系(:691-697):多任务=同时、共享、提升所有任务;迁移=先后、单向;半监督=任务不变、用无标注。
  • 11.5 持续学习(:699-827):定义=终身学习(:699-711,围棋/象棋例 :703-704);与迁移/多任务区别=任务按时间逐个到来(:712-720);灾难性遗忘(:721-727 [French 1999; Kirkpatrick 2017]):参数对 𝒯A 重要,学 𝒯B 时被改→损害 𝒯A;参数冗余度高→存在两全参数组合(:728-732);EWC 弹性权重巩固(:733-818):贝叶斯后验分解(式11.39-11.41);后验≈高斯 N(θA, F⁻¹),精度矩阵用 Fisher 信息矩阵近似(式11.42,边注:拉普拉斯近似参考 [Bishop 2007] 第4章 :749-752);打分函数 s(θ)=∇θ log p(x;θ) 期望为 0(式11.43-11.48);F=E[s sᵀ] (式11.49-11.50);经验估计=梯度外积平均(式11.51);对角线含义:「值越大,表示该参数估计值的方差越小,估计更可靠」(:797-799);EWC 损失=ℒB(θ)+Σ λF_iA(θi−θA,i)²(式11.53 :806-818,λ 平衡超参数);方法三概览=正则化(EWC)/重放(存旧样本或生成重建)/参数隔离或结构扩展(:821-827)。
  • 11.6 元学习(:829-1059):动机=没有免费午餐定理(:830-833);「学习如何学习」(:835-837);与少样本学习关系:K=1 单样本、K=0 零样本;少样本关注「样本很少时如何取得较好性能」、元学习关注「如何从多个任务中学到一种快速适应新任务的机制」(:842-850)。基于优化器(:855-908):用 LSTM 建模梯度下降、学一个优化器 [Andrychowicz 2016] (式11.55-11.58);共享 LSTM 降成本(:904-908)。MAML(:910-973)[Finn 2017]:任务分布 p(𝒯)(:915-916);θ'm=θ−α∇ℒ𝒯m(fθ) 「可以理解为关于 θ 的函数,而不是真正的参数更新」(:924-925);目标=一步/几步迭代后新任务损失低(式11.60);元优化(式11.61-11.62)含二阶梯度,「采用一阶近似的方法通常也可以达到比较好的性能」(:949-951);α 较小时与多任务学习形式接近(:948-950);算法11.5(:954-973)。
  • 11.7 总结(:975-1059):表11.2 六方式×(额外信息来源/训练组织/收益与风险)(:990-1011);上下文学习 ICL:「不需要进行任何梯度更新,仅通过在输入提示中提供少量示例,就能在推断时直接完成新任务」;「上下文学习可以理解为一种隐式的元学习」;「推断时的前向传播过程本身就扮演了『内循环适应』的角色」;对比 MAML 显式梯度(:1017-1024)。

主走查数据(28 章,原书习题 11-13 :1106-1109):5 样本 (x1,+1),(x2,−1),(x3,+1),(x4,−1),(x5,+1),初始权重各 1/5;f1 分错 x3。ε1=1/5=0.2;α1=½ln(0.8/0.2)=½ln4≈0.693;分对四个 w←0.2·e^{−0.693}=0.2×0.5=0.1,分错 x3 w←0.2·e^{+0.693}=0.4;归一化(Z=0.8):0.125×4 + 0.5。与大纲一致。

原书第12章 → 拆解 29(问题定义与值函数)+ 30(策略梯度与演员-评论员)

文件 13-ch12.txt。章引言 :1-34:下围棋例=「很难知道每一步是否正确,却很容易判断一局棋的最终输赢」(:11-14);RL 定义(:17-18);与监督学习三点不同=序列决策/延迟奖励/探索与利用权衡(:19-22);贡献度分配问题 [Minsky 1961] (边注:不同组件对最终输出的贡献 :23-28)。

  • 12.1.1 典型例子(:39-60):多臂赌博机=K 台机器、有限 T 次、期望累积收益最大;「不显式建模状态转移,较简单的一类」(:42-50,边注:也叫 K 臂赌博机);悬崖行走(:51-56):网格 (i,j),1≤i≤7,1≤j≤3;(2,1) 到 (6,1) 是悬崖;S 左下 E 右下;动作 {↑↓←→};「每走一步,都有一定的概率滑落到周围其他格子」;目标=安全到达。图12.1 :58-60
  • 12.1.2 定义(:63-100):折扣 MDP 五元组 (𝒮,𝒜,p,r,γ)(式12.1 :64-71);智能体/环境(:72-77);五要素=状态/动作/策略/转移概率/即时奖励(:78-86);确定性策略 vs 随机性策略 π(a|s)=p(a|s)(式12.2-12.3 :87-94);随机性策略更常见三理由=探索/博弈不可预测/连续动作可微(:96-100)。
  • 12.1.3 MDP(:103-158):交互轨迹 式12.4(:104-112,图12.2 :115-121);马尔可夫性质 式12.5(:125-133,边注:马尔可夫过程参见附录 D.3.1);MDP=加动作 式12.6(:134-139,图12.3);轨迹概率 式12.7-12.8(:141-158)。
  • 12.1.4 目标函数(:160-200):回报 Gt=Σγ^k r_{t+k+1}(式12.10 :162-170);回合式 vs 持续式任务(:175-183):持续式 T=∞ 「直接累加奖励可能发散,因此通常引入折扣率 γ」;γ→0 短期,γ→1 长期(:180-183);目标=最大化期望回报 𝒥(θ)(式12.11 :185-200,边注:持续式也可定义为到达平稳分布时即时奖励的期望)。
  • 12.1.5 值函数(:202-254):状态值函数 Vπ(s)=Eπ[Gt|st=s] (式12.13 :206-216);贝尔曼方程 式12.14(:217-229,边注:Richard Bellman 1920-1984,动态规划创始人,也叫「动态规划方程」;压缩映射收敛不动点 :225-228);Q 函数 式12.15(:230-237);V 是 Q 的期望 式12.16(:240-242);Q 贝尔曼方程 式12.17(:244-249);值函数作用=「若 Qπ(s,a*)>Vπ(s),调参使 p(a*|s) 增大」(:251-254)。
  • 12.1.6 深度强化学习(:256-282):表格型(边注 :258-259);围棋 3^361≈10^170 状态、361 个动作(:262);自动驾驶=高维连续(:263-264);DRL=RL+深度网络近似值函数/策略/环境模型(:267-271);四条思路(:272-282)=值函数近似(DQN)/策略函数近似(REINFORCE)/演员-评论员(Actor-Critic、PPO)/环境模型学习;边注:「从 DQN 开始,我们正式进入深度强化学习的讨论」(:274-278)。
  • 12.2 基于值函数(:285-701):策略空间 |𝒜|^|𝒮| 太大(:285-293);策略改进 π'(s)=argmax Q(式12.19-12.20 :294-309);Vπ'≥Vπ(式12.21 :311-314);思路=初始化→算值函数→改进→迭代(:316-317)。
    • 12.2.1 动态规划(:322-421):模型已知=基于模型的 RL,「模型指环境的状态转移和奖励机制,而不是神经网络结构」(:322-330,边注:后文「环境模型」同义 :326-329);策略迭代(算法12.1 :334-358)=策略评估(贝尔曼迭代到收敛)+策略改进;值迭代(算法12.2 :360-399):「不需要每次计算出精确的值函数,内部迭代不需执行到完全收敛」(:361-363);最优值函数 V*=max Q*(式12.22 :364-370);贝尔曼最优方程 式12.23-12.24(:372-385);对比框(:401-408):策略迭代单轮计算量大轮数少,值迭代单轮简单轮数多;实际不要求严格收敛(:405-408);两点限制(:409-421)=模型难知(重构转移表代价高)/效率(用函数近似)。
    • 12.2.2 蒙特卡罗(:423-476):模型未知=模型无关/无模型的 RL(:429-432);Q≈N 次试验回报平均(式12.26 :433-450);利用和探索:策略太确定→只估计 Qπ(s,π(s))(:454-459,边注:多臂赌博机问题);ε-贪心法 式12.27(:460-470,选 π 概率 1−ε+ε/|𝒜|,其他动作 ε/|𝒜|);同策略 On-Policy=采样与改进同一策略(:471-473);异策略 Off-Policy=重要性采样(:474-476)。
    • 12.2.3 时序差分(:479-571):MC 需完整轨迹效率低(:480-483,边注:每次更新的动作数为最大步数时等价于 MC);增量式 式12.28-12.31(:487-505);更新式 式12.32,蒙特卡罗误差 δ=Gt−Q̂(:506-514);一步近似 Gt ≈ r+γQ̂(s',a')(式12.33-12.34 :516-524);SARSA 更新 式12.35(:526-534)[Rummery 1994];算法12.3(:535-556);SARSA=同策略(:558);多巴胺实验 [Schultz 1998]:猴子获得比预期更多的果汁→多巴胺大增;没喝到预期的→大减;「多巴胺的释放,来自对于实际奖励和预期奖励的差异,而不是奖励本身」(:559-568);MC vs TD:「MC 需要完整路径……不依赖马尔可夫性质;TD 只需要一步,其总回报需要通过马尔可夫性质来进行近似估计」(:569-571)。
    • 12.2.3.1 Q 学习(:573-606):异策略 [Watkins 1992];更新 式12.36=max a' Q(s',a')(:579-581);「相当于让 Q(s,a) 直接去估计最优 Q*」(:585);「Q 学习的目标对应贪心策略,而采样过程仍可以使用 ε-贪心策略来保证探索」(:586-588);算法12.4(:591-606)。
    • 12.2.4 深度 Q 网络(:608-701):值函数近似 Qφ(s,a)≈Qπ(s,a)(式12.37 :609-616,Q 网络);DQN 主要面向离散动作:「核心更新需要计算 max_a' Q(s',a'),连续动作很难显式遍历」(:617-621);M 个动作输出 M 维向量(式12.38 :622-634);TD 目标 y=r+γmax Qφ̂(式12.39),损失 式12.40(:640-653,φ̂=目标参数);两个问题=目标不稳定(目标依赖参数本身)+样本相关性强(:654-655);DQN 两措施 [Mnih 2015]=目标网络冻结+经验回放(经验池)(:656-661,边注:经验回放=在回忆中学习);随机抽样本打破相关性+提高样本利用率(:662-665);「目标网络和经验回放共同缓解了函数逼近、自举和异策略学习叠加所带来的不稳定性」(:665-666);值函数方法的局限(:667-671)=策略一般为确定性、需遍历所有动作,连续/大动作空间难;算法12.5(:674-701)。
  • 12.3 基于策略函数(:703-943):「先估计价值再改进策略」vs「直接在策略空间优化」(:704-707);策略搜索=梯度/无梯度(:707-711);参数化策略可表示随机策略、便于连续状态动作(:709-711);策略梯度推导(式12.41-12.45 :717-737):log-导数技巧;「参数 θ 优化的方向是使得总回报 G(τ) 越大的轨迹 τ 的概率 pθ(τ) 也越大」(:736-737);∇log pθ(τ) 分解(式12.46-12.48):与状态转移概率无关,只和策略函数相关(:739-755);策略梯度 式12.49(:756-763);G0=G<t+γ^t Gt(式12.50 :765-772);G<t 项期望为 0(式12.51-12.55 :774-798);策略梯度 式12.56=Σ ∇log πθ(at|st) γ^t Gt(:800-808);「更合理的权重是从该时刻开始的后续回报 γ^t Gt,而不是与当前动作无关的更早奖励」(:807-808)。
    • 12.3.1 REINFORCE(:810-837)[Williams 1992]:采样近似 式12.57;算法12.6(:824-837)。
    • 12.3.2 带基准线(:840-943):REINFORCE 主要缺点=「不同路径之间的方差很大,导致训练不稳定,这是在高维空间中使用蒙特卡罗方法的通病」(:841-842);控制变量 f̂=f−α(g−E[g])(式12.58);最优 α=cov/var(式12.60);var(f̂)=(1−corr²)var(f)(式12.62 :840-871);基准 b(st) 与 at 无关→期望不变(式12.63-12.67 :872-905);「b(st) 和 Gt 越相关越好,一个很自然的选择是令 b(st) 为值函数 Vπθ(st)」(:906-908);可学习 Vφ(式12.68-12.70);算法12.7(:926-943)。
  • 12.4 演员-评论员(:946-1017):REINFORCE 需完整轨迹,「方差比较大,学习效率也比较低」(:947-948);AC=策略梯度+TD(:953-957);演员=策略 πθ,评论员=值函数 Vφ(:954-956);「可以进行单步更新参数,不需要等到回合结束才进行更新」(:956-957);Ĝt=r+γVφ(s')(式12.71);评论员更新 式12.72,演员更新 式12.73(:966-977);TD 误差 δt=r+γVφ(s')−Vφ(s)(式12.74)连接两边(:979-987);算法12.8(:991-1011);与带基准线 REINFORCE 的区别:「值函数主要作为基线以减少方差,而不是直接通过时序差分来估计一步或多步回报」(:1013-1017)。
  • 12.5 信赖域与 PPO(:1019-1206):每次沿梯度迈大一步,「策略可能因为采样噪声或优势估计误差而突然变差」(:1021-1023);信赖域=「只在一个足够小的邻域内相信当前的局部近似,并要求新策略不要偏离旧策略太远」(:1024-1026);普通策略梯度三个问题(:1029-1040)=更新步长难控制/样本利用率低(「采样一次,更新一次,数据即废弃」)/更新缺少显式约束(旧策略下的优势对新策略未必可靠);优势函数 Aπ=Qπ−Vπ(式12.75 :1043-1048,「相对按当前策略平均行动,更好还是更差」);策略改进恒等式 𝒥(θ)=𝒥(θold)+E[Σγ^t A] (式12.76-12.82 :1051-1079);占用度量 ρπ(s)(式12.85-12.86 :1081-1098);代理目标(式12.87 :1100-1107,「在旧策略附近,用一个更容易优化的局部目标来近似真实目标」);KL 散度约束(式12.88-12.89,重要性采样比 rt(θ)=πθ/πθold);TRPO 优化问题(式12.90-12.91 :1121-1131);「TRPO 需要求解带约束的优化问题,通常要用共轭梯度等近似二阶方法,工程实现相对复杂」(:1132-1133);边注:「信赖域约束的作用并不是让学习变保守,而是保证局部近似仍然可信」(:1135-1137);PPO(:1139-1170):KL 惩罚形式(式12.92)/裁剪目标(式12.93 clip(rt,1−ε,1+ε));A>0 时 rt 超 1+ε 不再鼓励;A<0 时 rt 低于 1−ε 不再惩罚;「软边界」(:1159-1167);「PPO 实现更简单,经验效果常常相近……可以固定一份由旧策略采样得到的数据,在多个 epoch 上反复使用」(:1168-1170);GAE 广义优势估计(:1172-1206):偏差方差折中;δt(式12.94);Â(1)=δt,Â(2)=δt+γδt+1(式12.95-12.97);GAE=Σ(γλ)^l δ_{t+l}(式12.98);λ=0 一步 TD,λ=1 接近整段回报;「λ 越小越稳定但偏差更大;λ 越大越接近真实优势但方差更大」(:1200-1203)。
  • 12.6 环境模型、离线数据与奖励建模(:1209-1269):无模型 vs 基于模型(学习 p̂ψ, r̂ψ);世界模型=隐状态 zt+想象式推演;「模型误差在长时程推演中不断累积,策略可能会利用模型缺陷」(:1217-1225);在线 vs 离线 RL(式12.99 固定数据集):离线像监督学习但要优化长期回报;核心困难=分布外动作过度乐观;需要保守估计/策略约束/不确定性惩罚(:1226-1235);奖励建模:语言模型对齐难写精确奖励函数→根据人类偏好或 AI 反馈训练 Rω(x,y);RLHF 基本思想 [Christiano 2017; Ouyang 2022];「奖励模型也是近似模型,同样会带来分布偏移、奖励过度优化和评估失真等风险」(:1236-1243);表12.1 四类设置(:1246-1264);「强化学习的关键不只是选择哪一种策略更新算法,还包括判断样本从哪里来、奖励由谁定义、是否需要学习环境模型」(:1266-1269)。
  • 12.7 大语言模型中的应用(:1271-1282):「语言模型天然就是一个参数化策略 πθ(yt|x,y<t):状态为当前输入与生成历史,动作为下一个生成词元,轨迹为一整段回答」;「策略梯度、优势估计、KL 约束与 PPO 裁剪目标都可以直接迁移」;环境与奖励不清晰;RLHF=「奖励需要学习、环境部分可观测、评估标准带有主观性」场景的应用;指向第13章(:1271-1282)。
  • 12.8 总结(:1285-1436):图12.4 算法关系(:1321-1335);表12.2 四算法统一闭环(执行→估计回报→更新)(:1360-1401);MC 无偏方差大/TD 自举偏差小效率高(:1301-1306);双 Q 网络/优先级经验回放/决斗网络(:1346-1348);DDPG/A3C/TD3/SAC(:1350-1355);POMDP(7 元组,隐状态)(:1411-1418);逆向强化学习 IRL=从专家轨迹反推奖励函数,「恢复行为背后的偏好结构」(:1419-1430);分层强化学习 HRL=高层决定做什么、低层决定怎么做(:1431-1436)。

主走查数据(29 章,悬崖行走):按大纲:轨迹 上→右×6→下 共 8 步,逐项回报 −1×7+0;γ=0.9 时 G0=−(1+0.9+0.81+0.729+0.6561+0.59049+0.531441)=−5.219...≈−5.22(验证:等比和 (1−0.9^7)/0.1=6.5221→×−1=−6.52? 不对——注意式12.10:Gt=Σ_{k=0}^{T−t−1} γ^k r_{t+k+1}。第 1 步回报 −1 不打折:k=0 → γ^0·r1=−1;k=1 → 0.9·(−1)=−0.9;…;k=6 → 0.9^6·r7=0.531441·(−1);最后到达 E 的 r8=0。合计 −(1+0.9+0.81+0.729+0.6561+0.59049+0.531441)=−5.217031≈−5.22。(1−0.9^7)/(1−0.9)=5.217031,对。)掉崖半程:从 (1,1) 向右到 (2,1) 悬崖格,回报 −100(演示设定,原书只说「跌落并受到较大惩罚」:54)。Q 学习一步更新:Q(s,a)←Q(s,a)+α(r+γ max Q(s',a')−Q(s,a)),用演示值走一步。

原书第13章 → 拆解 31(预训练)+ 32(对齐与推理)+ 33(智能体)

文件 14-ch13.txt。章引言 :7-23:LLM 定义;涌现能力(:14-15);边注:「大语言模型一般是指参数量超过数十亿的语言模型,但这一界限并不严格,更重要的特征是其展现出的能力跃升」(:16-23)。

  • 13.1 语言模型回顾(:25-77):核心任务=对文本序列的概率分布建模;式(13.1) 乘法拆解(:26-31);自回归语言模型(:34-35);困惑度 PPL=exp(−(1/T)Σlog p),「可以直观理解为模型在每个位置上的平均『选择数』」(:35-38);三种参数化演进边注=N 元统计→前馈→循环→Transformer(:40-47);N 元模型受稀疏性限制(:42-44);RNN 记忆容量有限(:46-48);Transformer 自注意力+训练并行(:49-51);仅解码器+因果掩码(:53-55)。13.1.1 训练策略(:57-77):式(13.2) NLL;教师强制=真实前缀作输入→各位置预测相互独立、可并行、避免误差累积(:65-71);暴露偏差=训练看真实前缀、推断看自己生成的词元,分布不匹配;「对大规模预训练模型而言,这一问题相对温和」(:72-77)。
  • 13.1.2 解码策略(:80-137):两类=确定性解码(翻译/代码)/随机采样(对话/创意写作)(:82-85);贪心解码 式13.3(:86-92,只考虑单步最优,容易错过整体更优、容易重复);束搜索(:93-98,维护 k 个候选,k|𝒱| 个新候选留 k 个;k=1 退化为贪心;仍是确定性,开放式生成容易单调重复);Top-k 采样 [Fan 2018] 式13.4(:99-111,屏蔽长尾;固定 k 难适应分布形状:平坦时太小、尖锐时误纳入);Top-p 核采样 [Holtzman 2020] 式13.5(:112-123,动态最小集合累积概率达 p;分布尖锐时 Vp 小接近贪心、平坦时大;典型 p∈[0.9,0.95]);温度 式13.6(:126-134,τ=1 原分布;τ<1 尖锐,τ→0 退化为贪心;τ>1 平坦);常见组合=温度+Top-p(:135-137)。
  • 13.2 预训练(:139-308):预训练定义(:140-144);「预测即压缩」边注:好的预测模型等价于好的数据压缩器(:145-151);预训练=自监督,训练信号来自数据本身(:150-155)。
    • 13.2.1 三种范式(:157-182):自回归(仅解码器;GPT-1「预训练+微调」/GPT-2 15 亿参数零样本/GPT-3 1750 亿参数上下文学习 :159-165);掩码语言模型(仅编码器;BERT;双向上下文;适合理解任务;训练-推断不一致、生成不如自回归 :166-174);编码器-解码器(T5,文本到文本,跨度损坏 :175-178);自回归成为常见选择的三理由=架构简单、易于扩展、统一建模(仅一种注意力模式、参数效率高、「给定前缀,预测后续」)(:179-182)。
    • 13.2.2 数据与分词(:184-241):数据源=Common Crawl/书籍/论文/GitHub/百科;预处理=去重、质量过滤、隐私移除、有害过滤;混合比例=设计决策(网页量大噪声多/书籍质量高领域有限/代码助推理)(:185-189);边注:「高质量数据上的较小模型有时可以接近甚至超过低质量数据上的较大模型」(:190-195);分词器(:192-205):词级=OOV 未登录词;字符级=序列极长;子词=折中(高频完整词+低频拆分,unhappiness→un+happiness)(:196-200);端到端数据流=文本→词元 ID→嵌入→Transformer→LM 头→logits→softmax(:201-205);BPE [Sennrich 2016] (:206-226):初始词表=单字符;五步流程(统计相邻对频次→合并最高频对→重复到目标大小如 32K);书内例子「low low low lower lower newer」:「l o」出现 5 次最高→合并「lo」→「lo w」→「low」(:218-226);字节级 BPE(GPT-2):UTF-8 字节流、初始词表仅 256 字节;「任何输入都能无损表示,消除 OOV」(:227-232);WordPiece=最大化合并后似然;SentencePiece=空格也当字符(:233-238);词表权衡(:239-241):过小=序列过长;过大=嵌入膨胀+罕见词元训练不充分;典型 32K-128K。
    • 13.2.3 规模法则(:243-288):Kaplan [2020] (式13.7):L 与 N(不含嵌入)、D(词元数)、C(FLOPs) 分别幂律;αN≈0.076, αD≈0.095, αC≈0.050(:246-257);统一式(13.8);边注:对数-对数坐标下近似直线(:249-253);Chinchilla [Hoffmann 2022] (:266-288):固定预算 C 下 N 与 D 怎么分;C≈6ND(每个词元前向+反向约 6N 次浮点)(:270-271);边注:Chinchilla 用与 Gopher 相同计算量、更小参数量、更多数据(:266-274);最优 N*∝C^0.5, D*∝C^0.5(式13.9);D≈20N*(式13.10 :278-281);「一个 100 亿参数的模型应使用约 2000 亿词元进行训练」(:283);边注:LLaMA-7B 用 1T 词元,远超 Chinchilla 建议的约 140B,为降推理成本(过度训练)(:278-289)。
    • 13.2.4 代表模型(:290-308):MoE=前馈层替换为多个专家+路由;DeepSeek-V3 总参数 671B,每个词元仅激活约 37B(:293-296);架构趋同=仅解码器/RoPE/RMSNorm(Pre-Norm)/SwiGLU/GQA/BPE(:298-304);「架构选择不仅取决于模型效果,也取决于训练稳定性、推理效率和工程可实现性」(:300-304)。
  • 13.3 涌现能力(:311-390):定义(:315-318)=规模低于阈值接近随机、超过后快速提升;六例(:319-326)=少样本/多步推理/指令遵循/代码生成/跨语言迁移/工具使用;涌现=复杂系统概念(边注 :327-332);两种解释=物理相变(参数量扮演温度)/组合能力(所有基础能力达到阈值)(:328-334);「也有研究指出部分『涌现』可能是评估指标非线性导致的统计假象」[Schaeffer 2023] (:335-338,精确匹配→阶跃;平滑指标→连续);「小模型代理实验」方法论受挑战(:339-340)。13.3.2 ICL(:344-371):式13.11;K=0 零样本/K=1 单样本/K>1 少样本(:355-356);对演示选择/顺序/格式敏感;顺序不同→「近似随机到接近最优」波动 [Lu 2022];随机错误标签性能下降有限 [Min 2022]→演示还提供输入分布、标签空间、格式(:357-361);与元学习联系(式13.12):自回归预训练≈在任务分布上优化,与 MAML 形式高度相似(:362-371)。13.3.3 思维链(:373-404)[Wei 2022c]:式13.13 p(y|x)=Σp(c|x)p(y|x,c)≈p(c*|x)p(y|x,c*);三个理解角度=分解子问题/额外「计算空间」/可解释可验证(:382-386);边注:「思维链效果具有明显的规模依赖性」(:381-386);零样本 CoT「Let's think step by step」[Kojima 2022] (:388-390);扩展(:393-404)=自一致性(采样多路径多数投票)/思维树 ToT(树+搜索+回溯)/测试时扩展(推断时投入更多计算;可验证奖励或外部验证器筛选)。
  • 13.4 指令微调(:406-500):预训练后仍是「文本续写器」;「中国的首都是哪里?」→续写出题(:407-412);SFT=监督微调(:412-415);式13.14 SFT 损失;只对回答部分反向传播(边注:train-on-completions-only;多轮对话只对助手回答算损失)(:424-434);与预训练三不同(:428-434)=数据规模数千到数十万/质量要求高/轮数少(1-3 epoch,过多过拟合);对话模板(<|user|><|assistant|>)(:432-434)。13.4.2 PEFT/LoRA(:437-468):全量微调显存=参数本身 3-4 倍(:438-440);LoRA [Hu 2022]:低秩矩阵对 A∈ℝ^{r×din}, B∈ℝ^{dout×r},r≪min,通常取 8 到 64;h'=Wx+BAx(式13.15);A 随机高斯、B 零→训练开始 ΔW=0(:443-450);「可训练参数量仅为全量微调的百分之一左右」(:451);边注:「LoRA 的成功表明,微调过程中权重变化 ΔW 具有低秩结构」(:451-455);多组适配器切换(:451-453)。13.4.3 数据构建(:470-483):FLAN 任务上百种→零样本提升;Self-Instruct 自举生成;LIMA:「仅使用约 1000 条精心筛选的高质量样本……与数万条相当」——「少而精」(:481-483)。13.4.4 能力变化(:485-500):「SFT 的主要作用并非注入新知识,而是激活和对齐预训练阶段已获得的能力」;「格式对齐」而非「知识注入」(:486-489);分布调整=从「像互联网文本」到「像高质量助手回答」(:490-492);多任务泛化(:493-495);SFT 边界:「只能让模型模仿参考回答,无法让模型理解『什么样的回答更好』」(:496-500)。
  • 13.5 基于人类反馈的对齐(:502-760):三阶段流程(图13.2)=预训练→SFT→偏好对齐(:508-517);偏好数据(:521-526):同指令两个回答,人类标 yw 胜/yl 败;「偏好标注(判断『哪个更好』)通常更加容易和一致」(:528-531);Bradley-Terry 模型 式13.16: p(yw≻yl|x)=σ(r(x,yw)−r(x,yl))(:532-538,边注:为体育比赛胜负预测提出,Elo 评分是其特殊形式 :538-542);奖励函数自由度:加 c(x) 不变→偏好数据只确定相对值——「这一性质在后面 DPO 的推导中将起到关键作用」(:540-545)。奖励模型训练(:547-556):rφ(x,y)=wᵀh_last+b(式13.17);ℒRM(式13.18)。RLHF(:558-582)[Christiano 2017]:语言模型=策略;KL 散度惩罚防奖励过度优化(式13.19);β 越大越接近参考策略(:569-572);边注:Goodhart 定律「当一个度量变成目标时,它就不再是一个好的度量」(:563-570);PPO 步骤四步(:573-580);RLHF-PPO 需同时维护四个模型(策略/参考/奖励/价值),工程复杂度高(:580-582)。DPO(:584-714)[Rafailov 2023]:利用 RLHF 目标的解析解,奖励用策略表示,不需显式奖励模型、不需在线采样(:585-588);第一步(式13.20-13.24):拉格朗日乘子法→最优策略 π*(y|x)=(1/Z(x))πref(y|x)exp(r/β);边注:「最优策略是参考策略经过奖励加权后的『玻尔兹曼分布』」(:618-622);配分函数 Z(x)=Σπref exp(r/β)(:617);第二步(式13.25):r=βlog(π*/πref)+βlogZ;第三步(式13.26-13.28):「β log Z(x) 项在相减时被消去——这是 DPO 推导中最关键的一步」(:646-648);Z 在指数级大空间无法精确计算,但只依赖 x,比较同一指令两个回答时恰好消去;DPO 损失 式13.28;隐式奖励 r̂θ=βlog(πθ/πref)(式13.29);DPO 目标与 RM 训练形式相近(:669-670);边注:「DPO 中 β 的作用与 RLHF 中的 KL 惩罚系数一致。实践中 β 通常取 0.1 到 0.5 之间」(:671-674);梯度分析(式13.31):权重 σ(r̂(yl)−r̂(yw))=模型「犯错」程度;判对→σ<0.5 小更新;判错→σ>0.5 大更新,「自动聚焦于难样本」,类似在线难例挖掘(:677-696);DPO 四优势(:697-704)=不需要奖励模型/不需要策略采样/训练类似 SFT/不需要价值网络;局限=只能用离线数据,分布漂移,对数据质量敏感(:703-704);等价关系:「对偏好数据进行分类训练 ⟺ 在 KL 约束下最大化隐式奖励」;「对齐优化本质上就是在学习一个偏好分类器,而这个分类器恰好可以用策略本身来参数化」(:705-714)。GRPO(:716-751)[Shao 2024]:从在线 RL 角度,组内相对比较替代价值函数基线(:717-720);组相对优势 Âi=(ri−mean)/std(式13.32);PPO 裁剪+KL 正则(式13.33);ρi 重要性采样比;归一化后优势以零为中心(:738-739);G 通常 8~64(:739-740);特别适合可验证奖励任务(数学、代码)(:741-742);「将模型数量从四个减少到三个(使用规则奖励时仅需两个)」(:744-745);边注:「GRPO 是 DeepSeek-R1 等推理增强模型采用的代表性训练方法之一」(:745-748);三法组合使用:先 DPO 初步对齐再 GRPO 优化推理(:747-751)。对齐扩展(:752-761):宪法 CAI/RLAIF/SimPO/KTO/安全对齐(越狱、提示注入、红队)。幻觉(:762-770):「幻觉产生的根本原因在于:模型的训练目标是下一个词元预测,这一目标并不直接惩罚事实性错误」;缓解=RAG 外部知识/事实性奖励/「让模型在不确定时表达不确定性而非编造答案」;置信度校准(:762-770)。
  • 13.6 推理增强(:772-886):ORM vs PRM(:778-796):结果奖励=单一标量,「即使最终答案正确,推理过程也可能包含错误步骤……ORM 无法区分」;过程奖励 PRM [Lightman 2024] 每步评分,稠密信号;整条路径评分=各步最小值(式13.34);PRM 可与束搜索结合;标注贵,可用蒙特卡罗估计自动化;「ORM 粗筛,PRM 精细评估」(:794-796)。测试时扩展(:798-835)[Snell 2024]:「在推理阶段投入更多计算资源同样可以提升模型表现」;长程推理=「将推理阶段的计算量转化为更长的生成序列」(:806-808);边注:允许中间步骤的 Transformer 可以解决仅靠直接预测无法解决的计算问题(:808-813);「更长推理并不自动等于更可靠」(:815-816);搜索与验证(:817-827):N 条路径+多数投票/ORM/PRM 打分/树搜索;Best-of-N 最简单;「同等计算预算下,多路径生成+验证往往优于单条更长路径」(:825-827);测试时扩展也有规模法则;「较小但充分搜索验证的模型可以超过更大但只做单次生成的模型」;训练/推理计算分配问题(:828-831);边注:类比学习与考试(:831-835)。RL 与推理(:834-866):DeepSeek-R1 [2025]:SFT 基础上大规模 GRPO,数学代码正确性作奖励(:838-841);奖励设计=答案对 1 错 0+格式奖励;「在目标可验证时,复杂推理行为可以从基本的正确性信号中形成,而不一定需要对『如何推理』给出逐步标注」(:842-846);四个涌现现象(:847-853)=推理长度自然增长/自我反思/探索策略多样化/阶段性跃迁;纯 RL 挑战(:855-857)=训练初期不稳定/可读性/开放式任务难定义奖励;多阶段(:857-863)=SFT 冷启动→RL→拒绝采样与蒸馏;「SFT 提供推理的『格式』和『起点』,RL 提供推理的『质量』和『深度』」(:864-865);边注:与 AlphaGo 自我对弈精神一致(:866-872);方向转变=「从单纯依赖预训练阶段的知识积累,转向在训练和推理两个阶段同时投入计算资源」(:869-877);自适应计算(:874-877);与早期 AI 汇合(:878-881);总结::882-886
  • 13.7 智能体框架与规划(:889-990):定义(:896-901)=LLM 为核心「大脑」+感知/调用工具/执行操作/反馈修正;四个前提能力(:902-906)=指令遵循/推理规划/格式化输出(JSON)/上下文学习;四个核心组件 [Xi 2025] (图13.3 :908-941)=感知(信息筛选与压缩 :923-925)/规划(分解子任务+工具能力范围+失败场景+备选方案 :928-930)/行动(JSON 格式,外部执行器解析执行回填 :931-935)/记忆(短期=上下文窗口,长期=外部存储如向量数据库)(:936-938);「感知-思考-行动的持续闭环」(:939-941);ReAct(:943-958):思考t→行动t→观察t→…(式13.35);vs 纯推理=引入外部信息减少幻觉;vs 纯行动=显式思考透明可解释;「可通过提示模板自然实现,无需修改模型参数」(:957-958);任务分解(:960-969):Least-to-Most/逐步展开/规划-执行-再规划;反思(:971-982)[Madaan; Shinn]:Reflexion=失败后生成自然语言「经验总结」存入记忆,「不更新模型参数的『学习』」;Self-Refine=单次生成迭代改进;元认知(:981-982);搜索与验证(:984-990):ToT 树+剪枝;外部验证器=编译器/单元测试/符号计算。
  • 13.8 工具使用与多智能体(:992-1080):工具调用(:996-1018):函数调用(JSON 结构化请求)/API/代码执行;Toolformer 自监督插 API 调用(:1004-1005);工具选择=系统提示给名称/参数格式/功能描述;工具多→工具检索(:1006-1010);工程实现(:1011-1018):「系统预先声明工具名称、参数类型、返回格式和调用权限,模型只生成受约束的调用请求,执行器负责校验、执行和返回结果」;结构化输出=JSON Schema 约束;「工程框架通常会把工作流表示为状态机、图或消息队列……支持错误回放、权限审计和失败恢复」(:1015-1018)。RAG(:1020-1040)[Lewis 2020]:三阶段=索引(文档→片段→稠密向量→向量数据库)/检索(Top-k 相似度 式13.36)/生成(拼接 式13.37);「核心优势=利用外部的、领域特定的、可更新的知识而无需重新训练,对缓解知识过时和幻觉尤为有效」(:1037-1038);「检索本身就是一种工具调用」(:1039);查询改写、重排序、多跳检索(:1040)。多模态(:1043-1062):视觉智能体看界面截图模拟点击(:1044-1047);多模态 LLM 两类架构(:1049-1058)=模块拼接式(LLaVA:视觉编码器 CLIP ViT→投影层→视觉词元,与文本词元拼接)/原生多模态(训练阶段统一建模,交互深度好但训练复杂);能力=图像理解(OCR/图表)/视频理解/实时语音(:1059-1061)。多智能体(:1064-1080):三模式=分工(架构师/程序员/测试工程师 [Hong 2024])/讨论/辩论;通信机制(:1075-1078)=消息传递(链式/星形/全连接)/共享记忆;核心挑战=协调开销——通信成本和潜在冲突增大,且可能出现「群体思维」导致多样性丧失(:1078-1080)。
  • 13.9 评估与治理(:1083-1118):「评估对象就变成了一个完整流程」(:1084-1086);表13.1 五维度(:1091-1108)=任务效果(成功率/人工评价/基准集/回归测试/引用一致性)/工具执行(模式校验/参数类型检查/执行日志/失败重试超时)/权限边界(最小权限/沙箱执行/人工确认/读写隔离/危险操作白名单)/记忆管理(写入审核/来源记录/过期策略/冲突消解/用户可删除)/过程安全(提示注入、工具返回污染、错误级联→输入隔离/指令优先级/来源标注/异常检测/回滚审计);RAG 评估拆成检索质量+生成忠实性(:1110-1111);可重放执行日志+高风险步骤人工确认(:1111-1113);多智能体评估=通信开销/角色冲突/错误传播/责任归属(:1113-1114);「智能体工程更像是把语言模型嵌入一个受约束的软件系统,而不是简单地给模型增加几个工具」(:1115-1118)。
  • 13.10 总结(:1120-1141):两条线索=「预训练→对齐→推理增强」「感知→规划→行动→反思」;开放问题五项(:1137-1141)=安全对齐/幻觉/长期记忆/流程治理/可解释性。

主走查数据(31 章):书内 BPE 例子 :218-226 语料「low low low lower lower newer」只有 6 词,大纲自定语料 10 词(low×3 lower×2 newer×3 now×2)。按大纲:第一轮 (o,w) 7 次最高→ow;第二轮并列 5:5:5:5 取字典序 (e,r)→er(口径写明是我们定的)。困惑度演示:五词句各位置概率 0.2/0.3/0.5/0.6/0.4→NLL=−(ln0.2+ln0.3+ln0.5+ln0.6+ln0.4)/5≈0.986,PPL=e^0.986≈2.68(等效候选数约 2.7 个)。 主走查数据(32 章):偏好差 1.2→σ(1.2)=1/(1+e^{−1.2})≈0.769;DPO β=0.1:隐式奖励 r̂=0.1·log比;书内梯度权重=σ(r̂(yl)−r̂(yw))。

原书第14章 → 拆解 34(表示与学习)+ 35(推断与采样)

文件 15-ch14.txt。章引言 :1-72:PGM 定义=「用图结构来描述多元随机变量之间条件独立关系」(:6-8);K 维、每变量 M 取值、无独立假设需 M^K−1 参数;M=2,K=100 时参数量约 10^30(:9-14);独立性假设省参(:15-25);四二值变量例(:26-43):联合表 2^4−1=15 参数;假设「已知 X1 时 X2 与 X3 独立」「已知 X2,X3 时 X4 与 X1 独立」(式14.3-14.5);分解 式14.7;「4 个表格记录 4 个条件概率,只需要 1+2+2+4=9 个独立参数」(:42-43);图14.1(:51-57);图模型三基本问题=表示/学习(只关注给定结构的参数学习)/推断(:59-65);图模型与机器学习统一语言(边注 :66-72):「神经网络常被用来参数化局部条件分布、势函数或近似后验分布,而图模型则说明这些模块应如何组合成一个一致的概率模型」。

  • 14.1 表示(:75-458):两类=有向(DAG)/无向(:79-86);有向连边=「局部条件分布直接依赖」;「只有在额外赋予因果语义时,这种连边才可以进一步解释为因果影响」(:80-83);阴影=可观测,空白=隐变量(:87-93)。
    • 14.1.1 贝叶斯网络(:105-185):定义14.1(式14.8 联合=局部条件概率连乘)(:111-122);三节点四种结构(图14.3 :128-152);(a)(b) 链式:观测 X2 后独立;不观测不独立;分叉(c):观测后独立;汇聚(d):不观测时独立,观测后不独立——「解释消除」(:168-173);三类局部结构=d 分离的核心直觉:「链式和分叉结构中,观测中间节点会阻断路径;而在汇聚结构中,未观测汇聚节点及其后代时路径是阻断的,一旦观测汇聚节点或其后代,路径就会被打开」(:174-178);局部马尔可夫性质(式14.9)=每个变量给定父节点后独立于非后代(:179-185)。
    • 14.1.2 常见有向图(:187-286):Sigmoid 信念网络 [Neal 1992] (式14.10 条件概率=σ;表格 2^M 参数 vs 参数化 M+1)(:191-204);与 Logistic 回归区别=LR 建模 p(y|x) 判别,SBN 建模 p(x,y) 生成(:205-216);朴素贝叶斯(式14.11-14.13):给定 Y 特征条件独立;强假设下仍有竞争力、少样本不易过拟合(:226-259);隐马尔可夫模型 HMM [Baum 1966] (式14.14):隐变量马尔可夫链+输出概率;联合=∏p(yt|yt−1)p(xt|yt)(:261-286)。
    • 14.1.3 马尔可夫随机场(:288-314):定义14.2 局部马尔可夫性质=p(xk|x∖k)=p(xk|x_N(k))(式14.15)。
    • 14.1.4 无向图分解(:316-372):无拓扑顺序→不能链式分解;以(全连通子图)为单位;图14.7 共 7 个团,最大团不能被其他团包含(:317-323);Hammersley-Clifford 定理(定理14.1,式14.16-14.17):p(x)=(1/Z)∏φc(xc);配分函数 Z 归一化;「配分函数的计算复杂度是指数级的,因此在推断和参数学习时都需要重点考虑」(:352-355);吉布斯分布(:356-358);势能函数=exp(−E)(式14.18,边注:负号遵从物理习惯,能量越低概率越高)(:359-363);玻尔兹曼分布(式14.19-14.20)(:364-372,边注:参见 15.1)。
    • 14.1.5 常见无向图(:375-427):对数线性/最大熵模型(式14.21-14.22,势能=exp(θᵀf));条件版=「条件最大熵模型或 Softmax 回归模型」(:382-399,边注:参见 3.3);条件随机场 CRF [Lafferty 2001] (式14.24-14.25):直接建模 p(y|x);线性链 CRF=状态特征+转移特征(:401-418)。
    • 14.1.6 有向↔无向转换(:429-458):无向转有向难;有向转无向重要(可用联合树算法);道德化:共果关系的父节点间加连边;边注:「有共同儿子的父节点都必须结婚(即有连边)」(:442-448);代价=丢失独立性:X1,X2,X3 无观测时相互独立的性质在道德图不再成立(:446-448)。
  • 14.2 学习(:461-849):结构学习难(打分搜索/条件独立检验/带约束优化;因果解释需额外假设);本节只讲给定结构的参数估计(:462-471);「含隐变量模型的学习通常离不开对隐变量后验分布的推断……EM 算法正是『先推断隐变量后验、再更新参数』的典型代表」(:469-471)。
    • 14.2.1 不含隐变量(:473-561):有向图=逐个局部估计(式14.27-14.29,每个 θk 独立最大化);离散=统计条件概率表(父节点 M 个时 2^M 参数);参数化(Sigmoid 信念网络)/高斯信念网络/共享参数(:476-504);无向图=梯度=数据期望−模型期望(式14.33-14.37):∂ℒ/∂θc=E_p̃[fc]−E_p[fc];「使得特征在经验分布下的期望等于在模型分布下的期望」(:546-550);「在无向图中,配分函数把所有参数耦合在一起,无法直接分解为彼此独立的局部估计问题」(:551-556);三条近似路(:557-561)=采样或变分近似模型期望/伪似然局部替代/对比散度(玻尔兹曼机)。
    • 14.2.2 含隐变量(:563-849):边际似然=证据(式14.38);盘子表示法(图14.10)(:575-577);对数里有求和→梯度难(:597-601);引入变分函数 q(z);Jensen 不等式→ELBO(式14.41-14.43);q=p(z|x;θ) 时取等(:618-622);EM 两步(:629-645)=E 步(固定 θ,q=p(z|x;θ),推断问题;一维离散易算,否则变分/采样近似)→M 步(固定 q,最大化 ELBO=全观测参数估计);收敛性证明(式14.45):每次迭代 log p 不减(:650-656);信息论视角(式14.46-14.49):log p(x)=ELBO+KL(q‖p(z|x))(:657-678);图14.11 EM 三步示意(:679-703)。
    • 14.2.2.2 高斯混合(:705-849):GMM=多高斯加权组合,近似多峰/分群结构(:707-710);隐变量 z∈{1..K};p(x)=Σπk 𝒩(x;μk,σk)(式14.53);两步生成=先选分布再采样(:727-730);E 步=后验责任度 γnk(式14.56-14.58);M 步=拉格朗日:πk=Nk/N, μk=Σγx/Nk, σk²=Σγ(x−μk)²/Nk(式14.63-14.66,Nk=Σγnk)(:803-821);算法14.1(:824-837);图14.13 两高斯 16 次迭代(:839-849)。
  • 14.3 推断(:851-1019):定义=观测 e 求 p(q|e)(式14.67-14.68);「关键为求任意一个变量子集的边际概率分布问题」(:863);精确 vs 近似(:864-865)。变量消除法(:870-905):p(x1,x4)=Σp(x1)p(x2|x1)p(x3|x1)p(x4|x2,x3)——每变量 K 取值需 K² 加法+3K² 乘法;乘法分配律(式14.70)→内层先求和(式14.71)→K²+K 加法、K²+K+1 乘法(:880-891);「计算量与消除顺序密切相关」(:893-894);缺点=多个边际重复计算(:903-905)。信念传播(:907-996):把和积当消息存起来(:908-911,边注:以无向图为例但同样适用有向图);链上 p(xt)=μ_{t−1,t}(xt)μ_{t+1,t}(xt)/Z(式14.77);消息递归定义(式14.78-14.79);复杂度 O(TK²);「如果要计算整个序列上所有变量的边际概率,不需要将消息传递的过程重复 T 次」(:967-969);三步=前向→反向→任意节点算 Z(式14.80)(:970-982);树结构=叶到根→根到叶→各节点乘积(:983-994);有环→联合树算法 [Lauritzen 1988] (:995-996)。近似推断三法(:998-1019)=环路信念传播(消息反复传递,可能收敛可能不收敛,不保证精确)/变分推断/采样法。
  • 14.4 变分推断(:1021-1144):变分法=泛函极值(函数的函数);熵是泛函例子(:1022-1033);闭式解=解析解(边注 :1042-1049);推断=找简单 q*(z) 近似 p(z|x),argmin KL(q‖p)(式14.82);「变分推断可以看作 EM 算法的扩展版,主要处理不能精确推断 p(z|x) 的情况」(:1063-1065);KL 不可直接算→转成 argmax ELBO(式14.84-14.85)(:1066-1076);平均场(式14.86):z 拆成多组相互独立,q(z)=∏qm(zm)(:1077-1085);固定其他组时最优 qj*∝exp(E_{q(z∖j)}[log p(x,z)])(式14.94)(:1097-1129);坐标上升迭代(:1130-1132);扩展(:1133-1139)=SVI 随机梯度/BBVI(分数函数估计器 REINFORCE 或重参数化)/摊销变分推断:「用神经网络直接将观测数据映射到变分参数,避免对每个数据点做独立优化——这正是变分自编码器(VAE,第16章)的核心思想」;边注:「当 p(z|x) 比较复杂时,近似效果不佳。这时可以利用神经网络的强大拟合能力来近似 p(z|x),这种思想被应用在变分自编码器中」(:1140-1144)。
  • 14.5 采样法(:1146-1503):目的=算期望 E_p[f(x)] (式14.95);蒙特卡罗=20 世纪 40 年代中期,边注:曼哈顿计划、名字源于摩纳哥赌城(:1163-1166);N 个样本均值近似(式14.96-14.97,大数定律)(:1173-1187);π 的例子:正方形嵌圆,面积比 π/4,统计落在圆内比例(:1188-1194);直接采样=累积分布函数逆变换(cdf⁻¹(ξ))(:1199-1204);难点=「当 p(x) 非常复杂,其累积分布函数的逆函数难以计算,或者不知道 p(x) 的精确值,只知道未归一化的分布 p̂(x)」(:1207-1214)。拒绝采样(:1216-1273):提议分布 q(x)+常数 k,要求 kq≥p̂(式14.98 接受概率 α=p̂/(kq));采样效率=总接受率;kq 远大于 p̂ 时效率低;高维空间接受率迅速下降(:1253-1258);算法14.2。重要性采样(:1275-1326):目的只是算期望→样本不必严格服从 p;w(x)=p(x)/q(x) 重要性权重(式14.99-14.103);未归一化也可(自归一化 式14.104-14.106)。MCMC(:1329-1351):「高维空间中,拒绝采样和重要性采样常受到维数灾难影响,效率会随空间维数的增加迅速降低」(:1330-1333);核心=构造平稳分布为 p(x) 的马尔可夫链;两点注意=预烧期 burn-in(丢弃)/相邻样本相关(隔 M 次抽一个,仍需检查混合与有效样本量)(:1347-1351)。MH 算法(:1353-1444):接受率 A=min(1, p(x̂)q(xt|x̂)/p(xt)q(x̂|xt))(式14.107);细致平稳条件证明(式14.109-14.114);对称提议→Metropolis 算法 A=min(1,p(x̂)/p(xt))(式14.115)(:1435-1444)。吉布斯采样(:1446-1503):「可以看作 MH 的特例」;用全条件概率依次对每个维度采样,接受率恒为 1;式14.116-14.123 逐维更新;细致平稳证明(式14.124-14.125)。
  • 14.6 总结(:1505-1554):图14.16 内容全景(:1519-1530);「许多深度生成模型可以看作在图模型框架中,用神经网络替换手工设计的概率表或简单指数族分布」;「图模型回答『模型应该分解成哪些概率因子』,神经网络回答『这些因子如何用可学习函数表示』」(:1532-1539);「后续深度生成模型一章中的 VAE、GAN、扩散模型和流模型……都可以从这个框架中找到相应位置」(:1538-1539);「神经网络并没有取代概率图模型,而是为图模型中的局部概率因子和近似推断过程提供了更强的参数化能力」(:1543-1545)。

主走查数据(34 章):四变量链 X1→X2,X1→X3,X2,X3→X4(图14.1):15 vs 9 参数(:27-43);一组条件概率表(演示):p(x1=1)=0.6;p(x2=1|x1)=0.7/0.2;p(x3=1|x1)=0.5/0.1;p(x4=1|x2,x3)=0.9,0.6,0.3,0.05;p(1,0,1,1)=0.6×0.3×0.5×0.3=0.027。GMM 一轮 EM(第二处走查,演示):两成分,数据 10 点;E 步算 γ,M 步 μk=加权均值……所有数值现场按公式算。 主走查数据(35 章):四变量链上变量消除 p(x1,x4):顺序 (x2,x3):K²+K 加法;顺序 (x3,x2) 同;吉布斯三步:全条件概率逐维采样,演示抽值。

原书第15章 → 拆解 36

文件 16-ch15.txt。章引言 :8-26:「这一类模型已经不再是训练深层网络的常用工程路线,但它们在深度学习发展史上具有重要地位」(推动隐变量表示学习与生成建模、催生逐层预训练思想)(:11-16);「借助 MCMC 方法进行近似估计」「随机神经网络 SNN」(:21-26)。

  • 15.1 玻尔兹曼机(:28-349):三性质(:38-41)=二值变量/全连接/相互影响对称(图15.1);玻尔兹曼分布 p(x)=(1/Z)exp(−E(x)/T)(式15.1);边注:玻尔兹曼常数 k 吸收到温度 T;提出者路德维希·玻尔兹曼 1844-1906,1868 年研究热平衡气体统计力学(:52-65);能量函数 E(x)=−(Σ_{i<j}wij xixj+Σbi xi)(式15.2)(:59-68);「正的权重 wij>0 会使得玻尔兹曼机的能量下降,发生的概率变大」;变量=基本假设,权重=假设间弱约束 [Ackley 1985] (:69-78);两类问题=搜索(找能量最低状态)/学习(:79-82);数学小知识·玻尔兹曼分布(式15.3-15.4):两个状态的概率比只依赖能量差 pα/pβ=exp((Eβ−Eα)/kT)(:84-110)。
    • 15.1.1 生成模型(:112-219):Z 难算→MCMC 近似(:113-116);定理15.1 全条件概率:p(xi=1|x∖i)=σ((Σj wij xj+bi)/T)(式15.5 :121-130);证明=能量差 ΔEi=Σwij xj+bi(式15.7-15.8)→过 Logistic(式15.13-15.14)(:132-160);吉布斯采样→热平衡;「初始状态的影响会逐渐减弱」(:162-170);温度两极(:171-184):T→∞ 时 p→0.5 随机抛硬币、易混合;T→0 时确定性(式15.15),「随机性方法变成了确定性方法」;Hopfield vs 玻尔兹曼机:Hopfield=确定性动力系统,每次更新能量降低;玻尔兹曼机=随机性,以一定概率让能量上升(图15.2)(:185-219)。
    • 15.1.2 能量最小化与模拟退火(:222-248):确定性方法收敛到局部最优;「允许『偶尔』将一个变量设置为使得能量变高的状态」跳出局部最优(:230-237);边注:「局部最优在 Hopfield 网络中不是一个缺点。相反,Hopfield 网络是通过利用局部最优点来存储信息」(:230-234);模拟退火 [Kirkpatrick 1983]:「刚开始在一个比较高的温度下运行达到热平衡,然后逐渐降低」;名字来自冶金退火;足够慢的冷却→依概率收敛全局最优(:238-248)。
    • 15.1.3 参数学习(:250-349):对数似然(式15.16-15.18);梯度=数据期望−模型期望(式15.24-15.25):∂ℒ/∂wij=E_p̂ E_p(h|v)[xixj]−E_p(v,h)[xixj] (:276-322);2^K 取值空间,Z 与期望难算→MCMC 近似(:323-326);⟨xixj⟩data(固定 v 采 h)与 ⟨xixj⟩model(全自由采样)(:327-333);更新式 wij←wij+α(⟨xixj⟩data−⟨xixj⟩model)(式15.26)(:336-338);「仅仅使用了局部信息……和人脑神经网络的学习方式,赫布规则(Hebb's Rule),十分类似」(:340-343)。
  • 15.2 受限玻尔兹曼机(:351-643):「全连接的玻尔兹曼机在理论上十分有趣,但是由于其复杂性,很少直接用于大规模学习任务……每更新一次权重,往往都需要网络重新接近平衡分布」(:352-355);RBM=二分图:同层无连接、异层全连接;边注:最初称簧风琴模型,2000 年后 RBM 名称才流行(:356-362);关键性质=「给定一层时,另一层中的各个变量条件独立,从而使采样和学习都明显简化」(:364-365);图15.3(7 变量);参数 W/a/b(:373-383);能量函数 E(v,h)=−aᵀv−bᵀh−vᵀWh(式15.27-15.28)(:384-397);直观理解=「数据层」+「潜在特征层」;学习目标=「用潜在特征较好地解释并重构训练数据」(:398-402)。
    • 15.2.1 生成模型(:404-519):条件独立(式15.31-15.32);定理15.2:p(hj=1|v)=σ(bj+Σiwij vi),p(vi=1|h)=σ(ai+Σjwij hj)(式15.33-15.34);证明=对 h 求和(分配律)(式15.35-15.47)(:421-497);向量形式 p(h=1|v)=σ(Wᵀv+b)(式15.48-15.49);并行采样:「受限玻尔兹曼机可以并行地对所有的可观测变量(或所有的隐变量)同时进行采样,从而更快地逼近平衡分布」(:499-502);交替采样流程(图15.4)(:503-510)。
    • 15.2.2 参数学习(:521-569):梯度(式15.51-15.53)同 BM 形状;更新(式15.54-15.56);「采样效率会比一般的玻尔兹曼机有很大提高,但一般还是需要通过很多步采样才可以采集到符合真实分布的样本」(:567-569)。
    • 15.2.2.1 对比散度(:572-585)[Hinton 2002]:「仅需 k 步吉布斯采样」;「对比散度给出的并不是精确的对数似然梯度,而是一种计算高效、在实践中通常足够有效的带偏近似」;「偏差来源于吉布斯采样链从训练数据分布(而非模型的平稳分布)初始化,经过有限 k 步后尚未收敛到模型分布。k 越大偏差越小,但计算代价也越高」;持续对比散度 PCD=「通过在多次参数更新之间保持采样链不重启来进一步减小偏差」(:575-580);CD-k:训练样本当初始值,k=1 已可用(算法15.1 :608-633:正向梯度 v̂hᵀ、重构 v′、反向梯度 v′h′ᵀ、W←W+α(v̂hᵀ−v′h′ᵀ))。
    • 15.2.3 变体(:587-643):BB-RBM 二值/二值;GB-RBM 高斯-伯努利(式15.57,可观测高斯);BG-RBM 伯努利-高斯(式15.58)。
  • 15.3 深度信念网络(:645-873):DBN 结构=「最顶部两层之间的连接是无向的,可以看作一个受限玻尔兹曼机;其余层之间的连接则是有向的……混合结构模型」(:645-655,边注:和全连接前馈网络结构相似,但顶层结构不同);DBM vs DBN(:656-678):DBM 相邻层都无向,后验依赖更强,需更复杂变分或 MCMC;DBN 顶层无向+下层有向生成连接,强调逐层 RBM 预训练;联合分解(式15.59-15.61)=顶层 RBM 给 p(h^(L−1),h^(L)),下层 Sigmoid 条件概率;「每一层都可以看作一个 Sigmoid 信念网络」(式15.62-15.63)(:679-711)。15.3.1 生成(:714-722):顶层 RBM 吉布斯采样到平衡→自顶向下逐层采样。15.3.2 参数学习(:724-747):直接最大化似然难=「贡献度分配问题」,连单层 Sigmoid 信念网络的后验 p(h|v) 都不再独立(:725-734);逐层预训练:第 l 层 RBM 的隐层作为第 l+1 层 RBM 的可观测层;「逐层训练是早期有效训练深层模型的重要方法」(边注)(:735-743);两阶段=逐层预训练+微调;「先学好每一层的表示,再整体优化整个深层模型」(:744-747)。
    • 15.3.2.1 逐层预训练(:749-806):图15.6;算法15.2(自下而上,每层用上层表示当训练集)(:788-806);「逐层预训练可以产生较好的参数初始值,从而降低模型的学习难度」(:784-785)。
    • 15.3.2.2 微调(:808-873):生成权重 W(下行)与认知权重 W′(上行),W′(l)=W(l)ᵀ(:812-815);Contrastive Wake-Sleep(:816-830):Wake 阶段=认知过程+改生成权重(「如果现实跟我想象的不一样,改变我的生成权重」);Sleep 阶段=顶层 RBM 采样+逐层下行+改认知权重(「如果梦中的景象不是我脑中的相应概念,改变我的认知权重」);判别模型微调(:833-858)=顶层加输出层,反向传播;图15.7;「在早期优化技术尚不成熟、训练数据相对有限的背景下,这种预训练通常能够提供更好的初始化」[Larochelle 2007];「随着后续深度网络训练技术的发展,更好的激活函数、初始化方法、规范化技术和残差结构逐渐降低了端到端训练的难度,基于 DBN 的预训练也就不再是训练深层网络的常用方案」(:861-865);历史定位(:866-873):「『先在大量无标注数据上预训练、再在下游任务上微调』这一核心范式并未消失,而是在后续自监督预训练语言模型中以新的目标函数和模型架构延续下来」。
  • 15.4 总结(:875-953):三个核心问题(:876-888)=隐变量刻画潜在结构/精确推断难时采样近似/逐层构造表示;表15.1 BM/RBM/DBN 对比(BM=全连接无向,配分函数难采样慢,能量模型基础;RBM=二分图,仍需近似训练,条件独立便于高效训练;DBN=顶层无向下层有向,逐层预训练与微调,早期深层表示学习里程碑)(:921-930);「从玻尔兹曼机到受限玻尔兹曼机,不只是结构上的简化,更体现了一个重要原则:在复杂建模能力和可学习性之间,往往需要作出平衡」(:889-897);DBN 历史意义两点(:898-908)=「证明了『深层表示』可以通过分层方式逐步学习出来」「把无监督预训练与后续监督微调结合起来,成为深度学习走向复兴的关键过渡环节」;三条阅读线索(:914-953);卷积 DBN [Lee 2009]/DBM [Salakhutdinov 2010] (:950-953)。

主走查数据(36 章):3 可见 + 2 隐藏 RBM,权重演示 W=[[0.5,−0.4],[0.3,0.6],[−0.2,0.1]],a=[0,0,0],b=[0.1,−0.1]。v=(1,0,1):h1 输入=0.5·1+0.3·0+(−0.2)·1+0.1=0.4→σ(0.4)≈0.599;h2 输入=−0.4·1+0.6·0+0.1·1−0.1=−0.4→σ(−0.4)≈0.401。采样 h=(1,0);重构:p(v1=1|h)=σ(0.5·1+(−0.4)·0+0)=σ(0.5)≈0.622;p(v2=1|h)=σ(0.3)=0.574;p(v3=1|h)=σ(−0.2+0)=0.450;取概率期望重构 v̂=(0.622,0.574,0.450);CD-1 更新量 ΔW=α(v̂ᵀ data − v̂ᵀ model)……用期望形式给出每格数(演示权重为我们编的)。

原书第16章 → 拆解 37(VAE 与 GAN)+ 38(扩散与流匹配)

文件 17-ch16.txt。章引言(:8-36):生成模型定义;两个基本功能=概率密度估计和生成样本(采样)(:13-14);两个困难(:22-24)=高维难直接建模(需隐变量/条件独立)、采样难;深度生成模型四类范式=隐变量建模、对抗训练、多步去噪、连续流变换(:31-33)。

  • 16.1 概率生成模型(:38-104):三个基本功能=密度估计/生成样本/监督学习(:40);引入隐变量 z,先验常设标准高斯 N(0,I);「密度估计的重点是估计条件分布 p(x|z;θ)」(:43-57);两个核心困难(:61-63)=后验难算/梯度难传回隐变量网络;「利用神经网络分别建模这两个分布,并借助变分推断与重参数化技巧……就是变分自编码器的基本思想」(:66-67);生成样本两步(先采 z 再采 x)(:81-86);GNN 思想=简单分布+深度网络 g(z)(:87-91);生成 vs 判别模型(:93-104)。
  • 16.2 VAE(:107-458):联合分解 p(x,z;θ)=p(x|z;θ)p(z;θ)(式16.1);log p(x)=ELBO+KL(q,p(z|x))(式16.2,边注:参见 14.49);EM 两步(:140-144);后验 p(z|x;θ)=p(x|z)p(z)/∫(式16.4),积分难算(:152-158);VAE 核心思想=「利用神经网络近似难以直接计算的后验分布和复杂的条件生成分布」(:159-162);推断网络(输入 x 输出 q(z|x;φ))/生成网络(输入 z 输出 p(x|z;θ))(:163-169);名字来自结构与自编码器类似,「背后的原理和自编码器完全不同」——输出是分布(参数)不是确定编码(:187-197,边注:VAE=神经网络与贝叶斯网络的混合体,边注 :191-197);边注:推断/生成网络=EM 的 E 步/M 步,但目标合一(:235-236, :277-278, :318-327)。
    • 16.2.1 推断网络(:200-248):对角高斯 q(z|x;φ)=N(z;μI,σI²I)(式16.5);两层网络(式16.6-16.8),softplus 保方差非负(边注 :211-218);目标=min KL(q,p(z|x)) 不可算→转 max ELBO(式16.9-16.13,第一项与 φ 无关 :241)。
    • 16.2.2 生成网络(:251-280):先验=各向同性标准高斯;p(x|z;θ) 按类型选分布族=二值→伯努利(式16.14-16.15)/连续→对角高斯(式16.16);目标=max ELBO(式16.17)。
    • 16.2.3 优化目标(:283-343):两者统一为 max ELBO(式16.18);ELBO=重构项+KL 正则项(式16.19):「重构项鼓励模型在给定隐变量时能较好地生成原始样本;KL 正则项约束近似后验不要偏离先验分布太远,从而使隐空间保持较好的规整性」;「VAE 并不是单纯地追求『重构得尽量像』,而是在重构能力与隐空间规整性之间取得平衡」(:297-303);重构项采样近似(式16.20)但采样切断梯度(「由于变量 z 和参数 φ 之间不是直接的确定性关系,而是一种『采样』关系」)(:305-318);KL 项高斯有闭式解(式16.21-16.22,迹/行列式边注 :330-339)。
    • 16.2.4 重参数化(:346-370):定义=θ=g(ϑ) 换参数化(边注:另一例=逐层规范化);z=μI+σI⊙ε, ε∼N(0,I)(式16.24);「z 和参数 φ 的关系从采样关系变为确定性关系」,随机性独立于参数,可求导(:364-370)。
    • 16.2.5 训练(:372-458):端到端 SGD(式16.25);高斯输出+忽略常数→𝒥=−½‖x−μG‖²−λKL(N(μI,σI²),N(0,I))(式16.26);「表面类似自编码器的『重构误差+正则化』,但机理并不相同:自编码器学习的是确定性编码与解码映射,而 VAE 学习的是一个显式的概率生成模型及其近似推断过程」(:396-400);两种失衡(:401-406):「若 KL 项过强,编码器可能倾向于忽略输入样本,使隐变量过早逼近先验分布,这会导致所谓的后验坍塌(posterior collapse);若 KL 项过弱,则隐空间虽然更容易『记住』训练样本,却可能失去良好的生成与插值性质」;缓解(:407-412)=KL 退火/β-VAE/自由比特;图16.5 训练过程;MNIST 隐变量流形可视化(图16.6)(:431-450);VQ-VAE 离散码本(:452-458);「隐空间扩散模型则更一般地依赖自动编码器把高维数据压缩到更紧凑的表示空间」(:454-456)。
  • 16.3 GAN(:460-898):显式密度模型 vs 隐式密度模型(:461-472):「并不显式地建模 pr(x),而是建模生成过程」;生成网络 G:𝒵→𝒳(:466-470);图16.7。16.3.1 网络分解(:479-547):判别网络=二分类器,输出 D(x;φ)=p(y=1|x)(式16.27);目标=最小化交叉熵(式16.28)→等价 max E log D + E log(1−D)(式16.29-16.30);非饱和生成器目标(式16.31 min log(1−D) 理论 vs 式16.32 max log D 实践):「当判别网络以很高的概率认为生成样本是『假』时,D 接近 0,Sigmoid 输出接近饱和,原始极小极大目标传回生成器的有效梯度会很弱。非饱和目标直接增大 log D……通常能给生成器提供更强的学习信号」(:533-547,边注:另一种方法=标签互换)。
    • 16.3.2 训练(:549-586):「两个网络的优化目标刚好相反……训练比较难,往往不太稳定」;「判别网络过强时,生成器可能接收不到有效梯度;判别网络过弱时,它又无法提供有意义的分布差异信号」(:550-554);算法16.1=判别网络更新 K 次、生成网络更新一次(:555-557)。
    • 16.3.3 DCGAN(:588-607)[Radford 2016]:判别=带步长卷积替代池化;生成=微步卷积(转置卷积);100 维 z→4×4×1024→四层微步卷积→64×64;五条稳定经验=步长卷积/微步卷积、批量规范化、去全连接、生成网络 ReLU+末层 Tanh、判别 LeakyReLU(:598-607)。
    • 16.3.4 模型分析(:609-740):极小极大目标(式16.33-16.34);最优判别器 D(x)=pr(x)/(pr(x)+pθ(x))**(式16.35);代入→ℒ(G|D)=2JS(pr,pθ)−2log2(式16.36-16.39);「当判别网络为最优时,生成网络的优化目标是最小化真实分布和模型分布之间的 JS 散度」(:640-643);梯度消失(:646-666):「当两个分布的支撑集没有重叠时,它们之间的 JS 散度恒等于常数 log 2」→梯度 0;D*(G(z))=0∀z→生成网络梯度消失(图16.10);实际=不训到最优,「如何在梯度消失和梯度错误之间取得平衡并不是一件容易的事」(:663-666);模式坍塌(:668-695):非饱和目标+最优 D→argmin KL(pθ,pr)−2JS(式16.45);「生成器更新可能更接近于受逆向 KL 散度主导……倾向于集中在少数高概率模式上」;「模型并非完全学坏,而是只学会了少数几种『足以骗过判别器』的样本模式」(:688-695);前向/逆向 KL(:696-740):前向=pr 加权→「鼓励模型分布尽可能覆盖所有真实分布>0 的点」(面积/cover);逆向=pθ 加权→「鼓励避开 pr≈0 的点」(模式/seek)(式16.46-16.47,图16.11)。
    • 16.3.5 改进(:742-898):W-GAN(:748-863)[Arjovsky 2017]:一阶 Wasserstein 距离(式16.48,边注:推土机距离,参见 E.3.4);「KL 可能 +∞、JS 在支撑集分离时恒 log 2,而一阶 Wasserstein 距离依然可以衡量两个没有重叠分布之间的距离」(:759-761);Lipschitz 连续小知识(式16.49-16.51)(:763-776);Kantorovich-Rubinstein 对偶(式16.50-16.52)=W1=1-Lipschitz 函数期望差上确界;评价网络 Critic(式16.53)=线性输出层,值域无限制;权重裁剪 φ∈[−c,c] (c 如 0.01)(:798-816);生成网络目标(式16.54);「因为 f 不再是 Sigmoid 概率输出,生成网络参数更不容易遇到由判别器饱和引起的梯度消失问题。W-GAN 的目标也不直接依赖两个分布密度的比率」(:817-825);算法16.2(RMSProp+clip);WGAN-GP=梯度惩罚(:858-863);「理解 W-GAN 的关键……两个思想:一是用更合适的距离度量替代 JS 散度,二是通过 Lipschitz 约束让评价网络的打分具有『距离』意义」(:860-863);cGAN(式16.55-16.56):条件变量 c 同时进 G 和 D(:865-880);InfoGAN:潜在码+最大化互信息→可解释表示(:882-890);GAN 地位(:891-898):「并不是简单『被替代』:在需要极快推断速度(单步生成)……仍有独特优势」。
  • 16.4 扩散模型(:900-1574):基本思想(:901-905)=「先定义一个固定的前向随机过程,把真实样本逐步扰动为近似高斯噪声;再学习一个反向过程」;「原本困难的高维生成问题就被分解为一系列局部的去噪问题」;联合分布(式16.57-16.58);两部分(:919-922)=前向(人为设定)/反向(神经网络);边注:「扩散模型也可以看作一种特殊的层级变分自编码器:前向分布由人为固定,反向分布由神经网络学习」(:924-930);两个直接好处(:937-940)=前向解析可构造任意噪声水平样本/反向每步只解「稍微去噪一点」局部问题。
    • 16.4.1 前向(:942-996):马尔可夫链(式16.59);q(xt|xt−1)=N(√(1−βt)xt−1, βtI)(式16.60);噪声调度(线性/余弦)(:956-960);αt=1−βt, ᾱt=∏αs(式16.61);闭式 q(xt|x0)=N(√ᾱt x0,(1−ᾱt)I)(式16.62),xt=√ᾱt x0+√(1−ᾱt)ε(式16.63);边注:「这个闭式表达非常重要,因为它意味着训练时不必真的把噪声一步一步加到第 t 步,而是可以直接从 x0 构造任意时刻的带噪样本」(:974-982);SNR(t)=ᾱt/(1−ᾱt)(式16.64)(:976-983);图16.13 信号/噪声占比。
    • 16.4.2 反向(:998-1015):pθ(xt−1|xt)=N(μθ(xt,t),σt²I)(式16.66);方差常预先给定,主要学 μθ。
    • 16.4.3 训练(:1017-1229):变分下界 VLB(式16.67-16.68);「扩散模型本质上仍然是最大似然学习,只不过通过引入一串中间隐变量,把困难的密度建模问题转化为多个局部的分布匹配问题」(边注 :1027-1033);真实后验闭式(式16.69-16.71,β̃t 与 μ̃t);化简为带权均方误差(式16.72);为什么不直接回归 μ̃t(:1065-1074):「μ̃t 本质上只是 xt 与 x0 的一个线性组合……直接预测 μ̃t,网络实际上需要同时『复现』已知项并『恢复』未知项」;四种参数化(:1078-1229):预测 x0(式16.73,wt 依赖 t 与调度);预测 ε(式16.74-16.78):x̂0=√(1/ᾱ)(xt−√(1−ᾱ)ε̂);μθ=(1/√αt)(xt−βt/√(1−ᾱt)ε̂)(式16.76);ℒsimple=E‖ε−ε̂(xt,t)‖²(式16.78)「看似简单,却非常有效」;预测分数函数(式16.79-16.80):s(x)=∇x log p(x);∇xt log q(xt|x0)=−ε/√(1−ᾱt);「预测噪声与预测分数函数本质上只差一个与时间步有关的尺度因子」;去噪分数匹配 DSM [Song 2021b] (:1158-1160);预测速度(式16.81-16.86):√ᾱt=cosθt, √(1−ᾱt)=sinθt(式16.82);xt=cosθt x0+sinθt ε(式16.83);v=√ᾱt ε−√(1−ᾱt)x0(式16.84);边注:速度参数化几何示意(xt 对应径向,v 对应切向;「ᾱt 可以看成一个『旋转进度条』」)(:1170-1184);x̂0=√ᾱt xt−√(1−ᾱt)v̂(式16.86);四者关系(:1204-1229):「本质上都在描述同一个反向去噪过程……在表达能力上并没有本质差别;真正的差别主要体现在训练目标的尺度、不同时间步上的数值性质,以及与离散时间推导、连续时间视角和快速采样器之间的适配方式」;各自特点=(1)预测 x0:t 大时数值波动大,t 小时容易;(2)预测 ε:t 小时梯度信号弱,t 大时容易;(3)分数=与 ε 差尺度因子,对应连续时间;(4)v=更对称,整个时间轴数值更平衡;边注 [Li et al., 2025]:低内在维数时直接预测 x0 可能最优、预测 ε 或 v 可能导致训练退化(:1220-1233);训练=均匀采 t(「任意噪声水平上的单步去噪能力」)(:1224-1229)。
    • 16.4.4 采样(:1231-1306):「扩散模型的采样本质上是在数值求解一个反向去噪过程」(:1238-1242);DDPM(式16.87-16.89):xt−1=(1/√αt)(xt−βt/√(1−ᾱt)ε̂)+σt z;祖先采样;「同一个初始噪声可以对应多种可能的生成路径」;缺点=「数百步甚至上千步的网络评估」(:1270-1278);DDIM(式16.90-16.91):σt(η)=η√((1−ᾱt−1)/(1−ᾱt))·√(1−ᾱt−1/ᾱt−1);η=0 确定性;「训练目标并不唯一决定采样路径。同一个去噪网络,可以对应多种不同的反向离散化方式」(:1298-1301);「DDPM 和 DDIM 都可以被统一理解为连续时间动力系统的不同离散化方式」(:1304-1306)。
    • 16.4.5 去噪网络与条件控制(:1308-1470):时间步编码(:1316-1339):「如果不告诉网络当前的时间步 t 或对应噪声强度,那么『轻度去噪』和『重度去噪』就会被混在一起,学习目标会变得含糊」;正弦余弦嵌入+MLP;fθ:(xt,t,c)↦ŷ(式16.92),「同一个网络就能够共享参数地处理所有时间步」;条件注入三类(:1350-1363)=直接拼接或加和(分割图/边缘图/深度图)/特征调制(缩放平移仿射)/交叉注意力(文本词元,适合文生图,隐空间扩散常见 [Rombach 2022]);注入位置:「若只在输入层注入,条件信号在深层可能逐渐减弱;若在多个尺度上重复注入,则更有利于条件信息贯穿整个逐步去噪过程」(:1360-1363);引导(:1365-1410):分类器引导(式16.94)=额外训练噪声条件分类器,工程代价高(:1369-1376);无分类器引导 CFG [Ho 2022] (式16.95-16.96):训练时以一定概率随机丢弃条件→一个网络学两种预测;采样时 ε̂=(1+w)ε(xt,c,t)−wε(xt,∅,t);概率解释(式16.97-16.98):「CFG 实际上等价于从一个修正后的目标分布中采样:p̃(xt|c)∝p(xt)·p(c|xt)^{1+w}」;「当 w=0 时退化为贝叶斯后验;当 w>0 时,目标分布越来越集中在使条件匹配度最大的区域。这解释了为什么增大 w 能提高条件一致性,但同时也会带来代价:多样性下降,过大的引导强度甚至可能导致样本过饱和、细节失真或出现不自然伪影」(:1402-1410);U-Net(:1417-1445):编码器-解码器+跳跃连接;「如果只有编码器而没有跳跃连接……难以精确恢复『局部长什么样』;而单纯依赖浅层局部特征,又容易缺乏全局一致性」;残差块/自注意力/交叉注意力模块(:1436-1440);DiT(:1462-1470):「把隐变量切分成图块(patch)序列,再用 Transformer 进行全局建模……与大规模预训练和统一多模态建模更容易结合」。
    • 16.4.6 隐空间扩散(:1472-1574):「像素张量维度很高,每一步去噪都要处理巨大的特征图」(:1473-1477);LDM 两阶段(:1491-1518)=训练自动编码器(压缩/恢复)+隐空间扩散(z0=E(x),式16.99-16.102);「LDM 并不是重新发明了一套新的扩散训练方法,而是把前面已经介绍过的扩散训练与采样框架,迁移到一个更紧凑、更偏语义的表示空间中」(:1510-1513);图16.15;三优势(:1536-1542)=维度低开销小/自动编码器压掉局部冗余,扩散集中学高层语义/条件注入高效;代价(:1543-1556):「最终生成质量不仅取决于去噪网络本身,还强烈依赖自动编码器的压缩与重建能力」;「重建效果的提升并不必然带来生成质量的提升,两个目标之间存在固有的张力」[Yao 2025] (:1552-1556);后续=调节隐空间表征契合「从粗到细」[Ning/Skorokhodov 2025] (:1557-1562);Stable Diffusion=「先压缩,再扩散,最后解码」(:1563-1574);编码器不必是 VAE(可直接用 DINOv2 特征空间 [Zheng 2025])(:1566-1570)。
  • 16.5 流匹配(:1576-1922):「能不能不绕这个弯,直接学习一个从简单分布到数据分布的变换?」(:1577-1579);流匹配 [Lipman 2023]:「把生成过程想象为粒子在空间中的流动……学会速度场,生成样本就等价于求解一个常微分方程」(:1580-1583);三特点(:1584-1593)=不需固定前向加噪过程/路径可以更直少步/概念直观;ODE/SDE 小知识(欧拉法;SDE=ODE+布朗运动;「扩散模型的前向加噪过程本质上就是一个 SDE」)(:1596-1622)。
    • 16.5.1 连续标准化流(:1628-1718):标准化流=可逆变换链+变量替换公式(式16.103);雅可比行列式=「局部的体积缩放因子」(小知识 :1635-1664,一维例 y=2x→密度缩 1/2);CNF [Chen 2018] (式16.104)=神经网络速度场的 ODE;边注:「这里 x0,x1 的定义刚好和扩散模型相反」(:1687-1688);连续性方程(式16.105,散度边注)(:1694-1707);瞬时变量替换(式16.106):log p1=log p0−∫∇·v dt;「计算散度的代价与数据维度 d 成正比」→直接最大化似然贵;「流匹配方法正是为了解决这个难题而提出:用一个更简单的回归目标来训练 CNF,绕开似然和散度计算」(:1713-1718)。
    • 16.5.2 条件流匹配(:1720-1779):边际流匹配目标(式16.107)但 pt(x) 与 ut(x) 无解析形式(:1726-1729);关键洞察(:1730-1736):「固定一个具体的数据点 x1 作为终点,再设计一条从噪声到它的路径,就变得非常简单——最简单的就是一条直线」;类比:「城市里几百万辆车的整体流动规律难以直接描述,但每一辆车自己的行驶路径却很容易描述」(:1734-1736);边际路径=条件路径混合(式16.108-16.109);「直接对条件速度场做回归和对边际速度场做回归的梯度是一致的」(:1747-1750);线性插值路径 xt=(1−t)x0+t x1,条件速度=x1−x0(式16.110)(:1751-1756);CFM 目标(式16.111);「网络直接学习的就是『从当前位置到目标的速度』」(:1763-1765);图16.17;采样=ODE 数值积分,「流匹配的传输路径通常比较平直,在实践中往往只需较少的积分步数(如 20~50 步)」(:1777-1779)。
    • 16.5.3 连续时间视角(:1781-1814):VP-SDE(式16.112-16.113):反向 SDE 比前向多一个正比于分数函数的漂移项——「把样本往数据密度高的区域推」;概率流 ODE(式16.114)=同一前向 SDE 的确定性过程,同一边际;意义=可用 ODE 求解器(Runge-Kutta)+高阶快速采样器 [Lu 2022]+桥梁(:1805-1814)。
    • 16.5.4 联系(:1816-1828):「扩散模型的概率流 ODE 本身就定义了一个从噪声到数据的确定性流……其速度场是通过『先定义前向 SDE,再推导分数函数』间接得到的」;「两者的关键区别在于传输路径的形状。扩散模型由于噪声调度的设计,传输路径通常是弯曲的;而流匹配的线性插值路径是直线。直线路径往往使速度场更平滑,ODE 也更容易用较少的步数近似求解」(:1824-1828)。
    • 16.5.5 采样加速(:1830-1868):预测-校正 PC 采样(预测器全局推进+校正器 Langevin 局部修正)(:1836-1842);DPM-Solver:高阶求解器,「10 到 20 次函数评估就能得到高质量样本……4~16 倍加速」(边注 :1848-1856);一致性模型 [Song 2023]:ODE 轨迹上任意两点映射到同一起点(自一致性);一致性蒸馏/一致性训练;单步生成+少步细化(:1850-1865);流图 Flow Map [Boffi 2025] (:1866-1868)。
    • 16.5.6 最优传输与路径(:1870-1910):独立耦合问题=路径交叉(图16.18):「当两条条件路径在某个中间时刻 t 经过同一个空间位置时,它们指向不同的目标 x1,导致训练时网络在该位置收到相互矛盾的梯度信号。这不仅增大了训练方差,也使得学到的边际速度场变得弯曲,采样时需要更多的 ODE 求解步数」(:1877-1880);OT-CFM [Tong 2024]:小批量最优传输(线性指派)替代随机配对;「减少路径交叉,使学到的速度场更平滑」(:1892-1897);矫正流 Rectified Flow [Liu 2023] (式16.115):v(z,t)=E[x1−x0|xt=z];迭代矫正=用训练好的模型生成新配对再重训,「由于新配对中的 x0 和 x1 之间已经存在 ODE 流的对应关系,重新训练时的路径会更直、交叉更少」(:1905-1910)。
    • 16.5.7 应用(:1913-1922):文生图用矫正流+DiT [Esser 2024];「流匹配与扩散模型之间的边界并不绝对——两者的核心技术(条件控制、无分类器引导、隐空间建模等)可以高度共享」(:1919-1922)。
  • 16.6 总结(:1924-2034):四条路线(:1929-1942)=VAE(生成+推断联合学习)/GAN(对抗博弈,不写密度,样本锐利但不稳定)/扩散(逐步去噪,稳定可控但步数多)/流匹配(速度场,更简洁更直);表16.1 五路线×(概率采样视角/优势/评估盲点)(:1955-1979):VAE 盲点=「重构好不等于样本自然;KL 项过强可能导致后验坍塌」;GAN 盲点=「容易只看少量样本质量,忽略多样性和模式坍塌」;自回归=「采样误差会累积」;扩散=「采样成本高,视觉质量不等于语义正确或条件忠实」;流匹配=「路径选择、数值求解误差和少步质量需要单独检查」;评估(:1981-1988):「不能只依赖单一指标」;同时检查保真度、多样性、条件一致性、下游效用、不确定性校准和安全边界;「还应特别检查模型是否真正使用了条件信息」(:1986-1988);分子设计闭环+主动学习(:1991-1997)。

主走查数据(38 章):ᾱt=0.36, x0=1.0, ε=0.5:xt=√0.36×1.0+√0.64×0.5=0.6+0.4=0.9;SNR=0.36/0.64=0.5625;网络预测 ε̂=0.45:x̂0=(1/√0.36)(0.9−√0.64×0.45)=(1/0.6)(0.9−0.36)=0.54/0.6=0.9;单步 MSE(预测目标 ε)=‖ε−ε̂‖²=(0.05)²=0.0025;流匹配同组数:t=0.4,xt=(1−0.4)×噪声起点+0.4×数据终点;取 x0(噪声端)=0.9?——为一致性:线性插值路径 xt=(1−t)x0+t x1,取噪声端 x0=0.0、数据端 x1=1.5(演示)→t=0.4 时 xt=0.6,目标速度=x1−x0=1.5。或按大纲用同一组数:x0=1.0,ε=0.5 → 直接给流匹配的路径演示:噪声端 a=0.9、数据端 b=1.5,t=0.4 → 位置 1.14,速度 0.6?需写清「这些数是演示编的」。