【AI】强化学习入门级基础指南:从理论到实践

发布于:2025-08-17 ⋅ 阅读:(14) ⋅ 点赞:(0)

目录

  • 0 引言
  • 1 强化学习核心概念
    • 1.1 基本框架:智能体与环境的交互
    • 1.2 数学建模:马尔可夫决策过程(MDP)
  • 2 核心公式与算法基础
    • 2.1 价值函数与贝尔曼方程
      • 2.1.1 贝尔曼期望方程
      • 2.1.2 贝尔曼最优方程
    • 2.2 基础算法分类
      • 2.2.1 基于价值的方法(Value-based)
      • 2.2.2 基于策略的方法(Policy-based)
      • 2.2.3 演员 - 评论家(Actor-Critic)
  • 3 从理论到实践:简单示例(基于 JAX)
    • 3.1 环境与智能体定义
    • 3.2 训练循环(类比策略迭代)
    • 3.3 结果分析
  • 4 强化学习的应用与挑战
    • 4.1 典型应用场景
    • 4.2 关键挑战

0 引言

在人工智能的广阔领域中,强化学习(Reinforcement Learning,RL)凭借其独特的 “试错学习” 模式,成为解决序贯决策问题的关键技术。从游戏 AI 战胜人类冠军,到机器人精准执行复杂任务,强化学习正不断拓展智能系统的边界。本文将从基础概念出发,结合数学建模与实际代码示例,介绍强化学习的基础入门级理论与实践。

1 强化学习核心概念

1.1 基本框架:智能体与环境的交互

强化学习的核心是 智能体(Agent)与环境(Environment) 的持续交互。智能体通过执行动作(Action)影响环境,环境则以状态(State)和奖励(Reward)反馈智能体,智能体的目标是学习最优策略(Policy),以最大化长期累积奖励。

  • 智能体(Agent):决策的主体,如游戏中的 AI 角色、工业机器人控制器。
  • 环境(Environment):智能体所处的外部场景,可抽象为状态集合、动作集合、状态转移规则与奖励规则。
  • 状态(State, sss):描述环境某一时刻的特征,如游戏角色的位置坐标、机器人传感器数据。
  • 动作(Action, aaa):智能体可执行的操作,如 “前进”“抓取”,需与环境状态适配。
  • 奖励(Reward, rrr):环境对动作的即时反馈,引导智能体学习(如游戏得分、碰撞惩罚)。
  • 策略(Policy, πππ):智能体的行为规则,定义状态到动作的映射(如π(a∣s)π(a∣s)π(as)表示状态sss下选择动作aaa的概率)。
  • 价值函数(Value Function):评估状态 / 动作的长期价值,包括:
    • 状态价值函数Vπ(s)V_π(s)Vπ(s):策略πππ下,从状态sss出发的期望累积奖励。
      • Vπ(s)=Eπ[Gt∣st=s]V_\pi(s) = \mathbb{E}_\pi\left[ G_t \mid s_t = s \right]Vπ(s)=Eπ[Gtst=s]
      • 其中,回报GtG_tGt的定义为:Gt=∑k=0∞γkrt+1+kG_t = \sum_{k=0}^{\infty} \gamma^k r_{t+1+k}Gt=k=0γkrt+1+k
    • 动作价值函数Qπ(s,a)Q_π(s,a)Qπ(s,a):策略πππ下,状态sss执行动作aaa后的期望累积奖励。
      • Qπ(s,a)=Eπ[Gt∣st=s,at=a]Q_\pi(s,a) = \mathbb{E}_\pi\left[ G_t \mid s_t = s, a_t = a \right]Qπ(s,a)=Eπ[Gtst=s,at=a]
  • 折扣因子(Discount Factor, γγγ):平衡即时与未来奖励的权重(0≤γ<10≤γ<10γ<1),γγγ越接近 1,越重视长期收益。

1.2 数学建模:马尔可夫决策过程(MDP)

强化学习的理论基石是马尔可夫决策过程(Markov Decision Process, MDP),用五元组(S,A,P,R,γ)(S,A,P,R,γ)(S,A,P,R,γ)描述:

  • SSS:状态集合
  • AAA:动作集合
  • P(s′∣s,a)P(s^′∣s,a)P(ss,a):状态转移概率(状态sss执行动作aaa后转移到s′s^′s的概率)
  • R(s,a,s′)R(s,a,s^′)R(s,a,s):奖励函数(状态sss执行动作aaa转移到s′s^′s的即时奖励)
  • γγγ:折扣因子

马尔可夫性是关键假设:未来状态仅依赖当前状态与动作,与历史无关,简化了问题建模。

2 核心公式与算法基础

2.1 价值函数与贝尔曼方程

价值函数的递归关系由 贝尔曼方程 (Bellman Equation)刻画,分为期望方程(针对任意策略)与最优方程(针对最优策略)。

2.1.1 贝尔曼期望方程

  1. 状态价值函数
    Vπ(s)=∑a∈Aπ(a∣s)[∑s′∈SP(s′∣s,a)(R(s,a,s′)+γVπ(s′))]V_\pi(s) = \sum_{a \in A} \pi(a|s) \left[ \sum_{s' \in S} P(s'|s,a) \left( R(s,a,s') + \gamma V_\pi(s') \right) \right]Vπ(s)=aAπ(as)[sSP(ss,a)(R(s,a,s)+γVπ(s))]

含义:状态sss的价值等于 “选择动作的概率 ×(即时奖励 + 折扣后下一状态价值的期望)”。

  1. 动作价值函数
    Qπ(s,a)=∑s′∈SP(s′∣s,a)(R(s,a,s′)+γ∑a′∈Aπ(a′∣s′)Qπ(s′,a′))Q_\pi(s,a) = \sum_{s' \in S} P(s'|s,a) \left( R(s,a,s') + \gamma \sum_{a' \in A} \pi(a'|s') Q_\pi(s',a') \right)Qπ(s,a)=sSP(ss,a)(R(s,a,s)+γaAπ(as)Qπ(s,a))

含义:动作(s,a)(s,a)(s,a)的价值等于 “即时奖励 + 折扣后下一状态所有动作价值的期望”。

2.1.2 贝尔曼最优方程

当策略πππ为最优策略π∗π^∗π(最大化所有状态的长期奖励)时,价值函数满足:

  1. 最优状态价值:
    V∗(s)=max⁡aQ∗(s,a)V^*(s) = \max_{a} Q^*(s,a)V(s)=amaxQ(s,a)

  2. 最优动作价值:
    Q∗(s,a)=∑s′∈SP(s′∣s,a)(R(s,a,s′)+γV∗(s′))Q^*(s,a) = \sum_{s' \in S} P(s'|s,a) \left( R(s,a,s') + \gamma V^*(s') \right)Q(s,a)=sSP(ss,a)(R(s,a,s)+γV(s))

核心逻辑:最优策略下,选择的动作需最大化后续长期价值。

2.2 基础算法分类

强化学习算法可按 “学习目标” 与 “环境模型依赖” 分类,典型方法如下:

2.2.1 基于价值的方法(Value-based)

目标:学习最优动作价值函数Q∗(s,a)Q^∗(s,a)Q(s,a),推导最优策略。

  1. Q-Learning(异策略)
    更新公式:
    Q(s,a)←Q(s,a)+α[r+γmax⁡a′Q(s′,a′)−Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha \left[ r + \gamma \max_{a'} Q(s',a') - Q(s,a) \right]Q(s,a)Q(s,a)+α[r+γamaxQ(s,a)Q(s,a)]

特点:学习最优策略,与执行策略分离(异策略),适合探索环境。

  1. SARSA(同策略)
    更新公式:
    Q(s,a)←Q(s,a)+α[r+γQ(s′,a′)−Q(s,a)]Q(s,a) \leftarrow Q(s,a) + \alpha \left[ r + \gamma Q(s',a') - Q(s,a) \right]Q(s,a)Q(s,a)+α[r+γQ(s,a)Q(s,a)]

特点:依赖实际执行的下一个动作(同策略),学习与执行策略一致。

2.2.2 基于策略的方法(Policy-based)

目标:直接优化策略πθ(a∣s)π_θ(a∣s)πθ(as)(用参数θθθ表示,如神经网络),最大化累积奖励。

  • 策略梯度(Policy Gradient)
    梯度公式:
    ∇θJ(θ)=Eπ[∇θlog⁡πθ(a∣s)⋅Gt]\nabla_\theta J(\theta) = \mathbb{E}_\pi \left[ \nabla_\theta \log \pi_\theta(a|s) \cdot G_t \right]θJ(θ)=Eπ[θlogπθ(as)Gt]

特点:通过奖励引导策略更新,适合高维动作空间,但收敛稳定性较弱。

2.2.3 演员 - 评论家(Actor-Critic)

结合价值与策略方法:

  • 演员(Actor):学习策略πθ(a∣s)π_θ(a∣s)πθ(as),负责动作选择;
  • 评论家(Critic):学习价值函数Vϕ(s)V_ϕ(s)Vϕ(s)Qϕ(s,a)Q_ϕ(s,a)Qϕ(s,a),评估演员表现并提供梯度。
    • 优势:比纯策略梯度稳定,比纯价值方法高效,典型算法如 A2C、A3C。

3 从理论到实践:简单示例(基于 JAX)

以下用线性回归场景演示强化学习思路,实际强化学习任务需适配环境交互流程。

3.1 环境与智能体定义

假设环境为线性系统y=3x−1+noisey=3x−1+noisey=3x1+noise,智能体目标是学习参数θ=[w,b]θ=[w,b]θ=[w,b]拟合该关系(类比策略学习)。

import jax
import jax.numpy as jnp
import numpy as np
import matplotlib.pyplot as plt

# 生成数据(模拟环境)
xs = np.random.normal(size=(100,))
noise = np.random.normal(scale=0.1, size=(100,))
ys = xs * 3 - 1 + noise

# 智能体模型(线性策略)
def model(theta, x):
    w, b = theta
    return w * x + b

# 损失函数(奖励的反向,需最小化)
def loss_fn(theta, x, y):
    prediction = model(theta, x)
    return jnp.mean((prediction - y) ** 2)

# 策略更新(梯度下降,类比强化学习优化)
def update(theta, x, y, lr=0.1):
    grad = jax.grad(loss_fn)(theta, x, y)
    return theta - lr * grad

3.2 训练循环(类比策略迭代)

# 初始化参数(策略初始化)
theta = jnp.array([1.0, 1.0])

# 训练迭代(类比与环境交互学习)
loss_history = []
for i in range(100):
    theta = update(theta, xs, ys)
    current_loss = loss_fn(theta, xs, ys)
    loss_history.append(current_loss)

# 结果可视化
plt.scatter(xs, ys, label='Data')
plt.plot(xs, model(theta, xs), color='red', label='Fitted Model')
plt.legend()
plt.show()

# 输出训练后参数
w, b = theta
print(f"Learned w: {w:.2f}, b: {b:.2f}")

3.3 结果分析

在这里插入图片描述
训练后参数接近w=3, b=-1,验证了通过 “优化策略(参数)以最小化损失(最大化奖励反向)” 的强化学习思路。实际强化学习任务中,环境交互更复杂(如状态转移、延迟奖励),但核心逻辑一致:通过与环境交互,优化策略以最大化长期累积奖励。
在这里插入图片描述

4 强化学习的应用与挑战

4.1 典型应用场景

  • 游戏领域:AlphaGo(围棋)、OpenAI Five(DOTA2),通过强化学习实现超人类表现。
  • 机器人控制:机械臂抓取、自动驾驶,学习复杂环境下的动作序列。
  • 推荐系统:动态调整推荐策略,最大化用户长期留存与收益。
  • 金融与资源调度:算法交易、数据中心能耗优化,平衡风险与收益。

4.2 关键挑战

  • 探索与利用权衡:智能体需平衡 “探索新动作” 与 “利用已知高奖励动作”,常见方法如
    ϵϵϵ- 贪婪、UCB。
  • 高维状态 / 动作空间:传统方法难以处理图像、自然语言等高维输入,需结合深度学习(深度强化学习)。
  • 延迟奖励:长期任务中,奖励反馈滞后,需设计有效价值函数或引入信用分配机制(如时序差分学习)。

网站公告

今日签到

点亮在社区的每一天
去签到