← 全部学习笔记
笔记 01学习与决策

强化学习学习笔记

从零建立强化学习完整知识链:MDP、回报与价值函数、Bellman 方程、TD 学习、DQN、策略梯度、Actor–Critic、PPO,以及约束/安全强化学习。

MDPBellmanTD LearningDQNActor–CriticPPOSafe RL
01

1. 先建立直觉:强化学习到底在解决什么

强化学习研究的是一个不断循环的决策过程:智能体观察当前状态,选择动作,环境发生变化并给出奖励,然后智能体继续决策。它和监督学习最根本的区别是:训练数据里没有直接给出“正确动作”。动作的好坏要通过后续结果判断,而且眼前奖励高的动作未必长期最优。因此,强化学习真正解决的是“不确定环境中的长期序贯决策与信用分配”。

关键要点

  • 状态描述“现在处于什么情况”;动作描述“现在能做什么”;奖励是即时标量反馈;回报是未来累计奖励。
  • 策略是决策规则。学习策略,本质上就是学习“在不同状态下应该如何选动作”。
  • 环境不是静态数据集:智能体的动作会改变下一步看到的数据分布。
  • 探索决定是否尝试不确定的动作;利用则选择当前认为最好的动作。

这一节要记住

只记一句话:强化学习不是从标准答案学动作,而是从延迟后果中学习一个反馈决策规则。

02

2. MDP:强化学习的数学语言

马尔可夫决策过程(MDP)是强化学习最常用的数学模型。在时刻 t,智能体观察状态 s_t,按照策略 π(a|s) 选择动作 a_t,获得奖励 r_t,然后环境按照转移概率 P(s_{t+1}|s_t,a_t) 产生下一状态。马尔可夫性并不是说真实世界“没有历史”,而是说:如果状态设计得正确,当前状态已经汇总了预测未来所需的历史信息。

M = (S, A, P, r, γ), P(sₜ₊₁ | s₀:aₜ) = P(sₜ₊₁ | sₜ, aₜ)

关键要点

  • S 是状态空间,A 是动作空间;二者都可以是离散或连续的。
  • P 是状态转移模型。无模型 RL 不要求显式知道 P;基于模型的 RL 则会学习或直接使用它。
  • 如果当前观测不足以满足马尔可夫性,就更接近 POMDP,需要历史信息、RNN 或 belief state。

小例子

对移动机器人,可把位置和速度作为状态,把加速度作为动作,把“距离目标的误差 + 能耗”写进奖励,转移模型则描述加速度如何改变运动。

03

3. 奖励、回报、折扣与 Episode

奖励 r_t 只反映当前一步,而回报 G_t 用来评价一个动作未来会带来什么后果。折扣因子 γ∈[0,1) 让近期奖励权重更高,也能保证无限时域的累计和有限。任务可以是有限 Episode,也可以持续运行。奖励函数与 γ 的选择会直接改变智能体实际优化的目标,因此 reward design 本身就是系统设计的一部分。

Gₜ = rₜ + γrₜ₊₁ + γ²rₜ₊₂ + ··· = Σₖ₌₀^∞ γᵏ rₜ₊ₖ

关键要点

  • γ 接近 0 时更短视;γ 接近 1 时更重视长期后果。
  • 奖励塑形可以加速学习,但设计不当会产生“钻奖励漏洞”的行为。
  • 在控制问题中,经常把“负代价”作为奖励,例如状态误差、控制能耗和违约惩罚的负值。

数值直觉

若未来三步奖励都是 1,γ=0.9,则 G_0=1+0.9+0.81=2.71。越远的奖励权重越小。

G₀ = 1 + 0.9 × 1 + 0.9² × 1 = 2.71
04

4. 价值函数:V、Q 与 Advantage

价值函数的作用,是把延迟到未来的奖励压缩成当前可以评估的量。V^π(s) 表示“处于状态 s 并继续执行策略 π 时,未来平均能得到多少回报”;Q^π(s,a) 表示“当前先做动作 a,再继续执行 π 会怎样”;Advantage A^π(s,a)=Q^π(s,a)−V^π(s) 则表示这个动作相比当前策略在该状态下的平均水平好多少。

V^π(s) = E_π[Gₜ | sₜ=s]
Q^π(s,a) = E_π[Gₜ | sₜ=s,aₜ=a]
A^π(s,a) = Q^π(s,a) − V^π(s)

关键要点

  • 价值型方法先学习 V 或 Q,再通过选择高价值动作得到策略。
  • 策略型方法直接参数化策略;即使如此,也常使用 Critic 估计 V/Q 来降低方差。
  • Advantage 在 Actor–Critic 和 PPO 中尤其关键,它告诉 Actor 哪些采样动作应该提高概率、哪些应该降低概率。
05

5. Bellman 方程:把长期问题变成一步递推

Bellman 思想是强化学习最核心的代数结构:当前状态的价值 = 当前一步奖励 + 下一状态价值的折扣。这样就把一个很长的时域问题拆成了“一步 + 剩余问题”的递推结构。Bellman expectation equation 用于评价固定策略,而 Bellman optimality equation 描述最优策略对应的价值。

V^π(s) = E_π[rₜ + γV^π(sₜ₊₁) | sₜ=s]
Q*(s,a) = E[rₜ + γ maxₐ′ Q*(sₜ₊₁,a′) | sₜ=s,aₜ=a]

关键要点

  • 策略评估是在固定策略下求解 Bellman expectation equation。
  • 策略改进则根据当前价值估计,让策略更偏向高价值动作。
  • 已知模型时可用动态规划交替做评估与改进;未知模型时,TD 方法从采样数据近似同样的递推关系。

这一节要记住

Bellman 递推的意义,就是把“未来累计回报”变成每条状态转移都可以学习的局部目标。

06

6. DP、Monte Carlo 与 TD 学习

这三类方法最主要的区别,在于“用什么作为学习目标”。动态规划需要已知转移模型,使用期望下一状态价值;Monte Carlo 要等 Episode 结束后,用真实累计回报作为目标;时序差分(TD)无需等到结束,而是用“当前奖励 + 下一状态的当前价值估计”进行自举更新。现代强化学习的大量算法都可以看成 TD 思想的扩展。

TD error: δₜ = rₜ + γV(sₜ₊₁) − V(sₜ), V(sₜ) ← V(sₜ) + αδₜ

关键要点

  • Monte Carlo 不依赖自举,因此没有来自 bootstrap 的偏差,但方差通常较高,而且要等完整回报。
  • TD 方差通常更低且可在线学习,但自举也会传播价值估计误差。
  • n-step return 与 TD(λ) 可以在一步 TD 和 Monte Carlo 之间折中。
07

7. SARSA 与 Q-Learning:On-Policy 和 Off-Policy

SARSA 和 Q-learning 都学习动作价值 Q(s,a),但它们的目标不同。SARSA 使用行为策略下一步实际选择的动作,因此学习的是“当前行为策略”的价值;Q-learning 则直接使用下一状态中最大的 Q 值,因此即使行为策略还在探索,它的更新目标仍朝向贪心最优策略。这就是经典的 on-policy 与 off-policy 区别。

SARSA: Q ← Q + α[r + γQ(s′,a′) − Q(s,a)]
Q-learning: Q ← Q + α[r + γ maxₐ′Q(s′,a′) − Q(s,a)]

关键要点

  • ε-greedy 是最简单的探索规则:以 ε 概率随机探索,否则选择 Q 最大的动作。
  • Q-learning 可以利用其他行为策略产生的数据,这为经验回放与离线数据利用提供了基础。
  • 当引入函数逼近后,off-policy、自举和函数逼近叠加可能导致不稳定,这也是 DQN 需要一系列稳定技巧的原因。
08

8. DQN:为什么深度 Q 学习需要经验回放与目标网络

DQN 用神经网络 Q_θ(s,a) 替代表格 Q。想法看似简单,但直接训练会很不稳定:连续采样的数据高度相关,而且 θ 一更新,学习目标本身也跟着移动。经验回放通过随机抽取历史 transition 减弱样本相关性;目标网络 θ⁻ 则以较慢频率更新,使 bootstrap target 相对稳定。

y = r + γ(1−done) maxₐ′ Q_{θ⁻}(s′,a′), L(θ)=E[(Q_θ(s,a)−y)²]

关键要点

  • Replay buffer 保存 (s,a,r,s′,done),训练时随机抽 mini-batch,使数据更接近独立同分布。
  • 目标网络可以每 C 步硬更新,也可以用 Polyak averaging 软更新。
  • Double DQN 通过分离动作选择与动作评价来减小 max 运算带来的高估偏差。
  • DQN 更适合离散动作;连续控制通常更适合策略梯度或 Actor–Critic。

训练循环

与环境交互 → 把 transition 放入 replay buffer → 随机采样 batch → 用目标网络计算 y → 最小化 TD 平方误差 → 定期更新目标网络。

09

9. 策略梯度:直接优化策略

策略梯度不再先学习 Q 再 argmax,而是直接参数化 π_θ(a|s),最大化期望回报。Policy Gradient Theorem 把这个目标转化为可以通过轨迹采样估计的期望。直观上,∇logπ 乘上回报或 Advantage:如果某动作结果比预期好,就提高它的概率;如果更差,就降低它的概率。

∇θJ(θ) = E_{πθ}[∇θ log πθ(a|s) · A^π(s,a)]

关键要点

  • 离散动作常用 categorical policy;连续动作常用 Gaussian policy。
  • 经典 REINFORCE 在基本形式下无偏,但梯度方差很高。
  • 减去 V(s) 这类只依赖状态的 baseline 不改变期望梯度,却能显著降低方差,这就自然引出了 Advantage。
10

10. Actor–Critic 与 GAE

Actor–Critic 把任务拆成两个学习器:Actor π_θ 负责决策,Critic V_φ 或 Q_φ 负责评价。Critic 为 Actor 提供比完整 Monte Carlo return 方差更低的学习信号。GAE(Generalized Advantage Estimation)进一步用 λ 把多步 TD error 加权组合,在偏差和方差之间折中,是 PPO 等现代 on-policy 算法的常用组件。

δₜ = rₜ + γV(sₜ₊₁) − V(sₜ)
Âₜ^GAE = δₜ + (γλ)δₜ₊₁ + (γλ)²δₜ₊₂ + ···

关键要点

  • λ≈0 更接近一步 TD:方差低,但依赖 bootstrap,偏差更明显。
  • λ≈1 更接近 Monte Carlo:偏差更低,但方差更高。
  • Critic 并不是无关紧要的辅助网络:价值估计差会让 Actor 的更新非常噪,甚至方向错误。
11

11. PPO:如何让策略更新更稳定

PPO 流行的原因,是它保留了策略梯度的基本流程,同时限制过大的策略更新。它用概率比 r_t(θ) 比较同一个动作在新旧策略下的概率,并通过 clipped objective 限制这个比值不要沿着 Advantage 的方向变化得过头。PPO 仍然属于 on-policy 方法,因此同一批旧数据不能在策略变化很大以后无限重复使用。

rₜ(θ) = πθ(aₜ|sₜ) / πθ_old(aₜ|sₜ)
L^CLIP = E[min(rₜÂₜ, clip(rₜ,1−ε,1+ε)Âₜ)]

关键要点

  • 典型 PPO 流程是先收集一批 rollout,再对这批数据做若干 epoch 的 mini-batch 更新,然后重新采样。
  • 总损失通常包括 policy loss、value loss 和鼓励探索的 entropy bonus。
  • Advantage 归一化、观测归一化、reward scale、梯度裁剪以及正确处理 terminal,往往和核心公式一样影响训练效果。

常见误区

  • 把 PPO 当成 off-policy,反复训练过多 epoch,导致数据已经严重 stale。
  • reward 各项量级差异太大,导致 value loss 或某类梯度完全主导训练。
  • 连续控制中忽略动作边界;Gaussian 输出常需要 squash/clipping,并正确处理概率密度。
12

12. 约束与安全强化学习:把 RL 接到控制问题上

工程系统里通常不能只最大化奖励。能量预算、防碰撞、时延上限、队列稳定、执行器边界等往往是硬约束,而不是“违反一点也没关系”的偏好。CMDP 会把主奖励与约束代价分开,在约束期望代价不超过阈值的条件下优化回报。对于安全关键系统,常把 RL 和 MPC、Control Barrier Function、安全 shield 或优化修复层结合,在执行动作之前先检查和修正。

max_π J_R(π) s.t. J_Cᵢ(π) ≤ dᵢ, i=1,…,m

关键要点

  • Lagrangian 方法把约束变成自适应惩罚项,但通常只能约束期望意义,不能自动保证每一步都可行。
  • Safety layer 可以解一个小型优化问题,在尽量少改变 RL 动作的前提下满足已知约束。
  • 当可靠模型难以获得、交互成本可接受时可考虑 model-free RL;当模型较可信且硬约束重要时 MPC 更自然;网络化控制中两者结合常更实用。

这一节要记住

看完这篇后,你应该能拿到一篇现代 RL 论文,明确指出它的 state/action/reward、价值目标、策略更新方式、on/off-policy 属性、探索机制以及约束处理方法。

更早一篇MPC 学习笔记 →
⌕ Esc
研究研究↗论文论文↗项目项目↗学习笔记学习笔记↗简历简历↗论文无人机辅助能量采集物联网中的最大最小保密速率↗论文面向安全车辆编队的风险感知通信与控制联合资源分配↗论文太阳能供电物联网中面向恶意软件感知的无人机辅助数据采集与处理↗论文太阳能供电无服务器边缘计算中的函数配置与多时隙卸载联合优化↗论文Doc2Control:面向无人机辅助校园车辆的大语言模型引导调度与控制↗论文面向多无人机辅助物联网智慧农业网络的DDoS韧性分布式MPC通信控制联合优化↗论文GIMA:灾后边缘计算中可扩展的GNN辅助VNF感知无人机部署↗论文领域偏移下的可穿戴疲劳相关风险评分:基于能量自适应软门控的双流融合↗论文GaussLink:受限带宽下面向安全多无人机探索的控制导向3D高斯地图共享↗论文MEC网络中的太阳能感知DNN分割推理与资源分配↗论文超越前一层:稀疏MoE路由中的残差结构与条件互补性↗论文面向人体活动识别的轻量级SensorLLM重力感知分层路由↗论文一种基于图神经网络的灾后无人机协同部署方法↗研究通信—控制协同设计↗研究多无人机系统与自主探索↗研究学习增强优化↗研究信息物理安全与韧性↗研究无人机/物联网边缘计算与 VNF 编排↗研究大语言模型引导的调度与控制↗研究安全与能量感知无线物联网↗研究智能感知与轻量人工智能↗项目恶意软件感知的无人机辅助太阳能物联网↗项目面向DDoS韧性多无人机智慧农业的分布式MPC↗项目Doc2Control:大语言模型引导的调度与控制↗项目风险感知的安全车辆编队↗项目GIMA:GNN辅助的VNF感知无人机部署↗项目GaussLink:面向控制的3D高斯地图共享↗学习笔记强化学习学习笔记↗学习笔记MPC 学习笔记↗学习笔记控制理论学习笔记↗学习笔记Frank–Wolfe 算法学习笔记↗