【书籍课程】强化学习的数学原理

强化学习知识体系及层次脉络总结

强化学习课程分为三次课进行学习:

  • 第一次课:第1章-第4章,包括强化学习基本概念、贝尔曼方程、贝尔曼最优方程、值迭代与策略迭代算法(对应第一节和第二节)。
  • 第二次课:第5章-第7章,包括蒙特卡罗方法、随机近似算法和时序差分方法(对应第三节和第四节)。
  • 第三次课:第8章-第10章,包括值函数方法、策略梯度方法和演员-评论家方法(第五节~第七节重点总结 DQN、REINFORCE 和 A2C 方法)。

参考资料

教材PDF+PPT+代码网址:

  1. 【Github】:https://github.com/MathFoundationRL/Book-Mathmatical-Foundation-of-Reinforcement-Learning
  2. 【百度网盘】:https://pan.baidu.com/s/1kNxM8sl8FUWV6SiiGIep3Q?pwd=ghx8
  3. 【Onedrive】:https://westlakeu-my.sharepoint.com/:f:/g/personal/lyujialing_westlake_edu_cn/EgN1-0jOU61BnaTkG7zJ9nsBUdjKEi6hNrdT5n8mp-qn3g?e=3MbtmD
    其中GitHub的材料是最新的,有条件的推荐访问GitHub

一、概念介绍

强化学习的目标是让一个智能体(agent)学会一个好的动作决策,以有效解决一系列决策问题。为此,需将问题转化为数学形式。

核心定义

  • 状态(state) :描述智能体在环境中的状态,记为 s s s。所有状态构成状态空间 S = { s 1 , . . . , s n } S = \{s_1, ..., s_n\} S={s1,...,sn}。
  • 动作(action) :智能体可执行的操作,记为 a a a。所有动作构成动作空间 A = { a 1 , . . . , a m } A = \{a_1, ..., a_m\} A={a1,...,am}。
  • 状态转移(state transition) :执行动作后状态的变化,用条件概率表示为 p ( s ′ ∣ s , a ) p(s' | s, a) p(s′∣s,a)。
  • 策略(policy) :智能体在每个状态下选择动作的规则,记为 π ( a ∣ s ) \pi(a|s) π(a∣s),即条件概率分布。
  • 奖励(reward) :执行动作后从环境获得的反馈,记为 r r r。通常视为已知函数 r ( s , a ) r(s, a) r(s,a)。
  • 回报(return) :沿轨迹(trajectory)收集的所有奖励的折现总和
    G t = ∑ k = 0 ∞ γ k r t + k + 1 , γ ∈ ( 0 , 1 ) G_t = \sum_{k=0}^{\infty} \gamma^k r_{t+k+1}, \quad \gamma \in (0,1) Gt=k=0∑∞γkrt+k+1,γ∈(0,1)
    其中 γ \gamma γ为折现率,用于处理无限轨迹并调节对远期奖励的重视程度。

价值函数

  • 状态价值函数 v π ( s ) v_\pi(s) vπ(s):在策略 π \pi π下,从状态 s s s开始的期望回报。
  • 动作价值函数 q π ( s , a ) q_\pi(s, a) qπ(s,a):在策略 π \pi π下,从状态 s s s执行动作 a a a后的期望回报。

⚠️ 价值函数的定义依赖于策略;若策略未定,则无法定义确定的价值。

最优策略

当某策略 π ∗ \pi^* π∗对所有状态的价值均不小于其他策略时,称为最优策略 ,其对应的状态价值为最优状态值 v ∗ v^* v∗。

模型分类

  • 有模型强化学习 :已知状态转移 p ( s ′ ∣ s , a ) p(s'|s,a) p(s′∣s,a)和奖励函数 r ( s , a ) r(s,a) r(s,a)。
  • 无模型强化学习:上述信息未知,需通过与环境交互获取经验数据进行学习。

二、有模型强化学习(动态规划)

在已知系统模型的前提下,目标是求解使回报最大的策略 π \pi π。核心思想是交替优化价值函数与策略(外循环)。

1. 贝尔曼方程(Bellman Equation)

给定策略 π \pi π,状态价值满足自举关系:
v π ( s ) = ∑ a π ( a ∣ s ) ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v_\pi(s) = \sum_a \pi(a|s) \sum_{s', r} p(s', r | s, a) [r + \gamma v_\pi(s')] vπ(s)=a∑π(a∣s)s′,r∑p(s′,r∣s,a)[r+γvπ(s′)]

该方程有唯一解,可通过策略评估(Policy Evaluation)求解:

  • 闭式解 : v π = ( I − γ P π ) − 1 R π v_\pi = (I - \gamma P_\pi)^{-1} R_\pi vπ=(I−γPπ)−1Rπ(理论有用,实践难用)
  • 迭代解:反复应用贝尔曼更新直至收敛

2. 贝尔曼最优方程(Bellman Optimality Equation)

最优状态价值满足:
v ∗ ( s ) = max ⁡ a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v ∗ ( s ′ ) ] v^*(s) = \max_a \sum_{s', r} p(s', r | s, a) [r + \gamma v^*(s')] v∗(s)=amaxs′,r∑p(s′,r∣s,a)[r+γv∗(s′)]

对应的最优策略确定性贪心策略
π ∗ ( a ∣ s ) = { 1 , a = arg ⁡ max ⁡ a q ∗ ( s , a ) 0 , otherwise \pi^*(a|s) = \begin{cases} 1, & a = \arg\max_a q^*(s,a) \\ 0, & \text{otherwise} \end{cases} π∗(a∣s)={1,0,a=argmaxaq∗(s,a)otherwise

3. 价值迭代算法(Value Iteration)

交替执行:

  1. 策略更新 : π ( s ) ← arg ⁡ max ⁡ a q ( s , a ) \pi(s) \leftarrow \arg\max_a q(s,a) π(s)←argmaxaq(s,a)
  2. 价值更新 : v ( s ) ← max ⁡ a ∑ s ′ , r p ( s ′ , r ∣ s , a ) [ r + γ v ( s ′ ) ] v(s) \leftarrow \max_a \sum_{s',r} p(s',r|s,a)[r + \gamma v(s')] v(s)←maxa∑s′,rp(s′,r∣s,a)[r+γv(s′)]

本质是直接迭代求解贝尔曼最优方程。

4. 策略迭代算法(Policy Iteration)

两步循环:

  1. 策略评估 :固定 π \pi π,求解 v π v_\pi vπ(内循环)
  2. 策略改进 : π ′ ( s ) ← arg ⁡ max ⁡ a q π ( s , a ) \pi'(s) \leftarrow \arg\max_a q_\pi(s,a) π′(s)←argmaxaqπ(s,a)

保证收敛到最优策略。

5. 截断策略迭代(Truncated Policy Iteration)

在策略评估阶段仅执行有限次迭代(介于价值迭代与策略迭代之间),兼顾效率与收敛速度。


三、无模型强化学习 -- 蒙特卡洛方法(MC)

在无模型情况下,通过采样轨迹估计价值函数。

核心思想

状态/动作价值是回报的期望,可用大数定律通过样本均值估计。

1. MC Basic 算法

  • 采集完整 episode
  • 用实际回报更新 q ( s , a ) q(s,a) q(s,a)
  • 效率低,因每个 episode 仅用于一次更新

2. MC Exploring Starts

  • 要求每个 ( s , a ) (s,a) (s,a)对都能作为 episode 起点(探索性起始)
  • 保证充分探索,理论上可收敛到最优策略

3. MC ε-Greedy 算法

  • 使用 ε-贪婪策略 (软策略)平衡探索与利用:
    π ( a ∣ s ) = { 1 − ε + ε ∣ A ∣ , a = arg ⁡ max ⁡ q ( s , a ) ε ∣ A ∣ , otherwise \pi(a|s) = \begin{cases} 1 - \varepsilon + \frac{\varepsilon}{|A|}, & a = \arg\max q(s,a) \\ \frac{\varepsilon}{|A|}, & \text{otherwise} \end{cases} π(a∣s)={1−ε+∣A∣ε,∣A∣ε,a=argmaxq(s,a)otherwise
  • 可收敛到 ε-贪婪策略下的最优解;当 ε → 0 \varepsilon \to 0 ε→0,逼近全局最优

四、无模型强化学习 -- 时序差分方法(TD)

1. 增量估计与随机逼近

将均值估计转化为增量形式:
w k + 1 = w k + α k ( x k − w k ) w_{k+1} = w_k + \alpha_k (x_k - w_k) wk+1=wk+αk(xk−wk)

推广为随机逼近(Stochastic Approximation)框架。

2. Robbins-Monro(RM)算法

用于求解 g ( w ) = 0 g(w) = 0 g(w)=0的根,仅需带噪观测 g ~ ( w , η ) \tilde{g}(w, \eta) g~(w,η):
w k + 1 = w k − a k g ~ ( w k , η k ) w_{k+1} = w_k - a_k \tilde{g}(w_k, \eta_k) wk+1=wk−akg~(wk,ηk)

3. 随机梯度下降(SGD)

RM 的特例,用于优化期望损失:
w k + 1 = w k − α k ∇ w ℓ ( w k ; x k ) w_{k+1} = w_k - \alpha_k \nabla_w \ell(w_k; x_k) wk+1=wk−αk∇wℓ(wk;xk)

4. TD(0) 算法(状态值估计)

基于贝尔曼期望方程的增量更新:
v ( s t ) ← v ( s t ) + α [ r t + 1 + γ v ( s t + 1 ) − v ( s t ) ] v(s_t) \leftarrow v(s_t) + \alpha [r_{t+1} + \gamma v(s_{t+1}) - v(s_t)] v(st)←v(st)+α[rt+1+γv(st+1)−v(st)]

其中 δ t = r t + 1 + γ v ( s t + 1 ) − v ( s t ) \delta_t = r_{t+1} + \gamma v(s_{t+1}) - v(s_t) δt=rt+1+γv(st+1)−v(st)为时序差分误差

5. Sarsa 算法(动作值估计,在线策略)

更新规则:
q ( s t , a t ) ← q ( s t , a t ) + α [ r t + 1 + γ q ( s t + 1 , a t + 1 ) − q ( s t , a t ) ] q(s_t, a_t) \leftarrow q(s_t, a_t) + \alpha [r_{t+1} + \gamma q(s_{t+1}, a_{t+1}) - q(s_t, a_t)] q(st,at)←q(st,at)+α[rt+1+γq(st+1,at+1)−q(st,at)]

结合 ε-Greedy 策略改进,构成完整在线策略学习算法。

6. n-step Sarsa

推广 TD 步长为 n n n:

  • n = 1 n=1 n=1:Sarsa(低方差,高偏差)

  • n → ∞ n \to \infty n→∞:蒙特卡洛(高方差,低偏差)

7. Q-learning(离线策略)

直接估计最优动作价值:
q ( s t , a t ) ← q ( s t , a t ) + α [ r t + 1 + γ max ⁡ a ′ q ( s t + 1 , a ′ ) − q ( s t , a t ) ] q(s_t, a_t) \leftarrow q(s_t, a_t) + \alpha [r_{t+1} + \gamma \max_{a'} q(s_{t+1}, a') - q(s_t, a_t)] q(st,at)←q(st,at)+α[rt+1+γa′maxq(st+1,a′)−q(st,at)]

  • 离线策略(off-policy):行为策略与目标策略可不同
  • 可利用任意策略生成的数据学习最优策略

五、Deep Q-learning(DQN)

当状态空间连续或巨大时,用神经网络 参数化动作价值函数 q ( s , a ; w ) q(s,a; w) q(s,a;w)。

关键技术

  1. 目标网络 (Target Network):固定 w − w^- w−计算目标值,稳定训练
    L ( w ) = E [ ( r + γ max ⁡ a ′ q ( s ′ , a ′ ; w − ) − q ( s , a ; w ) ) 2 ] \mathcal{L}(w) = \mathbb{E}\left[ \left( r + \gamma \max_{a'} q(s', a'; w^-) - q(s, a; w) \right)^2 \right] L(w)=E[(r+γa′maxq(s′,a′;w−)−q(s,a;w))2]
  2. 经验回放(Experience Replay):打破样本相关性,实现 i.i.d. 采样

算法形式

  • 在线 DQN:与环境交互,用 ε-Greedy 采样
  • 离线 DQN:从回放缓冲区采样更新

六、策略梯度算法(REINFORCE)

当动作空间连续或策略需直接优化时,参数化策略 π ( a ∣ s ; θ ) \pi(a|s; \theta) π(a∣s;θ),最大化目标函数:
J ( θ ) = E π θ [ G t ] J(\theta) = \mathbb{E}{\pi\theta}[G_t] J(θ)=Eπθ[Gt]

梯度公式(似然比 trick)

∇ θ J ( θ ) = E π θ [ G t ∇ θ log ⁡ π ( a t ∣ s t ; θ ) ] \nabla_\theta J(\theta) = \mathbb{E}{\pi\theta} \left[ G_t \nabla_\theta \log \pi(a_t|s_t; \theta) \right] ∇θJ(θ)=Eπθ[Gt∇θlogπ(at∣st;θ)]

REINFORCE 算法

  • 用蒙特卡洛采样估计 G t G_t Gt
  • 更新规则:
    θ ← θ + α G t ∇ θ log ⁡ π ( a t ∣ s t ; θ ) \theta \leftarrow \theta + \alpha G_t \nabla_\theta \log \pi(a_t|s_t; \theta) θ←θ+αGt∇θlogπ(at∣st;θ)
  • 在线策略,高方差

七、Actor-Critic 算法

结合策略梯度 (Actor)与价值估计(Critic):

  • Actor :参数化策略 π ( a ∣ s ; θ ) \pi(a|s; \theta) π(a∣s;θ),用策略梯度更新
  • Critic :参数化价值函数 v ( s ; w ) v(s; w) v(s;w)或 q ( s , a ; w ) q(s,a; w) q(s,a;w),用 TD 方法更新

Advantage Actor-Critic(A2C)

引入优势函数 降低方差:
A ( s , a ) = q ( s , a ) − v ( s ) ≈ r + γ v ( s ′ ) − v ( s ) A(s,a) = q(s,a) - v(s) \approx r + \gamma v(s') - v(s) A(s,a)=q(s,a)−v(s)≈r+γv(s′)−v(s)

策略梯度变为:
∇ θ J ( θ ) ≈ E [ A ( s , a ) ∇ θ log ⁡ π ( a ∣ s ; θ ) ] \nabla_\theta J(\theta) \approx \mathbb{E} \left[ A(s,a) \nabla_\theta \log \pi(a|s; \theta) \right] ∇θJ(θ)≈E[A(s,a)∇θlogπ(a∣s;θ)]

离线策略扩展

通过重要性采样 (Importance Sampling)利用其他策略生成的数据:
ρ t = π ( a t ∣ s t ) β ( a t ∣ s t ) \rho_t = \frac{\pi(a_t|s_t)}{\beta(a_t|s_t)} ρt=β(at∣st)π(at∣st)

在 Actor 和 Critic 更新中引入权重 ρ t \rho_t ρt。


总结:强化学习方法演进脉络

类别 方法 特点
有模型 价值/策略迭代 需完整模型,精确但不实用
无模型 - 基于价值 MC, TD, Q-learning, DQN 适用于离散动作,DQN 处理高维状态
无模型 - 基于策略 REINFORCE 适用于连续动作,高方差
混合方法 Actor-Critic (A2C) 结合两者优点,低方差,高效

强化学习的核心在于在探索与利用之间取得平衡 ,并通过自举 (bootstrapping)、采样 (sampling)和函数逼近(function approximation)三大技术,逐步从简单表格方法走向深度强化学习。

相关推荐
今儿敲了吗2 小时前
计算机网络第四章笔记(三)
笔记·计算机网络
宵时待雨2 小时前
数据结构(初阶)笔记归纳8:栈和队列
数据结构·笔记
朗迹 - 张伟3 小时前
UE5 City Traffic Pro 交通插件学习笔记
笔记·学习·ue5
@––––––3 小时前
论文学习笔记:FAST - 高效的视觉-语言-动作模型动作分词技术
笔记·学习
Gain_chance3 小时前
22-学习笔记尚硅谷数仓搭建-日志表建表语句解析、数据装载及脚本装载数据
数据仓库·笔记·学习
傻小胖3 小时前
8.BTC-挖矿-北大肖臻老师客堂笔记
笔记
历程里程碑3 小时前
Linux 6 权限管理全解析
linux·运维·服务器·c语言·数据结构·笔记·算法
其美杰布-富贵-李4 小时前
Spring Event 学习笔记
笔记·学习·spring·事件消息
嗯? 嗯。4 小时前
S32K144开发笔记-S32k系列芯片基础知识
笔记·s32k