@ickma2311: David Silver RL Course (Lecture 8): 整合学习与规划 AlphaGo是整合学习的优美示例…
摘要
David Silver强化学习课程第8讲关于整合学习与规划的摘要,涵盖基于模型的强化学习以及AlphaGo使用策略网络和价值网络结合蒙特卡洛树搜索的方法。
查看缓存全文
缓存时间: 2026/05/17 01:25
大卫·西尔弗强化学习课程(第8讲):整合学习与规划
AlphaGo是整合学习与规划的绝佳范例。
- 策略网络赋予了AlphaGo直觉:哪些棋步看起来有希望?
- 价值网络赋予了AlphaGo判断:这个棋盘局势有多好?
- 蒙特卡洛树搜索赋予了AlphaGo前瞻能力:模拟可能的未来,扩展最有用的分支,并在树中回溯价值估计。
学习提供直觉,规划提供想象力,而搜索将两者转化为行动。
我的笔记: https://ickma2311.github.io/ML/RL/david-silver-lecture-8-integrating-learning-and-planning.html…
大卫·西尔弗强化学习课程 - 第8讲:整合学习与规划 – ∇ ickma.dev
来源:https://ickma2311.github.io/ML/RL/david-silver-lecture-8-integrating-learning-and-planning.html
本讲内容将两种解决强化学习问题的方法联系起来。
无模型强化学习直接从经验中学习价值或策略。基于模型的强化学习首先学习(或假设可以访问)环境的模型,然后利用该模型进行规划。
核心循环是:
- 从环境中收集真实经验
- 学习转移和奖励模型
- 使用模型模拟可能的未来
- 从真实和模拟经验中改进价值函数或策略
- 在真实环境中行动并重复
基于模型的强化学习
在基于模型的强化学习中,智能体利用经验构建马尔可夫决策过程的内部表示。
假设状态空间\(\mathcal{S}\)和动作空间\(\mathcal{A}\)已知。模型表示未知的转移和奖励动态:
\[ \mathcal{M}_\eta = \langle \mathcal{P}_\eta, \mathcal{R}_\eta \rangle, \]
其中
\[ \mathcal{P}_\eta(s’ \mid s,a) \approx \mathcal{P}(s’ \mid s,a), \qquad \mathcal{R}_\eta(r \mid s,a) \approx \mathcal{R}(r \mid s,a)。 \]
模型允许智能体采样想象的转移:
\[ S_{t+1} \sim \mathcal{P}_\eta(\cdot \mid S_t,A_t), \qquad R_{t+1} \sim \mathcal{R}_\eta(\cdot \mid S_t,A_t)。 \]
一个常见的简化假设是,给定当前状态和动作时,下一状态和奖励条件独立:
\[ \mathbb{P}(S_{t+1},R_{t+1} \mid S_t,A_t) = \mathbb{P}(S_{t+1} \mid S_t,A_t) \mathbb{P}(R_{t+1} \mid S_t,A_t)。 \]
基于模型的强化学习的优势在于样本效率。学习模型通常可以视为监督学习问题,一旦模型学习完成,智能体无需额外的真实世界交互即可生成大量模拟经验。
代价是近似误差。智能体必须首先学习模型,然后使用这个近似模型构建价值函数或策略。模型中的误差可能会在规划过程中累积。
学习模型
模型学习从经验中估计转移和奖励函数:
\[ (S_t,A_t) \rightarrow (R_{t+1},S_{t+1})。 \]
学习奖励通常是回归问题:
\[ (s,a) \rightarrow r。 \]
学习状态转移是密度估计问题:
\[ (s,a) \rightarrow s’。 \]
损失取决于具体表示方式。常见选择包括确定性或均值预测的均方误差,概率转移模型的KL散度或负对数似然。
模型类的例子包括:
- 查表模型
- 线性模型
- 高斯模型
- 高斯过程
- 深度神经网络模型
查表模型
对于小型有限MDP,查表模型可以通过计数来估计转移。
令\(N(s,a)\\)为状态-动作对\((s,a)\\)的访问次数。经验转移概率为
\[ \hat{P}_{s,s’}^a = \frac{1}{N(s,a)} \sum_{t=1}^{T} \mathbf{1}(S_t=s,A_t=a,S_{t+1}=s’)。 \]
经验奖励估计为
\[ \hat{R}_s^a = \frac{1}{N(s,a)} \sum_{t=1}^{T} \mathbf{1}(S_t=s,A_t=a)R_{t+1}。 \]
另一种方法是存储观察到的元组
\[ (S_t,A_t,R_{t+1},S_{t+1}) \]
并在规划算法查询\((s,a)\\)时采样匹配的元组。
使用模型进行规划
给定学习到的模型
\[ \mathcal{M}_\eta = \langle \mathcal{P}_\eta,\mathcal{R}_\eta \rangle, \]
智能体可以求解估计的MDP:
\[ \langle \mathcal{S}, \mathcal{A}, \mathcal{P}_\eta, \mathcal{R}_\eta \rangle。 \]
如果模型是显式的,可以直接应用经典的规划算法:
- 值迭代
- 策略迭代
- 树搜索
另一种策略是基于样本的规划。智能体不计算模型下的精确期望,而是仅使用模型生成样本:
\[ S_{t+1} \sim \mathcal{P}_\eta(\cdot \mid S_t,A_t), \qquad R_{t+1} \sim \mathcal{R}_\eta(\cdot \mid S_t,A_t)。 \]
然后,标准的无模型强化学习算法可以从这些模拟转移中学习:
- 蒙特卡洛控制
- Sarsa
- Q学习
这是本讲中的关键桥梁:基于模型的强化学习可以创建想象的经验,而无模型强化学习可以从真实和想象的经验中学习。
如果模型不准确,规划可能会优化错误的MDP并产生较差的策略。常见的应对措施是退回到无模型学习,或显式地处理模型不确定性。
集成架构
无模型学习和基于模型的规划在概念上的清晰区分很有用,但实际智能体往往将两者结合起来。
真实经验来自环境:
\[ S’ \sim P(\cdot \mid S,a), \qquad R \sim R(\cdot \mid S,a)。 \]
模拟经验来自学习到的模型:
\[ S’ \sim P_\eta(\cdot \mid S,a), \qquad R \sim R_\eta(\cdot \mid S,a)。 \]
智能体可以利用这两种数据流来更新同一个价值函数或策略。
Dyna
Dyna是集成学习、规划和行动的经典架构。
它在同一个循环中完成三件事:
- 从真实经验中学习模型
- 从真实经验中更新价值或策略
- 使用模型生成模拟经验,并再次更新价值或策略
重要的思想是,相同的无模型更新规则可以同时用于真实转移和想象转移。
Dyna-Q
Dyna-Q将Q学习与学习到的模型相结合。
对于每次真实交互:
- 观察当前状态\(S\)。
- 使用来自\(Q\)的\(\epsilon\)-贪心策略选择动作\(A\)。
- 执行\(A\)并观察奖励\(R\)和下一状态\(S’\)。
- 应用Q学习更新:
\[ Q(S,A) \leftarrow Q(S,A) + \alpha \left[ R + \gamma \max_a Q(S’,a) - Q(S,A) \right]。 \]
- 存储模型条目:
\[ \operatorname{Model}(S,A) \leftarrow (R,S’)。 \]
然后,对于\(n\)个规划步骤,采样一个之前观察到的状态-动作对\((S,A)\\),查询模型,
\[ R,S’ \leftarrow \operatorname{Model}(S,A), \]
并对这个模拟转移应用相同的Q学习更新:
\[ Q(S,A) \leftarrow Q(S,A) + \alpha \left[ R + \gamma \max_a Q(S’,a) - Q(S,A) \right]。 \]
规划步骤使得每次真实经验更有价值,因为一次真实转移可以触发多次模拟更新。
基于模拟的搜索
规划也可以聚焦于当前状态。智能体不必改善全局价值函数,而是从当前位置向前搜索。
前向搜索
前向搜索以当前状态\(s_t\\)为根构建一棵树。
在每个深度,模型预测可能的下一状态和奖励。智能体通过沿着树向前看评估动作。
优势在于聚焦。智能体不需要解决整个MDP,只需要解决与当前决策相关的未来部分。
简单蒙特卡洛搜索
简单蒙特卡洛搜索使用一个模型\(\mathcal{M}_\nu\\)和一个模拟策略\(\pi\\)。
对于从当前状态\(s_t\\)出发的每个候选动作\(a\\),运行\(K\)次模拟情节:
\[ \{s_t,a,R_{t+1}^k,S_{t+1}^k,A_{t+1}^k,\ldots,S_T^k\}_{k=1}^K \sim \mathcal{M}_\nu,\pi。 \]
通过平均回报来估计动作价值:
\[ Q(s_t,a) = \frac{1}{K} \sum_{k=1}^{K}G_t^k。 \]
然后根据模拟估计贪婪地行动:
\[ a_t = \arg\max_{a \in \mathcal{A}} Q(s_t,a)。 \]
这是基于模型的,因为 rollout 来自模型,但价值估计是无模型的,因为它平均了采样回报。
蒙特卡洛树搜索
蒙特卡洛树搜索通过重复利用在模拟中发现的结构,改进了简单蒙特卡洛搜索。
从\(s_t\\)开始,智能体在模拟策略\(\pi\\)下模拟\(K\)个情节:
\[ \{s_t,A_t^k,R_{t+1}^k,S_{t+1}^k,\ldots,S_T^k\}_{k=1}^K \sim \mathcal{M}_\nu,\pi。 \]
MCTS不是丢弃轨迹,而是构建一棵搜索树。对于每个访问过的状态-动作对,它记录访问次数和平均回报:
\[ Q(s,a) = \frac{1}{N(s,a)} \sum_{k=1}^{K} \sum_{u=t}^{T} \mathbf{1}(S_u=s,A_u=a)G_u。 \]
搜索结束后,智能体在根节点选择估计价值最佳的动作:
\[ a_t = \arg\max_{a \in \mathcal{A}} Q(s_t,a)。 \]
这棵树将计算集中在从当前位置可达且相关的状态上。
AlphaGo风格的MCTS
AlphaGo的MCTS将搜索与学习到的神经网络相结合。
循环包含四个阶段:
- 选择:利用当前价值估计和策略网络先验概率的平衡,遍历树
- 扩展:为新到达的叶节点位置添加子节点
- 评估:使用价值网络和快速 rollout 策略评估叶节点
- 回溯:将评估结果沿访问路径传播回去
策略网络引导搜索走向有希望的棋步,而价值网络减少了穷尽 rollout 的需求。搜索、学习和规划相互强化。
TD搜索
TD搜索同样从当前状态向前模拟,但它在模拟过程中更新价值,而不是等到 rollout 结束。
使用 Sarsa 风格的 TD 更新:
\[ \Delta Q(S,A) = \alpha \left[ R + \gamma Q(S’,A’) - Q(S,A) \right]。 \]
这种自举法允许在每个模拟步骤后更新。它也可以与函数近似一起使用,使其比纯表格树更具可扩展性。
Dyna-2
Dyna-2将两组价值信息分开。
第一个是长期记忆:通过TD学习从真实经验中获得的通用领域知识。
第二个是短期工作记忆:从当前状态搜索过程中通过模拟经验获得的局部知识。
最终的动作价值结合了两者:
\[ Q(s,a) = Q_{\mathrm{long}}(s,a) + Q_{\mathrm{short}}(s,a)。 \]
长期记忆提供广泛的能力。短期记忆让智能体在行动前通过提前思考适应当前情况。
总结
- 基于模型的强化学习学习或使用转移和奖励模型。
- 模型学习将经验转化为监督学习目标。
- 规划求解估计的MDP或从中采样想象的经验。
- Dyna在一个循环中集成模型学习、直接强化学习和规划。
- Dyna-Q对真实和模拟转移应用相同的Q学习更新。
- 基于模拟的搜索将规划聚焦于当前状态。
- MCTS从模拟轨迹中构建可重复使用的搜索树。
- AlphaGo风格的MCTS结合策略先验、价值估计、rollout和回溯。
- Dyna-2将长期学习到的价值与短期搜索价值分开。
相似文章
@dwarkesh_sp: 与 @ericjang11 的新黑板讲座:他演示了如何用现代AI工具从头构建AlphaGo。一些…
Eric Jang的黑板讲座逐步讲解了如何使用现代AI工具从零构建AlphaGo,涵盖了强化学习、蒙特卡洛树搜索、自我对弈,并与LLM训练相联系,同时讨论了自动化AI研究。
@Michaelzsguo: 这是我最近看到的关于强化学习基础,以及它和现代 AI 关系的最好深度讨论之一。 Eric Jang 和 Dwarkesh 把一个看起来有点复古的练习,也就是用今天的工具重新构建 AlphaGo,变成了一堂非常清晰的大师课:为什么“搜索 +…
A detailed discussion on reinforcement learning and its connection to modern AI, using the reconstruction of AlphaGo with modern tools as a clear example of search and self-play. Key takeaways include neural network amortization of search, credit assignment challenges in LLMs vs AlphaGo, and implications for automated research.
@ickma2311:CMU 高级 NLP:强化学习 我一直好奇 RL 如何作用于大模型,而这门 CMU 课程让我豁然开朗……
CMU 高级 NLP 课程讲清了强化学习如何优化整个输出的奖励(正确性、有用性、安全性),而非预训练/微调阶段的下一个 token 预测。
@jiqizhixin:太棒了!关于推理型LLM的强化学习现状 https://aweers.de/blog/2026/rl-for-llms/…
一篇全面回顾推理型LLM强化学习现状的博文,涵盖从REINFORCE、PPO到GRPO乃至更多方法,并与InstructGPT、DeepSeek-R1等关键模型相联系。
@neural_avb:这就是经过5-6小时自对弈强化学习训练所能达到的效果——智能体通过激光雷达查看弹丸…
一个帖子分享了在Unity中使用激光雷达和PPO进行自对弈RL训练的视频,随后是关于从零构建AlphaGo的讲座。