模式识别与机器学习课程笔记(13):强化学习

模式识别与机器学习课程笔记(13):强化学习

文章目录

引言

强化学习(Reinforcement Learning, RL)是一种“试错式”的机器学习范式,核心思想是智能体(Agent)通过与环境(Environment)的持续交互,从奖励(Reward)中学习最优策略——无需预先提供标注数据,而是通过“探索环境-获得反馈-调整行为”的循环,逐步找到能最大化长期累积奖励的动作序列。

与监督学习(依赖标注数据)、无监督学习(挖掘数据内在结构)不同,强化学习的核心在于“序贯决策”:智能体的每一步动作不仅影响当前奖励,还会改变后续环境状态,进而影响未来奖励。这种特性使其特别适合解决动态决策问题,例如机器人控制、游戏AI、自动驾驶、金融交易等场景。

本文将从强化学习的基础框架出发,依次解析“核心概念与数学模型”(MDP)、“基于值函数的学习方法”(Q-Learning、SARSA)、“基于策略函数的学习方法”(策略梯度、Actor-Critic),最后介绍前沿方向与实际应用,构建完整的强化学习知识体系。

一、强化学习概述

要理解强化学习,需先掌握其核心要素与数学建模工具——马尔可夫决策过程(Markov Decision Process, MDP),这是所有强化学习算法的理论基础。

1.1 强化学习的核心要素

强化学习系统由5个关键组件构成,各组件的交互关系如图1(逻辑示意)所示:

  • 智能体(Agent):执行动作的主体(如机器人、游戏AI),核心目标是学习最优策略。
  • 环境(Environment):智能体交互的外部场景(如机器人所在的房间、游戏地图),其状态随智能体的动作动态变化。
  • 状态(State, s s s:描述环境当前情况的变量(如机器人的坐标、游戏的得分与生命值),所有可能状态的集合称为状态空间 S S S
  • 动作(Action, a a a:智能体可执行的操作(如机器人“前进”“转向”、游戏“向左走”“攻击”),某状态下可执行的所有动作集合称为动作空间 A ( s ) A(s) A(s)(可能随状态变化)。
  • 奖励(Reward, r r r:环境对智能体动作的即时反馈(如机器人到达目标得+10分、碰撞障碍物得-5分),是智能体学习的“指挥棒”——奖励的设计直接决定学习效果。

交互循环:智能体在状态 s t s_t st执行动作 a t a_t at → 环境转移到新状态 s t + 1 s_{t+1} st+1 → 环境反馈奖励 r t + 1 r_{t+1} rt+1 → 智能体根据 s t + 1 s_{t+1} st+1 r t + 1 r_{t+1} rt+1调整策略 → 进入下一轮循环( t t t为时间步)。

1.2 数学基础:马尔可夫决策过程(MDP)

MDP是描述强化学习环境的数学模型,其核心假设是马尔可夫性:“未来状态仅依赖于当前状态,与历史状态无关”,即:
P ( s t + 1 ∣ s t , a t , s t − 1 , a t − 1 , . . . , s 0 , a 0 ) = P ( s t + 1 ∣ s t , a t ) P(s_{t+1} \mid s_t, a_t, s_{t-1}, a_{t-1}, ..., s_0, a_0) = P(s_{t+1} \mid s_t, a_t) P(st+1st,at,st1,at1,...,s0,a0)=P(st+1st,at)
其中 P ( s ′ ∣ s , a ) P(s' \mid s, a) P(ss,a)称为状态转移概率,表示智能体在状态 s s s执行动作 a a a后,环境转移到状态 s ′ s' s的概率。

1.2.1 MDP的形式化定义

MDP由一个五元组 ⟨ S , A , P , R , γ ⟩ \langle S, A, P, R, \gamma \rangle S,A,P,R,γ表示:

  • S S S:状态空间(离散或连续);
  • A A A:动作空间(离散或连续);
  • P : S × A × S → [ 0 , 1 ] P: S \times A \times S \to [0,1] P:S×A×S[0,1]:状态转移概率函数;
  • R : S × A → R R: S \times A \to \mathbb{R} R:S×AR:奖励函数, R ( s , a ) R(s,a) R(s,a)表示在状态 s s s执行动作 a a a后获得的即时奖励(也可扩展为 R ( s , a , s ′ ) R(s,a,s') R(s,a,s),依赖转移后的状态);
  • γ ∈ [ 0 , 1 ) \gamma \in [0,1) γ[0,1):折扣因子,用于权衡“即时奖励”与“长期奖励”—— γ \gamma γ越接近1,智能体越重视长期奖励; γ \gamma γ越接近0,越重视即时奖励。
1.2.2 关键概念:回报与价值函数

强化学习的目标不是最大化“即时奖励”,而是最大化“长期累积奖励”,需通过“回报”和“价值函数”量化这一目标:

  1. 回报(Return, G t G_t Gt:从时间步 t t t开始的长期累积奖励,定义为:
    G t = r t + 1 + γ r t + 2 + γ 2 r t + 3 + . . . = ∑ k = 0 ∞ γ k r t + k + 1 G_t = r_{t+1} + \gamma r_{t+2} + \gamma^2 r_{t+3} + ... = \sum_{k=0}^{\infty} \gamma^k r_{t+k+1} Gt=rt+1+γrt+2+γ2rt+3+...=k=0γkrt+k+1
    折扣因子 γ \gamma γ的作用是避免回报无穷大(当交互过程无限时),同时反映未来奖励的不确定性。

  2. 价值函数(Value Function):衡量“状态或(状态-动作)对的长期价值”,分为两类:

    • 状态价值函数( V π ( s ) V^\pi(s) Vπ(s):在策略 π \pi π下,从状态 s s s出发的期望回报,即:
      V π ( s ) = E π [ G t ∣ s t = s ] V^\pi(s) = \mathbb{E}_\pi[G_t \mid s_t = s] Vπ(s)=Eπ[Gtst=s]
      其中 π ( a ∣ s ) \pi(a \mid s) π(as)是策略函数,表示在状态 s s s下选择动作 a a a的概率(策略是智能体的“行为准则”)。
    • 动作价值函数( Q π ( s , a ) Q^\pi(s,a) Qπ(s,a):在策略 π \pi π下,从状态 s s s执行动作 a a a后的期望回报,即:
      Q π ( s , a ) = E π [ G t ∣ s t = s , a t = a ] Q^\pi(s,a) = \mathbb{E}_\pi[G_t \mid s_t = s, a_t = a] Qπ(s,a)=Eπ[Gtst=s,at=a]
      Q Q Q函数是后续值函数学习方法的核心——若能准确估计 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a),智能体只需在每个状态选择 Q Q Q值最大的动作即可(即 π ( s ) = arg ⁡ max ⁡ a Q π ( s , a ) \pi(s) = \arg\max_a Q^\pi(s,a) π(s)=argmaxaQπ(s,a))。
  3. 贝尔曼方程(Bellman Equation):价值函数的递归关系,是强化学习算法推导的关键。以 Q Q Q函数为例,贝尔曼方程为:
    Q π ( s , a ) = E π [ r + γ Q π ( s ′ , a ′ ) ∣ s , a ] Q^\pi(s,a) = \mathbb{E}_\pi\left[r + \gamma Q^\pi(s',a') \mid s,a\right] Qπ(s,a)=Eπ[r+γQπ(s,a)s,a]
    含义:当前(状态-动作)对的价值 = 即时奖励 + 折扣后的下一个(状态-动作)对的期望价值。

二、基于值函数的学习方法

基于值函数的方法核心是“先估计价值函数( V V V Q Q Q),再通过价值函数推导最优策略”——无需直接建模策略,只需确保价值函数收敛到最优值( V ∗ V^* V Q ∗ Q^* Q),对应的策略即为最优策略 π ∗ \pi^* π

根据是否依赖MDP的先验知识(如 P P P R R R),可分为“动态规划方法”(已知MDP)和“无模型方法”(未知MDP,从交互数据中学习),后者更贴近实际应用场景。

2.1 无模型值函数学习:Q-Learning(离线学习)

Q-Learning是最经典的无模型值函数算法,属于离线策略(Off-Policy) 方法——即“学习的策略”与“实际执行的策略”分离:执行时用探索策略(如 ε \varepsilon ε-greedy)收集数据,学习时用目标策略(选择 Q Q Q值最大的动作)更新 Q Q Q函数,因此数据利用更灵活。

2.1.1 核心思想:时序差分学习(TD Learning)

Q-Learning基于“时序差分(Temporal Difference, TD)”更新——无需等待完整的回报序列(如游戏结束),而是用“当前奖励 + 折扣后的下一个状态的最大Q值”作为“目标Q值”,逐步修正当前Q值,公式为:
Q ( s , a ) ← Q ( s , a ) + α ⋅ [ r + γ ⋅ max ⁡ a ′ Q ( s ′ , a ′ ) − Q ( s , a ) ] ⏟ TD误差(TD Error) Q(s,a) \leftarrow Q(s,a) + \alpha \cdot \underbrace{\left[r + \gamma \cdot \max_{a'} Q(s',a') - Q(s,a)\right]}_{\text{TD误差(TD Error)}} Q(s,a)Q(s,a)+αTD误差(TD Error [r+γamaxQ(s,a)Q(s,a)]

  • α ∈ ( 0 , 1 ] \alpha \in (0,1] α(0,1]:学习率,控制每次更新的步长( α \alpha α越大,更新越激进; α \alpha α越小,更新越平稳);
  • max ⁡ a ′ Q ( s ′ , a ′ ) \max_{a'} Q(s',a') maxaQ(s,a):下一个状态 s ′ s' s的最优动作价值(目标策略的体现);
  • TD误差:当前Q值与目标Q值的差异,是更新的“指导信号”——误差为正则增大Q值,为负则减小Q值。
2.1.2 探索与利用: ε \varepsilon ε-greedy策略

智能体面临“探索(Exploration)”与“利用(Exploitation)”的权衡:

  • 利用:选择当前Q值最大的动作( π greedy ( a ∣ s ) = arg ⁡ max ⁡ a Q ( s , a ) \pi_{\text{greedy}}(a \mid s) = \arg\max_a Q(s,a) πgreedy(as)=argmaxaQ(s,a)),确保短期奖励最大;
  • 探索:随机选择动作,可能发现更优策略,但短期奖励可能较低。

Q-Learning用 ε \varepsilon ε-greedy策略平衡二者:

  • 以概率 1 − ε 1-\varepsilon 1ε选择“利用”(选最大Q值的动作);
  • 以概率 ε \varepsilon ε选择“探索”(随机选动作);
  • 通常 ε \varepsilon ε随迭代次数递减(初期多探索,后期多利用),如 ε = ε 0 ⋅ decay t \varepsilon = \varepsilon_0 \cdot \text{decay}^t ε=ε0decayt decay < 1 \text{decay}<1 decay<1)。
2.1.3 Q-Learning算法步骤

假设环境状态空间 S S S和动作空间 A A A为离散型,步骤如下:

  1. 初始化:创建 Q Q Q表( ∣ S ∣ × ∣ A ∣ |S| \times |A| S×A维矩阵),所有 Q ( s , a ) Q(s,a) Q(s,a)初始化为0(或小随机数);设置学习率 α \alpha α、折扣因子 γ \gamma γ、探索率 ε \varepsilon ε
  2. 交互循环:对每个回合(Episode,如一局游戏):
    a. 初始化当前状态 s s s(如游戏开始时的状态);
    b. 直到 s s s为终止状态(如游戏结束):
    i. 用 ε \varepsilon ε-greedy策略在 s s s中选择动作 a a a
    ii. 执行动作 a a a,获得环境反馈的奖励 r r r和新状态 s ′ s' s
    iii. 用TD公式更新 Q Q Q表: Q ( s , a ) = Q ( s , a ) + α [ r + γ max ⁡ a ′ Q ( s ′ , a ′ ) − Q ( s , a ) ] Q(s,a) = Q(s,a) + \alpha [r + \gamma \max_{a'} Q(s',a') - Q(s,a)] Q(s,a)=Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)]
    iv. 更新当前状态 s = s ′ s = s' s=s
  3. 终止:当 Q Q Q表收敛(多次迭代后Q值变化小于阈值)或达到预设回合数,输出 Q Q Q表与最优策略 π ∗ ( s ) = arg ⁡ max ⁡ a Q ( s , a ) \pi^*(s) = \arg\max_a Q(s,a) π(s)=argmaxaQ(s,a)

2.2 无模型值函数学习:SARSA(在线学习)

SARSA与Q-Learning类似,均基于TD学习,但属于在线策略(On-Policy) 方法——“学习的策略”与“实际执行的策略”一致:更新Q值时,使用“实际选择的下一个动作 a ′ a' a”的Q值,而非“最大Q值”。

2.2.1 核心区别:Q值更新公式

SARSA的Q值更新公式为:
Q ( s , a ) ← Q ( s , a ) + α ⋅ [ r + γ ⋅ Q ( s ′ , a ′ ) − Q ( s , a ) ] Q(s,a) \leftarrow Q(s,a) + \alpha \cdot \left[r + \gamma \cdot Q(s',a') - Q(s,a)\right] Q(s,a)Q(s,a)+α[r+γQ(s,a)Q(s,a)]
与Q-Learning的关键差异:

  • Q-Learning:用 max ⁡ a ′ Q ( s ′ , a ′ ) \max_{a'} Q(s',a') maxaQ(s,a)(不依赖下一个动作的实际选择,离线);
  • SARSA:用 Q ( s ′ , a ′ ) Q(s',a') Q(s,a) a ′ a' a ε \varepsilon ε-greedy策略在 s ′ s' s中实际选择的动作,在线)。
2.2.2 适用场景差异
  • Q-Learning:更激进,追求最优策略(即使过程中有风险,如机器人尝试靠近目标可能碰撞);
  • SARSA:更保守,考虑实际执行的动作序列(适合需要规避风险的场景,如机器人在悬崖边行走——避免因探索而跌落)。

2.3 动态规划方法:策略迭代与值迭代

若已知MDP的状态转移概率 P P P和奖励函数 R R R(如简单的网格世界),可通过“动态规划”直接求解最优价值函数,分为“策略迭代”和“值迭代”两种方法。

2.3.1 策略迭代(Policy Iteration)

核心逻辑:“策略评估(Policy Evaluation)→ 策略改进(Policy Improvement)”的循环,直到策略收敛。

  1. 策略评估:固定当前策略 π \pi π,计算其对应的状态价值函数 V π ( s ) V^\pi(s) Vπ(s),公式为:
    V π ( s ) = ∑ a ∈ A π ( a ∣ s ) [ R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) ] V^\pi(s) = \sum_{a \in A} \pi(a \mid s) \left[ R(s,a) + \gamma \sum_{s' \in S} P(s' \mid s,a) V^\pi(s') \right] Vπ(s)=aAπ(as)[R(s,a)+γsSP(ss,a)Vπ(s)]
    (通过迭代计算,直到 V π ( s ) V^\pi(s) Vπ(s)收敛);
  2. 策略改进:基于收敛的 V π ( s ) V^\pi(s) Vπ(s),通过“贪心策略”更新策略:
    π ′ ( s ) = arg ⁡ max ⁡ a [ R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V π ( s ′ ) ] \pi'(s) = \arg\max_a \left[ R(s,a) + \gamma \sum_{s' \in S} P(s' \mid s,a) V^\pi(s') \right] π(s)=argamax[R(s,a)+γsSP(ss,a)Vπ(s)]
  3. 收敛判断:若 π ′ = π \pi' = \pi π=π(策略不再变化),则 π \pi π为最优策略;否则令 π = π ′ \pi = \pi' π=π,返回步骤1。
2.3.2 值迭代(Value Iteration)

核心逻辑:直接优化状态价值函数 V ( s ) V(s) V(s),省略“策略评估”的完整迭代,效率更高。

  1. 初始化:所有 V ( s ) V(s) V(s)初始化为0;
  2. 价值更新:对每个状态 s s s,迭代更新 V ( s ) V(s) V(s)
    V ( s ) ← max ⁡ a [ R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V ( s ′ ) ] V(s) \leftarrow \max_a \left[ R(s,a) + \gamma \sum_{s' \in S} P(s' \mid s,a) V(s') \right] V(s)amax[R(s,a)+γsSP(ss,a)V(s)]
    (直接取最大动作价值,融合“评估”与“改进”);
  3. 收敛判断:当 V ( s ) V(s) V(s)的变化小于阈值时,停止迭代;
  4. 提取策略:基于收敛的 V ( s ) V(s) V(s),生成最优策略:
    π ∗ ( s ) = arg ⁡ max ⁡ a [ R ( s , a ) + γ ∑ s ′ ∈ S P ( s ′ ∣ s , a ) V ( s ′ ) ] \pi^*(s) = \arg\max_a \left[ R(s,a) + \gamma \sum_{s' \in S} P(s' \mid s,a) V(s') \right] π(s)=argamax[R(s,a)+γsSP(ss,a)V(s)]

三、基于策略函数的学习方法

基于策略函数的方法核心是“直接建模并优化策略函数 π θ ( a ∣ s ) \pi_\theta(a \mid s) πθ(as)”( θ \theta θ为策略参数),无需通过价值函数推导策略。这类方法更适合连续动作空间(如机器人关节角度控制),且能直接输出动作概率,灵活性更高。

3.1 策略函数的定义与目标

3.1.1 策略函数的形式

策略函数 π θ ( a ∣ s ) \pi_\theta(a \mid s) πθ(as)描述“在状态 s s s下选择动作 a a a的概率”,常见形式:

  • 离散动作空间:用softmax函数输出动作概率,即:
    π θ ( a ∣ s ) = exp ⁡ ( f θ ( s , a ) ) ∑ a ′ ∈ A exp ⁡ ( f θ ( s , a ′ ) ) \pi_\theta(a \mid s) = \frac{\exp(f_\theta(s,a))}{\sum_{a' \in A} \exp(f_\theta(s,a'))} πθ(as)=aAexp(fθ(s,a))exp(fθ(s,a))
    其中 f θ ( s , a ) f_\theta(s,a) fθ(s,a)是参数化函数(如神经网络输出);
  • 连续动作空间:用高斯分布建模动作,即:
    a ∼ N ( μ θ ( s ) , σ θ 2 ( s ) ) a \sim \mathcal{N}(\mu_\theta(s), \sigma_\theta^2(s)) aN(μθ(s),σθ2(s))
    其中 μ θ ( s ) \mu_\theta(s) μθ(s)(均值)和 σ θ ( s ) \sigma_\theta(s) σθ(s)(方差)由参数 θ \theta θ的模型(如神经网络)输出。
3.1.2 策略优化目标

策略优化的目标是最大化“从初始状态出发的长期累积奖励期望”,即:
J ( θ ) = E π θ [ G 0 ] = E π θ [ ∑ t = 0 ∞ γ t r t + 1 ] J(\theta) = \mathbb{E}_{\pi_\theta}[G_0] = \mathbb{E}_{\pi_\theta}\left[\sum_{t=0}^{\infty} \gamma^t r_{t+1}\right] J(θ)=Eπθ[G0]=Eπθ[t=0γtrt+1]
强化学习的核心问题转化为“求解 θ ∗ = arg ⁡ max ⁡ θ J ( θ ) \theta^* = \arg\max_\theta J(\theta) θ=argmaxθJ(θ)”。

3.2 核心算法:策略梯度(Policy Gradient, PG)

策略梯度是基于策略的基础算法,其核心是“通过梯度上升直接最大化目标函数 J ( θ ) J(\theta) J(θ)”——关键在于如何计算目标函数对参数 θ \theta θ的梯度 ∇ θ J ( θ ) \nabla_\theta J(\theta) θJ(θ)

3.2.1 策略梯度的推导(似然比技巧)

利用“似然比(Likelihood Ratio)”技巧,可将梯度 ∇ θ J ( θ ) \nabla_\theta J(\theta) θJ(θ)转化为可计算的形式:

  1. 目标函数的期望形式: J ( θ ) = E π θ [ ∑ t = 0 ∞ γ t r t + 1 ] = ∫ π θ ( τ ) R ( τ ) d τ J(\theta) = \mathbb{E}_{\pi_\theta}\left[\sum_{t=0}^{\infty} \gamma^t r_{t+1}\right] = \int \pi_\theta(\tau) R(\tau) d\tau J(θ)=Eπθ[t=0γtrt+1]=πθ(τ)R(τ)dτ,其中 τ = ( s 0 , a 0 , r 1 , s 1 , a 1 , . . . ) \tau = (s_0,a_0,r_1,s_1,a_1,...) τ=(s0,a0,r1,s1,a1,...)是“轨迹”, R ( τ ) R(\tau) R(τ)是轨迹的累积奖励;
  2. 梯度计算:对 J ( θ ) J(\theta) J(θ)求导,利用 ∇ θ π θ ( τ ) = π θ ( τ ) ∇ θ log ⁡ π θ ( τ ) \nabla_\theta \pi_\theta(\tau) = \pi_\theta(\tau) \nabla_\theta \log \pi_\theta(\tau) θπθ(τ)=πθ(τ)θlogπθ(τ)(似然比性质),可得:
    ∇ θ J ( θ ) = E π θ [ ∇ θ log ⁡ π θ ( τ ) ⋅ R ( τ ) ] \nabla_\theta J(\theta) = \mathbb{E}_{\pi_\theta}\left[ \nabla_\theta \log \pi_\theta(\tau) \cdot R(\tau) \right] θJ(θ)=Eπθ[θlogπθ(τ)R(τ)]
  3. 轨迹对数概率展开: log ⁡ π θ ( τ ) = ∑ t = 0 ∞ log ⁡ π θ ( a t ∣ s t ) \log \pi_\theta(\tau) = \sum_{t=0}^{\infty} \log \pi_\theta(a_t \mid s_t) logπθ(τ)=t=0logπθ(atst)(轨迹概率是各步动作概率的乘积),代入后简化为:
    ∇ θ J ( θ ) ≈ 1 N ∑ i = 1 N ∑ t = 0 T i − 1 ∇ θ log ⁡ π θ ( a i , t ∣ s i , t ) ⋅ G i , t \nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{i=1}^N \sum_{t=0}^{T_i-1} \nabla_\theta \log \pi_\theta(a_{i,t} \mid s_{i,t}) \cdot G_{i,t} θJ(θ)N1i=1Nt=0Ti1θlogπθ(ai,tsi,t)Gi,t
    其中 N N N是轨迹数量, T i T_i Ti是第 i i i条轨迹的长度, G i , t G_{i,t} Gi,t是第 i i i条轨迹在 t t t步的回报。
3.2.2 方差 reduction:引入基线(Baseline)

直接使用上述梯度会存在高方差(不同轨迹的 G i , t G_{i,t} Gi,t波动大),导致训练不稳定。解决方案是引入“基线(Baseline, b ( s ) b(s) b(s))”——基线是与动作无关的函数(如状态价值函数 V π ( s ) V^\pi(s) Vπ(s)),不影响梯度期望(因 E [ ∇ θ log ⁡ π θ ( a ∣ s ) ⋅ b ( s ) ] = 0 \mathbb{E}[\nabla_\theta \log \pi_\theta(a|s) \cdot b(s)] = 0 E[θlogπθ(as)b(s)]=0),但能减少方差。

引入基线后的策略梯度公式为:
∇ θ J ( θ ) ≈ 1 N ∑ i = 1 N ∑ t = 0 T i − 1 ∇ θ log ⁡ π θ ( a i , t ∣ s i , t ) ⋅ ( G i , t − b ( s i , t ) ) \nabla_\theta J(\theta) \approx \frac{1}{N} \sum_{i=1}^N \sum_{t=0}^{T_i-1} \nabla_\theta \log \pi_\theta(a_{i,t} \mid s_{i,t}) \cdot (G_{i,t} - b(s_{i,t})) θJ(θ)N1i=1Nt=0Ti1θlogπθ(ai,tsi,t)(Gi,tb(si,t))
实际应用中,常用“优势函数(Advantage Function)” A π ( s , a ) = Q π ( s , a ) − V π ( s ) A^\pi(s,a) = Q^\pi(s,a) - V^\pi(s) Aπ(s,a)=Qπ(s,a)Vπ(s)作为 ( G i , t − b ( s i , t ) ) (G_{i,t} - b(s_{i,t})) (Gi,tb(si,t))的近似,进一步提升稳定性。

3.2.3 策略梯度算法步骤
  1. 初始化:参数化策略 π θ ( a ∣ s ) \pi_\theta(a \mid s) πθ(as)(如神经网络),设置学习率 α \alpha α、折扣因子 γ \gamma γ
  2. 采样轨迹:用当前策略 π θ \pi_\theta πθ采样 N N N条轨迹 τ 1 , τ 2 , . . . , τ N \tau_1, \tau_2, ..., \tau_N τ1,τ2,...,τN
  3. 计算回报:对每条轨迹 τ i \tau_i τi,计算每个时间步 t t t的回报 G i , t = ∑ k = 0 ∞ γ k r i , t + k + 1 G_{i,t} = \sum_{k=0}^{\infty} \gamma^k r_{i,t+k+1} Gi,t=k=0γkri,t+k+1
  4. 计算基线:用蒙特卡洛方法或价值函数估计基线 b ( s i , t ) b(s_{i,t}) b(si,t)(如 b ( s ) = 1 N ∑ i = 1 N G i , t b(s) = \frac{1}{N} \sum_{i=1}^N G_{i,t} b(s)=N1i=1NGi,t,或训练一个价值网络拟合 V π ( s ) V^\pi(s) Vπ(s));
  5. 梯度上升:计算策略梯度 ∇ θ J ( θ ) \nabla_\theta J(\theta) θJ(θ),更新参数: θ ← θ + α ⋅ ∇ θ J ( θ ) \theta \leftarrow \theta + \alpha \cdot \nabla_\theta J(\theta) θθ+αθJ(θ)
  6. 重复:返回步骤2,直到策略收敛或达到预设迭代次数。

3.3 改进算法:Actor-Critic(AC)

策略梯度的缺点是“高方差”,而值函数方法的缺点是“策略更新间接”。Actor-Critic(AC)算法结合二者优势:

  • Actor(演员):参数化策略 π θ ( a ∣ s ) \pi_\theta(a \mid s) πθ(as),负责“执行动作”和“更新策略”(基于策略梯度);
  • Critic(评论家):参数化价值函数 V ϕ ( s ) V_\phi(s) Vϕ(s)(或 Q ϕ ( s , a ) Q_\phi(s,a) Qϕ(s,a)),负责“评估动作价值”(计算优势函数 A ( s , a ) = Q ( s , a ) − V ( s ) A(s,a) = Q(s,a) - V(s) A(s,a)=Q(s,a)V(s)),为Actor提供更稳定的梯度信号。
3.3.1 核心更新逻辑
  1. Critic的更新:用TD误差最小化价值函数的损失,例如:
    L ( ϕ ) = E [ ( r + γ V ϕ ( s ′ ) − V ϕ ( s ) ) 2 ] \mathcal{L}(\phi) = \mathbb{E}\left[ \left( r + \gamma V_\phi(s') - V_\phi(s) \right)^2 \right] L(ϕ)=E[(r+γVϕ(s)Vϕ(s))2]
    (通过梯度下降更新 ϕ \phi ϕ,使 V ϕ ( s ) V_\phi(s) Vϕ(s)逼近真实价值);
  2. Actor的更新:用Critic计算的优势函数作为基线,更新策略参数:
    ∇ θ J ( θ ) = E [ ∇ θ log ⁡ π θ ( a ∣ s ) ⋅ A ( s , a ) ] \nabla_\theta J(\theta) = \mathbb{E}\left[ \nabla_\theta \log \pi_\theta(a \mid s) \cdot A(s,a) \right] θJ(θ)=E[θlogπθ(as)A(s,a)]
    (通过梯度上升更新 θ \theta θ)。
3.3.2 优势:稳定性与样本效率
  • 稳定性:Critic提供的优势函数降低了策略梯度的方差,训练更稳定;
  • 样本效率:无需等待完整轨迹(如TD误差可即时计算),样本利用率高于纯策略梯度。

3.4 实用算法:近端策略优化(PPO)

PPO是目前工业界最常用的强化学习算法之一,属于“Actor-Critic”框架的改进,核心解决“策略更新步长过大导致训练崩溃”的问题——通过“限制策略更新的幅度”,确保新策略与旧策略的差异在合理范围内。

3.4.1 核心思想:Clip目标函数

PPO的目标函数引入“Clip函数”,将策略更新幅度限制在 [ 1 − ε , 1 + ε ] [1-\varepsilon, 1+\varepsilon] [1ε,1+ε] ε \varepsilon ε通常取0.2),公式为:
L CLIP ( θ ) = E π θ old [ min ⁡ ( r t ( θ ) A t , clip ( r t ( θ ) , 1 − ε , 1 + ε ) A t ) ] \mathcal{L}_{\text{CLIP}}(\theta) = \mathbb{E}_{\pi_{\theta_{\text{old}}}}\left[ \min\left( r_t(\theta) A_t, \text{clip}(r_t(\theta), 1-\varepsilon, 1+\varepsilon) A_t \right) \right] LCLIP(θ)=Eπθold[min(rt(θ)At,clip(rt(θ),1ε,1+ε)At)]

  • r t ( θ ) = π θ ( a t ∣ s t ) π θ old ( a t ∣ s t ) r_t(\theta) = \frac{\pi_\theta(a_t \mid s_t)}{\pi_{\theta_{\text{old}}}(a_t \mid s_t)} rt(θ)=πθold(atst)πθ(atst):新策略与旧策略的概率比值;
  • A t A_t At:Critic计算的优势函数;
  • Clip函数作用:若 r t ( θ ) r_t(\theta) rt(θ)超出 [ 1 − ε , 1 + ε ] [1-\varepsilon, 1+\varepsilon] [1ε,1+ε],则将其截断,避免策略更新过快。
3.4.2 优势:易实现、稳定

PPO无需复杂的信任区域计算,仅通过Clip函数即可稳定训练,且样本效率高,适合复杂任务(如机器人控制、游戏AI)。

四、前沿与应用

随着深度学习的发展,强化学习已从“传统小规模问题”迈向“大规模复杂场景”,形成了多个前沿方向,并在工业界落地应用。

4.1 前沿方向

4.1.1 深度强化学习(Deep Reinforcement Learning, DRL)

传统值函数方法(如Q-Learning)依赖“Q表”,无法处理高维状态空间(如图片输入的游戏)。DRL用“深度神经网络”替代Q表或策略函数,解决高维问题:

  • DQN(Deep Q-Network):用卷积神经网络(CNN)拟合Q函数,通过“经验回放(Experience Replay)”和“目标网络(Target Network)”解决训练不稳定问题,成功击败Atari游戏;
  • 改进变体
    • Double DQN:解决DQN的“过估计”问题(用两个网络分别选动作和评价值);
    • Dueling DQN:将Q函数分解为“状态价值 V ( s ) V(s) V(s)”和“优势函数 A ( s , a ) A(s,a) A(s,a)”,提升泛化能力;
  • 深度策略梯度:用神经网络拟合策略函数(如DDPG、SAC),处理连续动作空间(如机器人控制)。
4.1.2 多智能体强化学习(MARL)

MARL研究“多个智能体在同一环境中交互”的场景,核心挑战是“智能体策略的相互影响”(如对抗、协作):

  • 应用场景:自动驾驶(多车协同)、机器人团队协作、游戏(如MOBA类游戏AI);
  • 关键问题:信用分配(如何判断每个智能体对团队奖励的贡献)、非平稳环境(其他智能体的策略变化导致环境动态变化)。
4.1.3 离线强化学习(Offline RL)

传统强化学习依赖“在线交互采样”,在高风险场景(如医疗、工业控制)中难以实现。Offline RL利用“已有的静态数据集”学习策略,无需在线交互:

  • 核心挑战:数据分布偏移(训练数据与策略执行时的数据分布不一致);
  • 解决方案:通过“保守性策略更新”(如CQL、BCQ)确保策略在离线数据上的安全性。
4.1.4 强化学习与其他领域融合
  • 强化学习+大语言模型(LLM):如RLHF(Reinforcement Learning from Human Feedback),用人类反馈优化LLM的输出(如ChatGPT的对齐训练);
  • 强化学习+机器人学:如基于视觉的机器人操控(用DRL处理摄像头输入,控制机械臂抓取物体)。

4.2 实际应用

4.2.1 游戏领域
  • AlphaGo:DeepMind用“深度强化学习+蒙特卡洛树搜索”,击败世界围棋冠军,是RL的里程碑;
  • 游戏AI:如OpenAI的DOTA 2 AI(OpenAI Five)、StarCraft II AI(AlphaStar),可与人类职业选手对抗。
4.2.2 机器人与自动驾驶
  • 机器人控制:如机械臂抓取(用PPO或DDPG控制关节动作,适应不同形状的物体)、无人机导航(避障与路径规划);
  • 自动驾驶:用DRL处理传感器数据(摄像头、激光雷达),决策加速、刹车、转向,实现端到端控制。
4.2.3 推荐系统
  • 个性化推荐:将“用户-商品交互”视为强化学习场景——智能体(推荐系统)在状态(用户历史行为)下选择动作(推荐商品),奖励(用户点击、购买),学习最大化长期用户留存与消费的推荐策略。
4.2.4 金融领域
  • 量化交易:用RL学习交易策略(如股票买卖时机、仓位控制),目标是最大化长期收益,同时控制风险(如波动率);
  • 风险管理:通过RL优化风险对冲策略,适应市场动态变化。
4.2.5 医疗领域
  • 治疗方案优化:如癌症放疗剂量规划(用RL选择放疗剂量与时间,平衡治疗效果与副作用);
  • 康复机器人:用RL调整机器人辅助动作,适应患者的恢复进度。

总结

本文系统梳理了强化学习的核心知识,从基础到前沿形成完整链条:

  1. 基础框架:强化学习的核心是“智能体-环境交互”,MDP是数学建模工具,价值函数与策略函数是两大核心概念;
  2. 核心方法
    • 基于值函数:Q-Learning(离线)、SARSA(在线),适合离散动作空间,易实现;
    • 基于策略:策略梯度、Actor-Critic、PPO,适合连续动作空间,灵活性高;
  3. 前沿方向:深度强化学习解决高维问题,MARL处理多智能体交互,Offline RL适应高风险场景;
  4. 应用落地:覆盖游戏、机器人、推荐、金融、医疗等领域,成为解决动态决策问题的关键技术。

强化学习的核心挑战仍包括“样本效率低”“泛化能力弱”“安全性差”,未来需结合大模型、因果推断等技术,进一步提升其在复杂真实场景中的适用性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BetterInsight

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值