阅读笔记:deep-rl-fundamentals-research-applications
原书:《深度强化学习:基础、研究与应用》,董豪等著,电子工业出版社 2021 年 7 月第 1 版(书卡写 2022 版,版权页为 2021)。 社区编著:TensorLayer 中文社区发起,每章作者不同(各章作者表在 text/01-fm.txt:130 附近)。
前导知识 + 前言(text/02-fm.txt, text/01-fm.txt)
- 韦恩图:AI ⊃ ML ⊃ DL;RL 与 ML 并列另一支;DRL = DL ∩ RL(text/02-fm.txt:16 附近,图1)。
- 图灵测试(Turing 1950)、AI 一词 McCarthy 1956 达特茅斯、ML 一词 Samuel 1959(text/02-fm.txt:21-50)。
- ANN 起点 McCulloch & Pitts 1943;AlexNet 2012 超第二名 10%+ 是转折点(text/02-fm.txt:66-90,搜「10% 以上」)。
- 深度学习 = 端到端,免去手工特征工程;但是黑盒(text/02-fm.txt:76-78)。
- RL:世界分为环境与智能体,动作交互,奖励反馈(text/02-fm.txt:101-104)。
- DRL 史:DeepMind 2013 Playing Atari(7 种游戏,6 个优于之前方法,1 个赢人类);2017 AlphaGo 胜柯洁(text/02-fm.txt:110-118)。
- 本书用 TensorLayer 做实现教学(text/02-fm.txt:120-128)。
- 数学符号约定 + RL 符号表(s,a,r,γ,π,v,q,G,τ…)+ 术语总结(贝尔曼方程四个)(text/02-fm.txt:166-331)。
- 前言(董豪 2021-04):三部分结构;第 2 章最关键;第 3 章+附录 A/B 是算法总结;研究见 7-12;工程师看 13-17(text/01-fm.txt:90-120,搜「第 2 章是最关键」)。
- 利益相关:本书用 TensorLayer 教学,董豪是 TensorLayer 创始人(text/01-fm.txt 作者简介)。
第1章 深度学习入门(text/05-ch01.txt,1421 行,作者:张敬卿/袁航/廖培元/董豪)
- 定位:DL 基础扫盲章,熟悉 DL 可跳过(:8)。判别模型 p(y|x) vs 生成模型 p(x,y)(:13,:30);多数 DNN 是判别模型,生成任务可简化为分类/回归(:42)。
- 感知器:z=w1x1+w2x2+w3x3,踢足球例子(:73-83);偏差 b 让决策边界不必过原点(:108-113);全连接层/密集层 z=Wx+b(:124-154)。
- MLP:通用近似定理——一层隐藏层+可挤压激活+足够多神经元可逼近任意博莱尔可测函数,但难训练/过拟合,所以用多层(:171-176)。XOR 不能用单个感知器,用一层隐藏层 MLP:先学 OR 和 NAND 把点映射到新特征空间,再用 AND 分开(:209-213)。
- 激活函数:sigmoid(0-1)、tanh(-1~1)、ReLU(负数置0,好算、近线性、但丢负信息→Leaky ReLU/PReLU)、softmax(归一化成概率向量,只在输出层)(:230-291)。
- 损失函数:KL 散度→交叉熵(去掉与 Q 无关的第一项)(:300-315);二分类交叉熵(:316-326);多分类(:331-346);Lp 范式、MSE(L2 平均,回归用)、MAE(L1 平均;MSE 可导性好,MAE 在 0 点不可导)(:348-392)。
- 优化:梯度下降 θ:=θ−α∂L/∂θ;暴力解 ∂L/∂θ=0 不可行(:399-409)。反向传播:中间量 δ=∂L/∂z,链式法则逐层回传(:417-474);局部最小值通常接近全局(:479-481);sigmoid 梯度消失问题,a 接近 0/1 时导数趋 0,深层网络 δ 越来越小;ReLU 正区导数恒 1(:482-492)。
- SGD:mini-batch,批大小 B(:503-518);学习率过大震荡、过小慢;自适应学习率 Adam(一阶/二阶动量,β1=0.9,β2=0.999)(:530-567)。
- 超参数筛选:训练/验证/测试集,不能用测试集调超参(作弊)(:569-577);k 折交叉验证(:579-593)。
- 正则化:过拟合 vs 欠拟合(:599-611);权重衰减 L1/L2(L1 更可能把参数压成 0,隐式特征选择)(:613-643);Dropout(随机关神经元,等于训练很多共享参数的小网络,测试时全开;理论证明原文没有)(:645-662);批标准化(均值0方差1,移动平均)(:664-675);早停、数据增强(:677-696)。
- CNN:局部连接+参数共享(卷积核复用),参数比全连接少(:707-714,:750-755);卷积核/步长/零填充,输出大小公式 (W-F+2P)/S+1(:716-738);池化(最大/平均)(:741-746);4×4 RGB 图+3×3×3 卷积核走查(:735-740);池化例子有具体数字矩阵(:762-772)。
- RNN:序列数据,循环单元+隐状态(:783-807);W 反复乘→特征值>1 梯度爆炸、<1 梯度消失(:812-816);遗忘问题例子「我是中国人…我的母语是__」(:818-820);LSTM:单元状态(信息高速路)+三门(遗忘/输入/输出,sigmoid 门控)(:821-855);GRU,哪种更优无定论(:857-860)。
- 实现样例(TensorFlow 2.0 + TensorLayer 2.0):张量/GradientTape(:871-918);静态 vs 动态模型(:920-994);Lambda Layer(:996-1046);MLP on MNIST(70,000 张,五步:数据加载/模型定义/训练/测试/存储)(:1049-1122);CNN on CIFAR-10(10 类各 6000 张 32×32)(:1125-1189);Seq2seq 聊天机器人(编码/解码 RNN)(:1191-1222)。
第2章 强化学习入门(text/06-ch02.txt,2748 行,作者:丁子涵/黄彦华/袁航/董豪/仉尚航)【全书最关键章】
- 2.1 基本概念:智能体/环境/动作集合(Pong 例子,动作={上,下},奖励 ±1)(:25-32);完全可观测(围棋)vs 部分可观测(Pong 单帧看不出球速)(:36-57);奖励函数 R(St) 或 R(St,At)(:62-71);轨迹 τ=S0,A0,R0…(:72-78);确定性/随机性转移(:79-89);片段/回合(:90-94);探索-利用权衡:淘金者例子(2克金矿 vs 找5克金矿)(:95-114)。
- 2.2 在线预测与赌博机:在线学习 vs 统计学习(有序样本、最差情况、后悔值 vs 经验风险)(:119-128);多臂赌博机 MAB(:129-137);q(a)=E[Rt|At=a],估计 Q(a)(:141-148);贪心/ε-贪心(:149-176);后悔值 Regret 与伪后悔值(最大化与期望顺序不同,E[REn]≥REn)(:198-241);UCB:At=argmax[Qt(a)+c√(ln t/Nt(a))],平方根项=不确定性(:243-264);对抗赌博机(健忘/非健忘对抗者、全/部分信息博弈;确定性玩家 RE≥n/2)(:266-291);Hedge 算法(G 累计奖励+softmax,η 温度)(:301-324);Exp3(Hedge+均匀分布)(:307-310);上下文赌博机(LED 灯例子;介于 MAB 与完整 RL 之间)(:326-341)。
- 2.3 马尔可夫过程:MP=<S,P>,马尔可夫性质(无记忆)(:346-367);Task1/Task2/Pass/Bed 例子,转移矩阵 P(:368-441);时间同质性(:394-407);MRP=<S,P,R,γ>,奖励在节点上(:446-453);回报 Gt、非折扣回报(轨迹 g,t1,t2,p,b 回报 5=-1-2-2+10)(:487-501);折扣回报 γ=0.9 时 2.87=-1-2×0.9-2×0.9²+10×0.9³(:502-515);γ=0 短视,γ=1 非折扣,无限长必须折扣(:512-515);γ 的另一种理解:并入转移概率(:516-519);价值函数 V(s)=期望回报(:520-527);蒙特卡罗估计 V(t2):采样 4 条轨迹 (-2, 7, 4.57, -0.178) 平均 2.348(:528-537);MDP=<S,A,P,R,γ>,奖励在边上(:548-590);策略 π(a|s)(:596-600);轨迹概率 p(τ|π)(:602-608);期望回报 J(π)=E[R(τ)],最优策略 argmax(:611-623);Vπ、Qπ 定义(:625-651);在线价值函数 vs 最优价值函数(:647-651);vπ(s)=Ea~π[qπ(s,a)] (:652-655)。
- 2.3.4 贝尔曼方程:递归推导 vπ(s)=E[r+γvπ(s')] (:667-684);MRP 版(:689-692);qπ 版(:694-702);逆矩阵方法 v=(I−γP)⁻¹r,O(n³)(:709-727);最优价值函数 v*,q*(:729-763);贝尔曼最优方程 v*(s)=max_a E[R+γv*(s')] (:765-801)。
- 2.3.5 确定性策略(狄拉克 δ 极限)vs 随机性策略(:803-821);POMDP(:822-829)。
- 2.4 动态规划:Bellman 1950s;两性质:最优子结构+重叠子问题;斐波那契例子(:831-850);策略迭代=策略评估+策略提升交替,GPI(:852-878);收缩证明 Tπ 是 γ-收缩,巴拿赫不动点定理收敛(:882-908);价值迭代(从最终状态向前)(:936-999);停止标准 2ϵγ/(1−γ)(:996-999);异步 DP:在位更新/优先扫描/实时更新(:1001-1059)。
- 2.5 蒙特卡罗:不需环境模型,采样平均(:1061-1074);首次/每次访问 MC(:1076-1086);不用自举→偏差小方差大(:1087-1090);探索开始(:1098-1102);MC 控制(贪心提升证明)(:1122-1147);增量式 MC:Qt+1=Qt+(1/t)(Gt−Qt),通用形式「新估计←旧估计+步长×(目标−旧估计)」(:1149-1205)。
- 2.6 时间差分:TD(0) 更新 V(St)←V(St)+α[Rt+1+γV(St+1)−V(St)] (:1207-1237);DP/MC/TD 异同表(:1239-1259);偏差-方差权衡(MC 无偏方差大,TD 有偏方差小)(:1260-1279);半梯度方法(:1282-1293);资格迹 z_t=γλz_{t−1}+∇V,TD(λ):λ=1 即 MC,λ=0 即单步 TD(:1294-1348);λ-回报加权 (:1321-1341);Sarsa(在线策略,五元组 S-A-R-S-A 得名)(:1350-1396);GLIE 条件(:1397-1408);Sarsa 收敛定理(查找表、学习率条件 Σα=∞ Σα²<∞、有界方差)(:1442-1457);Q-Learning(离线策略,目标值 max_a Q(St+1,a) 不依赖行为策略)(:1458-1485)。
- 2.7 策略优化:图 2.13 分类树(基于价值:Q-Learning/DQN;基于策略:REINFORCE/CE;结合:Actor-Critic)(:1505-1513);价值函数拟合:表格法→线性方法(多项式/傅立叶/粗略编码/瓦式编码/RBF)→非线性(神经网络)→其他(决策树/最近邻)(:1643-1734);围棋约 10^170 状态,表格法不可行(:1637);非独立同分布问题(:1735-1741);死亡三件套(离线训练+函数拟合+自举)(:1743-1753);DQN 过估计问题(:1754-1757);基于梯度的价值拟合 MSE 目标(:1759-1810);DQN 例子:经验回放+目标网络(:1811-1821)。
- 2.7.3 基于策略的优化:参数化策略;伯努利/类别/对角高斯分布(:1823-1835);Gumbel-Softmax 技巧(让类别采样可微)(:1848-1869);再参数化技巧 a=μθ+σθ⊙z(:1870-1883);策略梯度定理 ∇J=E[Σ∇log π(At|St)Qπ(St,At)] (:1915-1953);SPG 推导:对数-导数技巧,环境项不依赖 θ 被移除(:1955-2011);Reward-to-Go(动作前的奖励对梯度零影响)(:2080-2090);EGLP 引理 E[∇log p(x)]=0→基准 b(St) 不 bias 梯度(:2107-2135);Φt 可取 Qπ 或优势 Aπ=Qπ−Vπ(:2162-2214);REINFORCE(:2221-2233);DPG 定理(在线+离线推导,莱布尼茨/富比尼)(:2234-2461);DPG 是 SPG 的 σ→0 极限(:2437-2461);DDPG(脆弱、超参敏感)(:2462-2473);SVG/再参数化/SAC(熵正则)(:2475-2532);无梯度:CE 方法(高斯分布采样-排序-更新均值方差;过快收敛到点→加噪声)(:2534-2583)。
- 2.7.4 Actor-Critic:Critic 估计 Q 减方差,兼容函数近似条件(SPG 两条件:Qw=∇log π^T w + MSE 最小)(:2585-2652);A2C 用优势函数(:2653-2662);QT-Opt 无行动者方法(:2663-2667)。
第3章 强化学习 算法分类(text/07-ch03.txt,255 行,张鸿铭/余天洋)
- 四组分类:基于模型 vs 无模型;基于价值 vs 基于策略;MC vs TD;在线 vs 离线(:3-14)。
- 「模型」在 RL 里特指环境动力学(P 和 R),不是神经网络(:17-25);已知模型→规划(值/策略迭代);未知→试错(:26-29)。
- 基于模型两类:给定模型(AlphaGo,围棋规则已知)vs 学习模型(World Models:VAE 编码状态为潜向量 z,再学 z 的预测模型)(:47-58);优点=规划;缺点=模型假设过强/模型不准→策略失效(:59-65)。无模型:易实现但采样效率低,真实环境探索代价高(自动驾驶例子)(:66-72)。
- AlphaGo/AlphaZero/MuZero 属基于模型(:80-82)。
- 基于价值:采样效率高、方差小;不能处理连续动作、ε-贪心+max 致过估计(:96-98);DQN 变体 6 个:PER(按 TD 误差加权采样)、Dueling(Q=V+A)、Double(选择/评估用不同网络)、Retrace、Noisy(参数加噪探索)、Distributed(估价值分布)(:99-113)。
- 基于策略:直接优化策略,适合连续/高维;PG/TRPO/PPO,TRPO/PPO 限制步长防策略崩溃(:114-121)。
- Actor-Critic:Critic 学价值提高采样效率,Actor 学策略适合连续动作;缺点是 Critic 过估计+Actor 探索不足;A3C(异步并行)、DDPG(目标网络+确定性 Actor)、TD3(截断 Double Q+延迟更新)、SAC(熵正则)(:122-139)。
- MC vs TD 重申:TD=DP 与 MC 中间形式;TD 偏差大、MC 方差大(:141-151)。
- 在线(Sarsa:行为策略=目标策略)vs 离线(Q-Learning:max+ε-贪心)(:155-174)。
第4章 深度Q网络(text/08-ch04-4-q.txt,1030 行,黄彦华/余天洋)
- Q-Learning 用神经网络非线性逼近时不稳定甚至发散(Tsitsiklis)(:6-11);DQN 两关键技术解决。
- 回顾:TD(0) 更新、Q 值、贪心提升证明、ε-贪心策略不会变差(公式 4.4-4.5 证明)(:22-64)。
- Sarsa=在线策略(行为策略=目标策略);Q-Learning=离线(行为 ε-贪心,目标贪心)(:67-93);「反思的策略」反复用过去经验(:81-83)。
- 函数逼近:拟合 Q 迭代(批量)+在线 Q 迭代(:95-133);BT* 不收敛(T* ∞-范数收敛,B 是 L2 投影,组合不保证收敛)(:134-140)。
- DQN 关键技术1 回放缓存:存 (St,At,Rt,St+1),均匀采样小批量;生物学启发(经验重演);三优点:重用经验/去相关(连续采集样本高度相关增加方差)/平滑学习;FIFO 存最后 N 条(:147-155)。
- 关键技术2 目标网络:每 C 步硬更新或软更新(指数衰减平均);例子:更新使 Q(St,At) 增加,St 与 St+1 相似→所有 Q(St+1,a) 增加→目标值过估计(:156-162)。
- 表4.1 消融实验(Breakout 316.8 vs 只用回放 240.7 vs 只用目标网络 10.2 vs 都不用 3.2)(:163-176)。
- 预处理 ϕ:堆叠最近 4 帧,84×84 灰度;3 卷积层+2 全连接(:178-183);算法 4.17 完整 DQN(:185-205)。
- Double DQN:过估计根源 E[max(ε)]≥max(E[ε]);DQN 目标里 θ̂ 既选动作又评估;Double 用 Q 网络选动作、目标网络评估(:207-238)。
- Dueling DQN:看日出例子(动作无关的状 态值);Q=V+A;max 归一(否则 V 被忽略)或平均归一更稳(:349-377)。
- PER:TD 误差定优先级;贪心排序三问题(扫描低效/噪声敏感/误差收敛慢);P(i)=pi^α/Σpk^α;比例优先 pi=|δi|+ϵ 或顺序优先 pi=1/rank(i);重要性采样权重 wi=(N·P(i))^(−β) 纠偏,β 退火到 1;线段树实现(:381-422)。
- Rainbow=6 扩展:多步学习(n 步回报截断,离线策略目标/行为不匹配问题)、噪声网络(y=(Wx+b)+((Wnoisy⊙ϵw)x+bnoisy⊙ϵb),对蒙特祖玛的复仇这类需大量探索的游戏有效)、值分布 RL(估回报 Z 的分布而非期望;C51:N=51 个原子,KL 散度损失;QR-DQN:分位数回归,1-Wasserstein 距离)(:424-549)。
- 4.8 代码实例:OpenAI Gym(reset/step/render/seed)(:556-599);装饰器 8 个:NoopResetEnv(随机空动作≤30)、MaxAndSkipEnv(动作重复4次+2帧最大池化)、Monitor、EpisodicLifeEnv(一命=一片段)、FireResetEnv、WarpFrame(84×84 灰度)、ClipRewardEnv(奖励取符号 ±1/0)、FrameStack(4 帧+Lazy-Frame)(:642-662);Huber 损失防梯度爆炸(:663-672);ε 前 10% 步从 1.0 退火到 0.01(:737);Breakout 实验 10^7 步(4×10^7 帧)3 个随机种子(:802);各变体代码改动点(:811-955)。
第5章 策略梯度(text/09-ch05.txt,2152 行,仉尚航/黄锐桐/余天洋/丁子涵)
- 5.1 优势:不需求价值最大化(适合高维/连续动作)、自然建模随机策略、梯度有更好的收敛保证(但仅局部)(:11-23)。
- 5.2 REINFORCE:梯 度=加权累计奖励鼓励高回报动作(:48-53);γ 折扣也降方差,实际常去掉 γ^t(:63-65);方差问题:轨迹长 L 时奖励随机性可能指数增长(:66-67);基准函数 b(St)(不能是 At 的函数),EGLP 引理保证无偏(:68-89);降方差原理 V(X−Y)=V(X)+V(Y)−2cov,基准常选 V(Si)(:107-117)。
- 5.3 Actor-Critic:TD 误差取代 REINFORCE 的累计奖励误差项 Ri+γV(Si+1)−V(Si)(:120-128);Critic 最小化 TD 平方误差,Actor 用 TD 误差做策略梯度(:129-167);两网络常共享底层表征(:163-166);L 常设 1 即 TD(0)(:166);Critic 也可用 Q 函数(:187-202)。
- 5.4 GAN vs AC:同构——生成器≈Actor(生成物体),判别器≈Critic(打分);AE 与 GAN 互为反结构;共性认识有助于提新方法(:204-233)。
- 5.5 A2C:Master 维护全局 Actor/Critic,Worker 只交互,协调器收集经验/汇总梯度,更新后同步(:235-284)。
- 5.6 A3C:去掉协调器,Worker 直接与全局对话,Master 不等待;梯度信息不再一致(牺牲一致性换效率);异步更新自动产生类似动量效果(Mitliagkas)(:286-296)。
- 5.7 TRPO:步长难定(曲度大的区域大步长→性能骤降;且样本质量反过来受影响)(:339-346);参数空间 vs 策略空间的例子:σ(θ),θ=6→3 与 θ=1.5→−1.5 参数变化都是 3,但策略从 (1,0)→(0.95,0.05) vs (0.82,0.18)→(0.18,0.82)(:347-357);引理 5.1 J(θ')=J(θ)+E_{τ~πθ'}[Σγ^t A^{πθ}] (Kakade)(:360-372);近似 Lπθ(πθ')(用 ρπθ 近似 ρπθ')+定理 5.1 误差界 C·DKL^max(:374-426);优化问题:max L s.t. 平均 KL≤δ(:427-436);一阶近似目标+二阶近似约束,解析解 θ'=θ+√(2δ/gᵀH⁻¹g)H⁻¹g,共轭梯度近似 H⁻¹g(:438-472);H=Fisher 信息矩阵,自然梯度对再参数化不变(:474-477)。
- 5.8 PPO:TRPO 复杂;PPO-Penalty 正则化版本+适应性 λ(KL 小→λ/2,KL 大→λ×2)(:479-547);PPO-Clip:ℓt(θ')=πθ'/πθ 比值截断在 [1−ϵ,1+ϵ],取截断/未截断的 min(:548-589)。
- 5.9 ACKTR:K-FAC 分解 Fisher 矩阵为分块对角,每层 Al=E[al alᵀ]⊗Sl=E[(∇g)(∇g)ᵀ],求逆复杂度 O(d³in·d³out)→O(d³in+d³out)(:591-683)。
- 5.10 代码:环境介绍(Pong (210,160,3) RGB 6 动作;CartPole 4 维观测 2 动作;BipedalWalker-V2 24 维状态 4 维连续动作;Pendulum-V0 3 维状态 1 维动作,200 步截断)(:750-833);REINFORCE 实现(Pong:帧差预处理、softmax 选动作、折扣回报标准化;CartPole:PolicyGradient 类)(:835-1116);AC(CartPole:Actor/Critic 两类,TD 误差每步更新;reward shaping trick:done 时 reward=−20)(:1117-1232);A3C(BipedalWalker:Worker 本地 AC,update_global 用本地梯度更新全局,pull_global 同步;摔倒奖励 −100→−2;entropy 奖励探索)(:1234-1431);TRPO(Pendulum:GAE_Buffer 优势估计 lam=0.95、优势标准化、共轭梯度 cg、Hessian 向量积 hvp+阻尼、回溯线搜索)(:1432-1861);PPO(Pendulum:均值×action_bound、logstd 变量、penalty/clip 两法)(:1862-2102)。
第6章 DQN与Actor-Critic的结合(text/10-ch06-6-q-actor-critic.txt,1377 行,张鸿铭/余天洋/黄锐桐)
- 6.1 结合动机表 6.1:DQN=离线+高采样效率+离散动作;AC=在线+低效率+连续动作;结合=离线+高效+离散连续都行(:14-39)。DQN 无法直接处理连续动作(算不出每个 a 的 Q)(:18-19);AC 的 TD 更新减方差但仍在线(:20-27);结合后 AC 变离线可用回放缓存(:28-32)。
- 6.2 DDPG:=DPG+深度网络=DQN 在连续动作的扩展;Actor 确定性 π(s)(:41-50);探索:动作加噪声,原论文用 O-U 过程(时间相关性符合马尔可夫性;实践表明零均值高斯噪声也行)(:51-73);Critic 按贝尔曼更新(:74-89);Actor 链式法则 ∇a Q·∇θπ(:91-103);目标网络软更新 θ'←ρθ+(1−ρ)θ',ρ≪1(:105-115)。
- 6.3 TD3 三技术:(1)截断 Double Q-Learning——函数逼近误差 Y 零均值噪声,max 使 E[Zs]>0 过估计;两个 Q 取 min;低估无害(不会被显式更新)(:147-197);(2)延迟策略更新——Q 更新 d 次才更新策略 1 次(:198-206);(3)目标策略平滑——目标动作加截断正态噪声,平滑 Q 估计防窄峰过拟合(:207-216)。
- 6.4 SAC:最大化熵正则累积奖励 max E[Σγ^t(r+αH(π))] (:242-255);柔性策略迭代(评估+提高,最优解 π∝exp(Q/α)/Z;KL 投影仍单调提高;定理 6.1 收敛到最优)(:257-324);SAC:Q 最小化柔性 Bellman 残差,策略最小化 KL;两个 Q 取 min 处理偏差;重参数化 a=fθ(s,ϵ) 降方差;自动熵调节(目标熵 κ 的对偶)(:326-370)。
- 6.5 代码(Pendulum-V0):DDPG(4 网络,EMA 软更新;高斯噪声 var 渐减;Polyak 平均)(:398-619);TD3(6 网络=(2Q+1π)×2;三技术对应代码点)(:620-998);SAC(5 网络+alpha;TanhNormal 重参数;log_prob 修正项 −log(1−a²);自动熵 target_entropy=−action_dim)(:999-1336)。
研究部分导语(text/11-fm.txt)
- 第 7 章列八大挑战,第 8–12 章各挑一个挑战展开:8 模仿学习(治采样效率)、9 基于模型(治效率但要学环境模型)、10 分层(治灾 难性遗忘+难探索)、11 多智能体、12 并行计算(治可扩展性)(:3-26)。
- 这段是全书研究部分的路线图,把「挑战 → 章」的对应关系写死了。
第7章 深度强化学习的挑战(text/12-ch07.txt,702 行)【研究部分的目录+论证】
- 八个挑战:样本效率/学习稳定性/灾难性遗忘/探索/元学习与表征学习/多智能体/模拟到现实/大规模(:3-14)。
- 7.1 样本效率:Pong 人几十次上手,无模型 RL 要成百上千样本(:21-24);代价来自真实交互(时间/设备磨损/安全)(:25-30)。三条出路:专家示范(→第8章)、基于模型(→第9章)、改进算法本身(:33-64)。PILCO 用高斯过程近似动力学,推车双钟摆上翻只要 20–30 次尝试,MLP 要几百次;缺点是非凸+高维不可扩展(:54-61)。算法谱系一段:Critic 减方差 / DQN 拿神经网络换表格 / Double DQN 治过估计 / Noisy DQN 与 SAC 促探索 / DDPG 扩到连续 / TD3 稳 DDPG / TRPO 保安全更新 / PPO 一阶近似省时间 / ACKTR K-FAC 近似逆 Fisher / MPO 与 V-MPO 用「RL 作为推理」的 EM 视角(:72-94)。这一段是全书前六章的倒序总结,写拆解时可以当「为什么会有这一串算法」的因果链用。
- 稀疏奖励:二值成功/失败任务里中间样本奖励全 0、无区分度 → HER / 分层 / 内在奖励 / 好奇心(:95-105)。
- 7.2 学习稳定性:两种不稳定——单次曲线内非单调、多次训练间横向方差(:108-112)。根源:移动的目标分布 + 非独立同分布 + 有偏价值估计(:113-131)。Henderson et al. 2018 的五条实测结论:网络结构显著影响 TRPO/DDPG;ReLU/LeakyReLU 多数最好;奖励缩放效果不一致;5 个随机种子不够——精心挑种子能得到完全不重合的置信区间,即使实现完全相同;环境动力学不稳会迅速削弱 DDPG(:149-158)。这条是全书最有「可带走判断」价值的一处。
- 治稳定的历史:REINFORCE 方差大 → 引价值函数 → 引动作价值(有偏但方差小)→ DQN 目标网络+回放池 → TD3 目标策略平滑+一对 Critic → TRPO 二阶优化+更新限制(:159-173)。
- 7.3 灾难性遗忘:RL 是「追移动目标」,数据集一直在变(:179-188);在线策略样本高度相关最易遗忘 → 离线回放池缓解 → PER/HER 更进一步(:189-196);多阶段训练损失函数不一致也会遗忘(Sim2Real 时用自监督损失微调嵌入网络,不是原来的 RL 损失)→ 冻结部分层 / 残差策略学习(:197-208)。
- 7.4 探索:难点来自稀疏奖励、大动作空间、不稳定环境、真实世界安全(:210-215);Montezuma's Revenge 一个房间要几十个连续动作、全游戏 23 个房间(:219-222);OpenAI 与 DeepMind 都宣称解决了它,但两家都用了专家示范(看 YouTube 视频 / 人类示范初始化位置)——作者判为「结果可能不令人满意」(:223-228)。表 7.1 对比:雅达利/围棋/星际的动作空间 17 / 361 / 10^26,每场活动次数 100/s、100/s、1000/s,玩家数单个/两个/多个,信息类型近完美/完美/不完美(:241-247)。解法:模仿学习、内在奖励(婴儿好奇心)、分层(FuN 管理者-工作者)、Go-Explore(先用无神经网络的确定性搜索探完,再用神经网络模仿最好轨迹)、PBT 联盟(:249-270)。
- 7.5 元学习与表征学习:元学习可追到 1990 年(Bengio et al.);内循环学具体任务、外循环更新内循环学习者;三类:循环模型/度量学习/学习优化器;MAML 小样本几步更新(:283-297)。表征学习:状态表征学习 SRL;例子——物体表面角上的关键点(计算机视觉里叫描述器)对物体运动是恒定鲁棒的表示,像素一直变而关键点集合不变(:300-316)。
- 7.6 多智能体:「现代学习算法更多是出色的受试者而非创新者」,智能上限受环境限制;围棋发明者从未定义什么策略能赢,策略是一代代玩家自我演化出来的——对手构成动态环境的一部分(:325-332)。AlphaStar 用 PBT + 联盟,优化单位不再是单个策略而是整个联盟(:340-346)。
- 7.7 模拟到现实:现实鸿沟(Reality Gap)。QT-Opt 在 7 台真机上分布式训练,代价是 800 小时、持续 4 个月的机器人采样(:367-369)。现实鸿沟的一个具体来源:状态采集与策略推理在模拟里假设零耗时,现实里都要时间 → 智能体总是拿滞后观察量决策,实际策略是 π(At|Ot−δ) 而非 π(At|St)(:400-419)。两大类解法:零样本(域随机化——把源与目标域的差异建模成源域里的随机性;动力学随机化随机摩擦力/质量/力矩误差;视觉随机化随机纹理/光照/位置)与自适应学习(域自适应:元学习、残差策略学习、渐进网络)(:426-458)。
- 7.8 大规模:AlphaStar 里深度 RL 只占一小部分——还用了监督学习(行为克隆)、PBT、Scatter Connections/Transformer/Pointer 网络(:471-483);「当前深度 RL 算法本身端到端解决大规模任务仍不够有效」是作者的明确判断(:481-483)。并行:IMPALA、SEED、A3C、DPPO、R2D2(:484-498)。
- 7.9 结尾引 Sutton《苦涩的教训》(2019-03-13):能随算力扩展的方法只有搜索和学习;不该嵌入人类知识,该构建元方法去采集复杂度(:507-521)。引文出处是脚注 2,原文标题给了。
第8章 模仿学习(text/13-ch08.txt,979 行)【研究部分最厚的一章,51k 字符】
- 定位:治第 7 章的采样效率。模仿学习=学徒学习,用专家示范(:3-24)。图 8.1 是全章骨架:五类——行为克隆 BC / 逆向强化学习 IRL / 从观察量模仿 IfO / 概率推理 / 把示范塞进 RL 缓存(:51-67)。
- 形式化:占用率度量 ρπ(s,a)=π(a|s)Σγ^t p(St=s|π),策略集 Π 与 D 一一对应 → 模仿学习等价于 ρπ 与 ρπE 的分布匹配问题;目标 π̂=argmin ψ*(ρπ−ρπE)−λH(π)(:69-85)。
- 8.2 行为克隆:有标签就当监督学习,min Σ‖ai−πθ(si)‖²;MDP 假设下状态-动作对顺序可以打乱(:88-109)。两个挑战:协变量漂移(训练分布≠测试分布,「拿区分猫的分类器去区分狗的品种」)(:112-122);复合误差(小误差沿轨迹累积,MDP 的连续性是放大器)(:134-140)。DAgger:每轮用 πi=βiπ*+(1−βi)π̂i 采样、拿专家标注新访问到的状态、聚合数据集再训——无悔迭代;缺点是要一直找专家标注(:143-162)。Variational Dropout:把预训练权重参数化为高 斯分布做 Dropout,再拿去初始化 RL 策略,比直接加噪声对噪声大小不敏感(:165-170)。DMP(用微分方程表示记录过的运动,是解析形式而非黑盒)、One-Shot 模仿学习(柔性注意力+元学习)(:173-180)。
- 8.3 逆向强化学习:从最优行为里反推奖励函数;适用于「显式奖励函数难写」的场合——例子:视觉自动驾驶该给不同反光镜分配多少注意力,无法用奖励工程定义(:37-40, :187-199)。MaxEnt IRL 两式:IRL(πE)=argmax_R EπE[R]−RL(R);RL(R)=max_π H(π)+Eπ[R],构成 RL∘IRL 架构(:205-217)。代价函数 c=−R;max-min 形式(:228-243)。两个挑战:奖励歧义(病态问题——奖励塑形变换 r̂=r+γϕ(s′)−ϕ(s) 对任意 ϕ 都保最优策略不变,单靠示范分不出来)(:247-262);计算代价大(内循环要解一个完整 MDP)(:263-271)。
- GAIL:借 GAN,辨别器给 Q(s,a)=E[log Dω(s,a)];损失 = 探索样本 + 专家样本两项(:274-292);优点:比 IRL 省算力、不需要训练时与专家交互(不像 DAgger);缺点:拿不回奖励函数——最优时 Dω(s,a) 对所有 (s,a) 收敛到 0.5(:293-303)。
- GAN-GCL:为了把奖励函数拿回来。熵正则 MDP 里最优策略 π*(a|s)∝exp(Q*soft(s,a));IRL 看成极大似然;pθ(τ)=1/Z exp(−cθ(τ)) 玻尔兹曼分布,配分函数 Z 在连续/大规模空间算不准,所以用重要性采样(GCL)(:311-384);辨别器 Dθ(τ)=[1/Z exp(−cθ)]/[1/Z exp(−cθ)+q(τ)],策略最大化 Rθ=log(1−Dθ)−log Dθ(:386-402)。
- AIRL:GAN-GCL 以整条轨迹为单位 → 方差大;AIRL 直接对单个 (s,a) 估计 Dθ=exp(fθ)/(exp(fθ)+π(a|s));最优时 f*=A*(s,a) 是优势函数,而优势是「纠缠的奖励减基线」,所以再拆成 fθ,ϕ=gθ(s,a)+γhϕ(s′)−hϕ(s) 来解纠缠(:405-428)。注意:这个拆法就是 8.3.2 里那个奖励塑形变换的形式——第 8.3.2 节埋的伏笔在 8.3.5 揭晓。
- 8.4 从观察量模仿(IfO):示范里没有动作标签(从视频学)(:432-439)。两大类:基于模型——逆向动态模型 At=Mθ(It,It+1)(绳结操作:从人操作绳子的一串图像预测动作,像素级逆向动态模型,CNN)(:468-483)、RIDM(预训练逆向动态模型再拿稀疏奖励微调)(:484-497)、BCO(用逆向动态模型把观察量补成状态-动作对,再走常规 BC)(:502-510);正向动态模型——ILPO(潜在策略网络推「潜在动作」z + 正向动态模块预测 St+1,再用动作重映射网络把潜在动作接到真实动作;学潜在模型阶段完全不需要与环境交互)(:532-558)。无模型——生成对抗(辨别器只看状态而非状态-动作对)(:568-575);OptionGAN 用选项框架恢复奖励-策略联合选项(:596-603)。
- IfO 的一个漂亮反例:环形环境里两个智能体同速反向(一顺一逆),状态分布完全相同但动作完全相反 → 只匹配状态分布不够;解法是把辨别器输入从单个状态改成状态转移 {(St,St+1)}(:604-616)。
- 本体感觉特征(低维)替代图像做策略输入 → 策略可用 MLP 而非 CNN(:617-623);FAIL(IfO 第一个可证明高效的算法,样本量与相关参数多项式关系、不依赖单一观察量数量)(:649-653);AGAIL(用不完整动作信息,IfO 与传统 IL 的结合)(:653-658)。
- 奖励函数工程方法:人为设计奖励把模仿学习转成 RL 问题——注意人设的奖励不必是真实产生专家策略的奖励(:659-667);欧氏距离奖励(:665-667);TCN 时间对比网络:三重损失,推开视频里视觉相似但动态不同的时间近邻、拉近不同视角下同时发生的帧 → 学到视角不变表示,奖励改在嵌入空间算欧氏距离;自监督(:668-707)。
- 8.4.3 IfO 的两个挑战:具象不匹配(机械臂模仿人手臂,连「是否处于同一状态」都难确认;解法是自动编码器学跨具象的对应关系)(:722-732);视角差异(视角不变编码模型 / 视角分类器 / 背景转化模型)(:733-742)。
- 8.5 概率性方法:GMR、DMP、ProMP、KMP、GPR、基于 GMR 的 GP。卖点是协方差矩阵编码了预测轨迹的变化性 → 有置信度,而深度网络只给确定性预测;有解析解、小数据量下快;基于 GMR 的 GP 用 GMR 的条件均值当 GP 先验均值、GMM 各组分的核叠加成 GP 的核,对没见过的输入点适应快(:744-788)。作者坦白:把概率性方法和深度 RL 结合「本身就不是平庸的」(即不容易)(:752-756)。
- 8.6 模仿学习作为 RL 的初始化:两条路——策略替换(直接拿模仿学到的策略当 RL 初始策略)与残差策略学习 a=πini(s)+πres(s),初始策略冻结,只学修正项(:790-812)。DDPG 残差版走查:六个网络(批判者/目标批判者/残差策略/目标残差策略/初始策略/目标初始策略),残差策略最后一层零初始化,样本存 (s,ares,s′,r,done),Q 与策略都只对 ares 学(:814-846)。
- 8.7 其他利用示范的方法:DQfD(把专家轨迹直接灌进回放缓存 + 监督式折页损失 + TD 损失,离散动作)(:851-857);DDPGfD(同思路,连续动作)(:858-865);Nair et al. 2018 的组合损失 λ1∇J−λ2∇LBC + Q-Filter——行为克隆损失只在「批判者认为示范动作比行动者动作更好」的状态上生效,免得被示范限死(:866-883);QT-Opt / Quantile QT-Opt 用在线+离线示范混合缓存(:884-887);NAC(预训练与 RL 用完全相同的目标函数,所以对次优示范鲁棒;依次而非同时使用两类数据)(:890-895);用示范做奖励塑形——F^D=γϕ^D(s′,a′)−ϕ^D(s,a),势函数 ϕ^D 取到最近示范状态的高斯相似度,再拿它初始化 Q0(s,a)=ϕ^D(s,a)(:897-922)。注意这里又是奖励塑形那个式子——同一个数学形式在本章出现三次(8.3.2 歧义、8.3.5 解纠缠、8.7.3 塑形),是本章的隐藏主线。
第9章 集成学习与规划(text/14-ch09.txt,280 行)【全书最短的正文章,9.5k 字符】
- 关键定义:在真实环境里展开叫演算(Roll-out),在模拟环境里展开叫规划(Planning)(:20-30)。这一句是本章的地基。
- 模型 = 转移模型 St+1∼Fs(St,At) + 奖励模型 Rt+1=Fr(St,At);状态不可完全观测时再加观察模型与表示模型(:33-46)。模型学习是监督式拟合(:48-50)。
- 模型学习与策略学习的两种关系:直接学习(先攒够经验学模型,再拿模型当模拟环境)与迭代学习(两者交替、互相喂)(:52-60)。
- 基于模型的两个优点:省真实交互(QT-Opt 要 7 台机器人昼夜不停采样)、可并行(多个学习者各配一个模型互不干扰)(:63-73)。两个缺点:模型不准 → 策略学偏;真实环境一变,模型要迭代很多次才跟上 → 对实时性要求高的应用不适用(:75-82)。
- Dyna 架构(Sutton 1991):策略同时吃真实经验(准但贵、不可逆)和模拟经验(便宜可控但可能不准);模拟经验保数据量降方差,真实经验保准确降偏差(:91-102)。
- Dyna-Q 算法(:113-129):每步 (a) 取当前状态 (b) ε-greedy 选动作 (c) 执行、观测 r 与 s′ (d) Q 学习更新 (e) 把 (r,s′) 写进 Model(s,a) (f) 重复 n 次:从历史里随机抽 (s,a)、拿 Model 生成 (r,s′)、再做一次同样的 Q 更新。这是全书最适合做「主走查」的算法之一——七行、每行都能填具体数。
- 基于模拟的搜索:前向搜索(把 MDP 看成以当前状态为根的树)+ 采样(:131-144)。
- 朴素蒙特卡罗搜索:模型 M 与模拟策略 π 都固定,对每个动作 a 跑 K 条轨迹、算平均回报当 Q(St,a),取 argmax(:150-175)。缺陷:模拟策略固定,规划中学到的信息用不上(:178-179)。
- MCTS:维护一棵搜索树存信息、边搜边用当前 Q 值(ε-贪心)更新模拟策略;遇到树外的新状态就切换成默认策略(如均匀探索),第一个新状态加入树(脚注给了另一种做法:整条轨迹的新节点全加)(:179-202)。
- TD 搜索 / Dyna-2:不等整条轨迹走完,每一步就更新;两套参数——长期存储(在真实环境里用 TD 学)与短期存储(在模拟里用 TD 学,每个 episode 清零);比 MCTS 更有效率,但频繁更新降方差、增偏差(:204-258)。
第10章 分层强化学习(text/15-ch10.txt,573 行)
- 动机:长期规划难,尤其奖励稀疏、时间跨度大(Dota、星际)(:12-15);HRL 找时空抽象;层次的模块化还带来可移植性与可解释性(:15-21)。
- 四大流派:选项框架(高层策略在特定时间步切换低层策略,时间域分解)、封建制 FRL(高层给下层设明确目标如某个状态,状态空间分解)、MAXQ 分解、层次抽象机 HAMs(:22-34)。本章只深讲前两个。
- 选项(也叫技能/宏操作)= 三元组 (Iω, πω, βω):初始状态集、选项内置策略、伯努利终止函数(:37-46)。例子:「开门」选项含靠近/抓取/转门把手的策略 + 一个判断门开了没有的终止条件(:46-48)。
- SMDP = MDP 加一个 F(t|s,a)(在 s 执行 a 转移耗时 t 的概率);选项框架的顶层可看作 SMDP 上的策略(:55-60)。
- 人工定义选项的制约:充电机器人的 πω 可能只为「充电器在视野内」定制,视野外就废(:66-70) → 所以要自动发掘选项,两条路:开环(STRAW)与闭环(选项-批判者)。脚注给了定义:开环=不把控制结果反馈回来,闭环=完全反馈(:85-86)。
- STRAW:两个模块——动作-计划 A∈R^{|A|×T}(第 τ 列是 t+τ 步动作的分对数)与承诺-计划 ct∈R^{1×T}(决定哪一步结束宏动作并重新规划);时间移位算子 ρ 每步把矩阵首列删掉、末尾补 0(:83-96);用「专注写作」的高斯滤波器网格沿时间维读写(步幅概念同 CNN)(:97-104);损失 L=Σ(L(At)+αgt·KL+λ‖ct‖1),最后一项惩罚重新规划、鼓励承诺(:132-140);标量 e 固定为 40(:116)。实验:2D 迷宫上优于 LSTM、接近 Dijkstra 最优;8 个雅达利游戏里 6 个 胜过 LSTM 与前馈网(:141-148)。
- 选项-批判者:把策略梯度定理扩展到选项,端到端联合学选项与选项策略(:153-155)。四个价值定义链:QΩ(s,ω)=Σπω(a|s)QU;QU=R+γΣp·U;U(ω,s′)=(1−βω)QΩ(s′,ω)+βω·VΩ(s′) ← 这一式是关键,「不终止就继续用这个选项的值,终止就换成最优选项的值」;AΩ=QΩ−VΩ(:156-178)。两条定理:选项内置策略梯度定理(对 θ)与终止梯度定理(对 φ,梯度前带负号乘 AΩ——优势为正就压低终止概率)(:194-216)。两种时间尺度:内置策略更新快、终止函数更新慢(:186-190)。Actor 部分 = 内置策略+终止函数+选项策略;Critic 部分 = QU 与 AΩ(:188-190)。
- 封建制 RL 两条原则:奖励隐藏(下级必须服从管理者的指令,不管这指令让上级满不满意)与信息隐藏(下级不知道管理者被派了什么任务,上级也不知道管理者给下级派了什么)(:227-236)。
- FuN 封建制网络:管理者在潜在状态空间以更低时间分辨率设目标 gt,工作者靠内在奖励去够;两者之间不传梯度,只共享感知模块 f^Percept(:246-275)。管理者更新走余弦相似度:∇gt=(Gt−V^M)∇θ dcos(mt+c−mt, gt)(:280-285);工作者内在奖励 R^I=(1/c)Σdcos(mt−mt−i, gt−i)——方向偏移给目标提供结构不变性(:286-291);实践里用 Rt+αR^I 训工作者,软化了原始 FRL 的奖励隐藏(:291-292)。理论:转移策略梯度,假设方向 St+c−St 服从 Mises-Fisher 分布 → log p ∝ dcos(:293-302)。Dilated LSTM:维持多个 LSTM 单元,每步只更新一个,输出是最近 c 个被更新状态的池化(:303-306)。超参 k=16 ≪ d=256(:268-269)。实验:Montezuma's Revenge 采样效率显著提高;另 10 款雅达 利上明显高于选项-批判者(:307-315)。
- HIRO(离线策略修正):高层每 c 步给一个目标 gt,其余步由目标转移函数 h(St−1,gt−1,St)=St−1+gt−1−St 递推;内在奖励 R^I=−‖St+gt−St+1‖₂(:324-338);发现直接用原始观测数据表示目标比用嵌入空间更有效(:327-329)。核心难点:旧的高层转移数据是老低层控制器产生的,已经不反映现在的低层动作了 → 重标记:给旧转移换一个 ĝt,使 log µl(At:t+c|St:t+c, ĝt:t+c) 最大;从候选集(含原目标、St+c−St 的差、以及围绕该差的对角高斯采样)里挑(:339-359)。
- 10.4 其他工作两个视角:①低层奖励信号从哪来——端到端从环境学(STRAW、选项-批判者)vs 辅助奖励(FuN、HIRO)(:369-373);选项发现有自上而下(先探索拿奖励再拆动作:STRAW、选项-批判者)与自下而上(Laplacian 图框架下的原始值函数 PVFs,给任务无关的选项提供理论基础)(:377-382);FiGAR(学「这个动作要重复几步」)(:385-387)。② 抽象对象视角:选项框架=时域抽象,FuN=状态抽象,HIRO 两者兼有(:407-409)。
- 作者的坦白(收尾判断):「实验结果表明分层架构带来了一些效果提升,但并没有足够的证据表明它确实实现了分层抽象,还是只是进行了更有效的探索」(:417-421)。这是全书最诚实的一句,写拆解必须留。
第11章 多智能体强化学习(text/16-ch11.txt,369 行)【全书唯一的博弈论章】
- 三个基本元素:智能体、策略、效用函数(实现各种目标获得的总收益减总成本)(:16-27)。智能体数=1 就退化成普通 RL(:21)。
- 三种博弈框架:静态博弈(所有人同时决策、只决策一次 → 可以骗、可以背叛);重复博弈(同一状态反复决策 → 背叛会被报复,所以整体效益更高);随机博弈/马尔可夫博弈(多状态多次决策,最一般)(:34-46)。
- 11.2 优化和均衡:用**胆小鬼博弈(斗鸡博弈)**贯穿全节。收益表:双方都「勇敢 D」各得 0;一勇一怯,勇者得 6、怯者得 3;双方都「怯懦 C」各得 5(:63-71)。
- 纯策略纳什均衡:两个——一人 C 一人 D(:93-100);双 C 时任一方想改成 D(3→6? 实为 5→6),双 D 时都想改,所以都不是均衡。
- 混合策略纳什均衡:设智能体 1 选 C 的概率 p,令对手对两个纯动作无偏好:5p+3(1−p)=6p+0(1−p) → p=0.75;双方各以 0.75 选 C、0.25 选 D,期望效用各 4.5(:104-115)。这一段是全章唯一带完整数字的推导,做主走查用它。
- 图 11.2 的几何:A=双C、B/C=纯策略均衡两点、D=双D,所有结果落在四边形 ABDC 里,线段 BC 的中点 E 就是混合策略均衡;所有纳什均衡的效用之和都等于 9(:116-122)。
- 关联性均衡:9 小于可能的最大总效用 10,但「双方都选 C」在纯分布式下不稳。让 v=(CC,CD,DC,DD)=(1/3,1/3,1/3,0) → 总效用 9.3333(:125-137)。为什么稳:智能体 1 宣布选 C 时对手须以 0.5/0.5 混合 → 1 老实选 C 得 0.5×5+0.5×3=4,私自改选 D 只得 0.5×6+0.5×0=3;宣布 D 时对手必以 100% 选 C,1 也没有动机改回 C(:138-147)。定义 11.2(Aumann 1987)(:149-154)。
- 斯塔克尔伯格博弈:顺序决策,领导者有先发优势;胆小鬼博弈里领导者选 D,因为能预测追随者只能选 C,自己拿到最大值 6(:162-172)。定义 11.3 给了多领导者多追随者的一般形式(:174-185)。
- 11.3 竞争与合作:合作(最大化总效用,约束是每个人在联盟里不比不加入差)(:195-206);零和博弈(max min ui);Littman 1994 的简化踢足球问题:max_πi min_a−i Σ Q(s,ai,a−i)πi(:208-230);同时决策竞争——Hu & Wellman 1998 的多智能体一般性 Q-learning:每个智能体维护 Qi(s,ai,a−i),动作按当前 Q 下的混合纳什均衡选,智能体 i 必须同时建模并估计所有其他智能体的 Q 表(:239-262);MADDPG:分布式 Actor(每个智能体一个)+ 集中式 Critic(维护与所有智能体动作集合相关的 Q)(:263-302);顺序决策竞争的领导者/追随者优化式(:305-319)。
- 11.4 一般性博弈分析架构:循环迭代;同一时间段里把智能体分层级,高层级先动、低层级观察后再动;层级之间求斯塔克尔伯格均衡,同层级内部按能否关联求纳什均衡或关联性均衡(:322-330)。平台:AlphaStar、MACAD(多智能体互联自动驾驶)、谷歌研究足球(:332-337)。
第12章 并行计算(text/17-ch12.txt,491 行)
- 动机:OpenAI Five 每两秒约 2 百万组数据用于训练(:10-12);策略梯度方法里大批量降方差;但 RL 的交互在时间上必须顺序执行(:12-15)。
- 两种并行性:计算的并行性(拆子任务;注意「多个计算单元共算一个任务」的效率会先升后收敛于瓶颈)与数据传输的并行性(带宽是瓶颈,拓扑决定冗余与延时)(:17-31)。
- 12.2 同步 vs 异步:星形拓扑=1 主节点 + 多奴隶节点;奴隶从主节点同步参数 → 独立与环境交互 → 把经验/轨迹/带权经验/梯度提交回主节点 → 主节点更新并同步(:41-54)。同步:所有奴隶用同一时间区间通信,算力强的必须等最慢的,浪费算力(:59-64);异步:谁算完谁提交,主节点不定时与不同奴隶通信(:68-73)。
- 12.3 并行计算网络:星形的要害是主节点——它得比奴隶更快、带宽更大,主节点一停机整个系统停摆(:79-84)。去中心化:进程两两通信时成本随进程数指数上升 → 用 MPI(:85-92)。
- 树形结构通信(一个进程广播给 N−1 个):每轮把信息发给周围 m−1 个,下一轮这些进程再各发 m−1 个 → ⌈log_m N⌉ 轮完成,每个进程只做 (m−1)⌈log_m N⌉ 次通信(:93-100)。
- 蝴蝶形结构通信(所有 N 个进程都要广播给所有人):每轮既发也收也处理;任何一个进程故障,其他进程仍能继续同步(:103-110)。
- 12.4 分布式算法谱系(这一节是全章骨架,六个架构):
- A3C:多个行动-学习者各配一个独立环境,各自维护策略网络与价值网络;参数服务器支持异步通 信;每轮同步参数 → 最多交互 tmax 步 → 从后往前累积 dθ 与 dθv → 异步提交(:120-159)。
- GA3C(GPU/CPU 混合):三部分——智能体(不再自己维护策略网络,把「怎么决策」当请求发给预测队列)、预测者(批量取请求喂 GPU 出动作)、训练者(批量取经验训网络)(:161-182)。卖点是把推断和训练都攒成批,吃满 GPU。
- DPPO:领导者/工人 对应 A3C 的参数服务器/行动-学习者;领导者每次子迭代至少等到 W−D 个工人的梯度再取均值更新;策略网与价值网分别做 M 与 B 次子迭代;两个变体 DPPO-Penalty(自适应 λ:d<dtarget/a 则 λ/b,d>dtarget×a 则 λ×b;KL>4KLtarget 直接 break)与 DPPO-Clip(:184-308)。
- IMPALA:通信的是整条轨迹经验;学习者用 n 步 V 轨迹目标:Target=V(ST)+Σγ^{t−T}(Π ci)δtV,其中 δtV=ρt(Rt+γV(St+1)−V(St)),ρt=min(ρ̄, π/µ),ci=min(c̄, π/µ) —— 两个截断的重要性权重,这就是「重要性加权」的来历(:311-333)。多学习者时分工人学习者与主学习者(:334-337)。
- SEED:与 IMPALA 几乎相同,唯一区别是把策略推断从行动者搬到学习者 → 行动者只管跟环境交互,弱算力机器也能当行动者(:338-344)。
- Ape-X:带优先级的分布式回放缓冲区;行动者自己算优先级 p 再连数据一起送缓冲区;学习者取批量 (i,d) 训练后回写新优先级,并周期性删掉低优先级数据(:347-402);Ape-X DQN 与 Ape-X DPG 两个实例(:371-402)。
- Reactor(序列经验 + Retrace(λ) + LSTM)(:403-406);R2D2(固定长度序列 + LSTM + 用回放里的状态数据训练)(:407-410);Gorila(DQN 分布式:学习者里一个学习 Q 网络每步同步、一个目标 Q 网络每 N 步同步)(:411-419)。
- 12.5 分布式计算架构的五个元素:环境 / 行动者 / 回放存储缓冲区 / 学习者 / 参数服务器(:433-469)。这一节是把上面六个架构抽象成一张零件表,写拆解时可以拿它当「顶层全景」。 一条实用建议:回放缓冲区应分配在学习者附近并高效连通(:450-454)。
应用部分导语(text/18-fm.txt)+ 五个应用的对照表
| 应用 | 算法 | 动作空间 | 观测 |
|---|---|---|---|
| Learning to Run | SAC | 连续 | 连续 |
| 图像增强 | PPO | 离散 | 图片特征 |
| AlphaZero | MCTS | 离散 | 二值棋盘矩阵 |
| 机器人学习 | SAC | 连续 | 连续 |
| Arena 多智能体 | MADDPG 等 | 任意 | 任意 |
(text/18-fm.txt:9-18。导语说「五个精选应用」,但应用部分实际是第 13–18 章六章——第 18 章是技巧总结不是应用。前言与内容简介都写「第三部分第 13~17 章」,漏了第 18 章,这是原书的一处小口径不一致。)