强化学习数学原理 - 第10章:Actor-Critic 方法 (Actor-Critic Methods)
1. 演员与评论家 (Actor and Critic) 在第9章中,我们学习了 Policy Gradient (如 REINFORCE)。它虽然能处理连续动作,但方差极大,因为它用整条 Episode 的回报 G_t 来评估一个动作的好坏。 在第7章中,我们学习了 TD Learning (如 Q-learning)。它方差小(单步更新),但很难处理连续动作。 Actor-Critic (AC) 结合了这两者的优点: Actor (策略网络):\\pi(a|s, \\theta)。负责选动作,像个演员。 Critic (价值网络):q(s, a, w) 或 v(s, w)。负责给动作打分,像个评论家。 核心逻辑: Actor 不再盲目等待环境的随机回报 G_t,而是听从 Critic 的评价。Critic 说这个动作好(TD Error > 0),Actor 就增加概率;Critic 说不好,就减少概率。 2. 优势函数 (Advantage Function) REINFORCE 的更新公式: \nabla J \approx \mathbb{E} [...
强化学习数学原理 - 第9章:策略梯度方法 (Policy Gradient Methods)
1. 为什么要直接优化策略? Value-based 方法(如 DQN)虽然强大,但有局限: 无法处理连续动作:如果动作是“方向盘转动角度(0度到360度)”,Q-learning 需要求 \arg\max_a Q(s, a),这在连续空间是很难的。 无法学习随机策略:Value-based 最终给出的通常是确定性策略(选 Q 最大的)。但在石头剪刀布游戏中,最好的策略是随机的。 Policy Gradient (PG) 方法直接对策略 \pi(a|s, \theta) 进行参数化(比如用神经网络),然后通过调整 \theta 来最大化期望回报 J(\theta)。 2. 策略梯度定理 (Policy Gradient Theorem) 我们想最大化目标函数 J(\theta) = \mathbb{E}[G_0]。 我们需要求梯度 \nabla J(\theta) 来进行梯度上升(Gradient Ascent)。 神奇的 Policy Gradient Theorem 告诉我们: $\nabla J(\theta) \propto \sum_{s} d_\pi(s)...
强化学习数学原理 - 第8章:值函数近似 (Value Function Approximation)
1. 为什么需要函数近似? 在前面的章节中,我们都假设使用表格 (Table) 来存储 Value Function: v(s) 是一个长度为 |∘| 的向量。 q(s, a) 是一个大小为 |∘| \times |∘| 的矩阵。 致命问题: 状态空间爆炸:围棋的状态数是 10^{170},任何计算机都存不下这个表。 泛化能力差:如果是连续状态(比如机器人的位置坐标),你没见过的坐标就没有 Value,表格法无法处理“相似的状态”。 解决方案:用一个函数 f(s, w) 来近似 v(s)。 \hat{v}(s, w) \approx v_\pi(s) 其中 w 是参数(比如神经网络的权重)。这样我们只需要存储 w,通常 w 的维度远小于状态数。 2. 目标函数与优化 我们希望 \hat{v}(s, w) 越准越好。定义目标函数(损失函数): J(w) = \mathbb{E}_{\pi} \left[ (v_\pi(S) - \hat{v}(S, w))^2 \right] 使用 SGD 进行更新: w \leftarrow w + \alpha [v_\pi(s)...
强化学习数学原理 - 第7章:时序差分方法 (Temporal-Difference Methods)
1. TD:结合 MC 与 DP 的艺术 时序差分 (TD) 是强化学习中最核心、最独特、最优雅的思想。它不需要像 DP 那样已知模型,也不需要像 MC 那样等到 Episode 结束。它边走边学 (Bootstrapping from Experience)。 核心公式 (TD(0)): V(S_t) \leftarrow V(S_t) + \alpha [ R_{t+1} + \gamma V(S_{t+1}) - V(S_t) ] 直观解释: Target: 我走了这一步,拿到了 R_{t+1},加上我对下一步状态价值的预估 γ V(S_{t+1}),我觉得这才是更靠谱的价值。 Error: 那个 Target 和我原来的估计 V(S_t) 之间的差,就是惊讶程度 (TD Error)。 Update: 用这个差乘以学习率 α 来修正我的观念。 2. Sarsa: On-policy 的稳健派 2.1 算法流程 (State-Action-Reward-State-Action) Sarsa 之所以叫 Sarsa,是因为它一次更新需要的数据五元组是 (S_t,...
强化学习数学原理 - 第6章:随机近似 (Stochastic Approximation)
1. 为什么学 RL 要学“随机近似”? 本章看似是数学插曲,实则是连接蒙特卡洛 (MC) 和时序差分 (TD) 的桥梁。 所有现代 RL 算法(Q-learning, DQN, Policy Gradient)的更新公式都长这样: w ← w + α ( ext{Target} - w) 这个公式是怎么来的?为什么它能收敛?这背后的数学原理就是 Robbins-Monro 算法。 2. 均值估计:从批量到增量 假设我们想求随机变量 X 的期望 w = \mathbb{E}[X]。 我们可以采样 x_1, x_2, …, x_k。 2.1 批量计算 (Batch) w_k = \frac{1}{k} \sum_{i=1}^k x_i 缺点:每次都要把所有数加起来除以 k,或者保存所有数。 2.2 增量计算 (Incremental) 我们可以推导出递推公式: w_{k+1} = w_k + \frac{1}{k+1} (x_{k+1} - w_k) 这就是最简单的随机近似! w_k: 当前的估计值。 x_{k+1}: 新的样本。 (x_{k+1} - w_k): 误差...
强化学习数学原理 - 第5章:蒙特卡洛方法 (Monte Carlo Methods)
1. 跨越:从“有模型”到“无模型” 在之前的章节中,我们假设自己是“上帝”,完全知道环境的秘密:状态转移概率 P 和奖励函数 R。但在现实中(如炒股、下棋),这些参数通常是不可知的。 蒙特卡洛 (Monte Carlo, MC) 方法 的出现,标志着我们进入了 Model-free (无模型) 学习的领域。它的核心思想极度朴素:“实践出真知” —— 如果我不知道概率,那我就多试几次,然后算平均值。 2. 蒙特卡洛估算 (MC Prediction) 2.1 核心思想:大数定律 我们想求 v_\pi(s) = \mathbb{E}[G_t \mid S_t = s]。 根据大数定律,如果我们能生成很多条从状态 s 出发的轨迹(Episodes),并记录每一条的回报 G,那么它们的平均值就会收敛于期望。 v_\pi(s) \approx \frac{1}{N} \sum_{i=1}^N G_i 2.2 两种采样方式 First-visit MC: 在一个 Episode 中,如果多次经过 s,只计算第一次访问后的回报。 Every-visit MC: 只要经过...
强化学习数学原理 - 第4章:值迭代与策略迭代 (Value & Policy Iteration)
1. 动态规划的登场 在第3章中,我们推出了 Bellman Optimality Equation (BOE): v^{*}(s) = \max_{a} \sum_{s'} p(s'|s,a) [ r + \gamma v^{*}(s') ] 因为 \max 的非线性,我们无法直接解方程。本章我们将介绍求解 BOE 的两把“倚天屠龙剑”: Value Iteration (VI, 值迭代):粗暴直接,对着 BOE 猛算。 Policy Iteration (PI, 策略迭代):优雅从容,交替进行评估和改进。 这两类算法统称为 动态规划 (Dynamic Programming, DP) 方法。它们要求我们完全已知环境模型(P 和 R)。 2. 值迭代 (Value Iteration) 2.1 算法逻辑 VI 的思想非常简单:既然 v^{*} 是 BOE 的不动点,那我就把 BOE 当作更新规则,一直迭代直到收敛。 v_{k+1}(s) = \max_{a} \underbrace{\sum_{s'} p(s'|s,a) [ r(s,a,s') + \gamma...
强化学习数学原理 - 第3章:最优状态值与贝尔曼最优方程 (Bellman Optimality)
1. 终极目标:寻找最优策略 在第2章中,我们学会了“给定一个策略,评估它好不好(Policy Evaluation)”。但这只是第一步,RL 的终极目标是找到最好的那个策略(Optimal Policy, \pi^{*})。 什么叫“最好”? 数学定义:如果策略 \pi^{*} 的状态价值 v_{\pi^{*}}(s) 在每一个状态 s 上都不低于其他任何策略 \pi 的价值 v_\pi(s),那么 \pi^{*} 就是最优策略。 v_{\pi^{*}}(s) \ge v_\pi(s), \quad \forall s \in \mathcal{S}, \forall \pi 直观理解: 最优策略就像一个完美的导航仪,无论你现在身处何地(哪怕是被风吹到了错误的格子),它都能告诉你接下来该怎么走才能获得最大的未来回报。 2. 贝尔曼最优方程 (Bellman Optimality Equation, BOE) 2.1 从 Bellman Equation 到 BOE 回忆普通贝尔曼方程: v_\pi(s) = \sum_{a} \pi(a|s)...
强化学习数学原理 - 第2章:贝尔曼方程 (Bellman Equation)
1. 为什么需要贝尔曼方程? 在第1章中,我们建立了 MDP 模型,但留下了一个核心问题:如何评价一个策略(Policy)的好坏? 直观上,如果一个策略能让 Agent 获得更多的 Return(累积回报),它就是好的。但 Return G_t 是一个随机变量(取决于未来的随机状态转移和奖励),我们不能直接比较随机变量。因此,我们引入 期望(Expectation),即 状态价值(State Value)。 贝尔曼方程(Bellman Equation)就是描述状态价值之间关系的数学工具,它是强化学习的基石。 2. 状态价值函数 (State Value Function) 2.1 定义 给定一个策略 \pi,状态 s 的价值 v_\pi(s) 定义为从状态 s 出发,遵循策略 \pi 能获得的期望回报: v_\pi(s) = \mathbb{E}[G_t \mid S_t = s] 2.2 为什么叫 “Bootstrapping” (自举)? 我们可以把 Return 展开: \begin{aligned} G_t &= R_{t+1} + \gamma R_{t+2} +...
强化学习数学原理 - 第1章:基本概念 (Basic Concepts)
1. 为什么需要强化学习? 在进入数学公式之前,我们需要理解强化学习(Reinforcement Learning, RL)解决的是什么核心问题。 与监督学习(Supervised Learning)不同,RL 没有“上帝视角”的标签(Label)。Agent(智能体)是在未知的环境中,通过**试错(Trial-and-Error)**来学习的。这就像一个婴儿学习走路,没有说明书,只有摔倒时的疼痛(负奖励)和站稳时的喜悦(正奖励)。 本章我们将基于 Westlake University 赵世钰老师 的课程,结合配套的 GridWorld 代码,从零构建 RL 的数学大厦——马尔可夫决策过程 (MDP)。 2. 核心图景:Agent 与 Environment 的交互 RL 的世界观可以浓缩为一张图(对应视频中的核心板书): Time t: Agent 处于状态 S_t(State)。 Decision: Agent 观察到 S_t,根据策略 \pi 选择动作 A_t(Action)。 Interaction: Agent 将 A_t 施加给...

