optimal_policy.search();

本文最后更新于 2025年10月26日 晚上

赵老师开源的 Github 仓库、赵老师的 B站 课程视频

Overview

如何学习强化学习?首先需要明确学习强化学习的目标是什么。

强化学习主要分为两个部分:

  • 原理部分
  • 实践与编程部分

本书主要讲原理部分。

overview
全书结构图:基础工具 + 算法/方法

Chapter 1

  • 概念:状态 (state)、动作 (action)、奖励 (reward)、回报 (return)、回合 (episode)、策略 (policy)……
  • 网格世界示例 (Grid-world example)
  • 马尔可夫决策过程 (Markov decision process)
  • 基本概念,后续广泛使用

Chapter 2

  • 一个概念:状态价值 (state value)

    vπ(s)=E[GtSt=s]v_\pi(s) = \mathbb{E}[G_t | S_t = s]

  • 一个工具:贝尔曼方程 (Bellman equation)

    vπ=rπ+γPπvπv_\pi = r_\pi + \gamma P_\pi v_\pi

  • 求解状态值的过程称为策略评价 (Policy evaluation)

Chapter 3

  • 一个特殊的 Bellman equation
  • 两个概念:
    • 最优策略 π\pi^* (optimal policy)
    • 最优状态价值 (optimal state value)
  • 一个工具:贝尔曼最优性方程 (Bellman optimality equation)

    v=maxπ(rπ+γPπv)=f(v)v = \max_\pi (r_\pi + \gamma P_\pi v) = f(v)

    1. 不动点定理 (Fixed-point theorem)
    2. 基本问题
    3. 求解该方程的一个算法
  • 最优性,后续广泛使用

强化学习的终极目标:找到最优策略!

最优策略 (optimal policy) 定义:如果沿着此策略能得到最大的状态值,则称其是一个最优策略

最优策略一定存在,但不一定是唯一的;最优状态值一定是唯一的。

最优策略可能是确定性的 (deterministic),也可能是随机性的 (stochastic),但是一定存在确定性的最优策略。

Chapter 4

思想:不断迭代,找到最优策略

  • First algorithms for optimal policies
  • 三种算法:
    1. 价值迭代 (Value iteration, VI)
    2. 策略迭代 (Policy iteration, PI)
    3. 截断策略迭代 (Truncated policy iteration)
  • 策略更新与价值更新,后续广泛使用
  • Need the environment model

Chapter 5

Motivation: 模型是必要的吗?如何进行无模型学习?

蒙特卡洛算法是本书第一个无模型 (model free) 的强化学习算法。

需要明确两点:

  • 没有模型,我们要学习什么?
  • 没有模型,那我们有什么?

要注意:

  • 没有模型,就要有数据
  • 没有数据,就要有模型

如果两个都没有,就什么都学不了。

算法:

  • MC Basic
  • MC Exploring Starts
  • MC ϵ\epsilon-greedy

Chapter 6

随机近似理论 (stochastic approximation)

Motivation: 例如计算 1w 个样本的均值,可以选择变计算边调整,也可以选择全部采样完了再计算。前者就是一个增量式的算法。从非增量式 (non-incremental) 到增量式 (incremental)

  • 均值估计
  • 算法:
    1. Robbins-Monro (RM) algorithm
    2. Stochastic gradient descent (SGD)
    3. SGD, BGD (batch), MBGD (mini batch)
  • 增量式方法与 SGD,后续广泛使用

Chapter 7

时序差分方法 (Temporal differen)

  • 经典强化学习算法
  • 算法:
    • 状态价值的时序差分 (temporal-difference, TD) 学习
    • Sarsa:动作价值的时序差分学习
    • Q-learning:最优动作价值的时序差分学习
      • 同策略 (on-policy) & 异策略 (off-policy)
    • 统一视角

Chapter 8

这一章引入了函数表示,而使用神经网络是一个很好地拟合函数的方式

Motivation: 状态非常多,或者状态是连续的,那么如何处理?放弃用表格表示,使用函数表示!

  • 算法:
    1. 基于价值函数近似 (VFA) 的状态价值估计:

    minwJ(w)=E[vπ(S)v^(S,w)]\min_w J(w) = \mathbb{E}[v_\pi(S) - \hat{v}(S,w)]

    1. Sarsa with Sarsa
    2. Q-learning with VFA
    3. Deep Q-learning
  • 神经网络进入强化学习

Chapter 9

自此进入 policy-based 方法

有何不同?

  • value-based(之前的方法):对目标函数 J(w)J(w)ww 是值函数的参数,需要不断更新值函数来近似出策略的值;在此基础上再更新策略,再估值,就此不断找到最优策略。
  • policy-based:对目标函数 J(θ)J(\theta)θ\theta 是策略的参数(此处策略也同状态一样,不再使用表格形式,改为函数形式),因此可以直接优化 θ\theta

Motivation: 从 value-based 到 policy-based。

  • 内容:
    1. 定义最优策略的指标:

    J(θ)=vˉπ,rˉπJ(\theta) = \bar{v}_\pi, \bar{r}_\pi

    1. 策略梯度:

    J(θ)=E[θlnπ(AS,θ)qπ(S,A)]\nabla J(\theta) = \mathbb{E}[\nabla_\theta \ln \pi(A|S, \theta) q_\pi(S, A)]

    1. 梯度上升算法(REINFORCE)

    θt+1=θt+αθlnπ(atst,θt)qt(st,at)\theta_{t+1} = \theta_t + \alpha \nabla_\theta \ln \pi(a_t|s_t, \theta_t) q_t(s_t, a_t)

Chapter 10

将第九章和第八章的方法相结合

Motivation: value-based + policy-based

  • θ\theta 更新公式

    θt+1=θt+αθlnπ(atst,θt)qt(st,at)\theta_{t+1} = \theta_t + \alpha \nabla_\theta \ln \pi(a_t|s_t, \theta_t) q_t(s_t, a_t)

  • 算法:
    • The simplest actor-critic (QAC)
    • Advantage actor-critic (A2C)
    • Off-policy actor-critic
      • Importance sampling
    • Deterministic actor-critic (DPG)

课程特点

  • 关于原理,而不是编程实践
  • 偏向于从数学角度讲故事,而不是用大段文字叙述
  • 适合想要深入了解 RL 的同学(读论文、做研究等),不适合速成
  • 学完课程之后:就可以去实践 / 读论文了

强化学习的数学基础 - 绪论
http://dbqdss.github.io/2025/10/26/个人学习笔记/AI Notes/Reinforcement Learning/强化学习的数学原理/MathFoundationRL-Ch01/
作者
失去理想的獾
发布于
2025年10月26日
许可协议