Published on

规划,最优控制与强化学习:概念解析和算法分类

Authors
  • avatar
    Name
    Yu Jiang
    Twitter

1 引言

在现实世界中,许多关键问题都涉及一系列相互依赖的决策。无论是自动驾驶汽车在复杂交通环境中的实时路径规划,还是医疗机器人在手术过程中的动态操作调整,抑或是围棋选手在棋盘上每一步的落子选择,这些问题的共同特点是:每一步的决策不仅限于影响当前时刻,还会对未来产生深远的影响。这类问题被称为序列决策问题(Sequential Decision Problems)。具体来说,在每一个时间步tt,需要做决策的智能体观察到环境的状态 sts_t,选择一个动作 ata_t,获得一个即时回报 rtr_t,并导致环境转移到下一个状态 st+1s_{t+1}。这一过程可以形式化地表示为以下序列:

s0,a0,r0,s1,a1,r1,s2,a2,r2, s_0, a_0, r_0, s_1, a_1, r_1, s_2, a_2, r_2, …

序列决策问题的研究不仅具有重要的理论意义,还在实际应用中展现了巨大的价值。然而,这类问题的复杂性在于其动态性、不确定性和长期目标的耦合。例如,在围棋对弈中,棋手需要在当前局面的局部优势与未来可能形成的全局优势之间找到平衡;在机器人路径规划中,机器人可能需要选择一条看似较长的路径以避免障碍物,从而在未来获得更高的整体效率。这些问题的解决需要一种既能捕捉问题本质,又具备计算可行性的数学框架。

2 马尔科夫决策过程 - 抽象与计算的桥梁

马尔科夫决策过程(Markov Decision Process, MDP)正是这样一种数学模型。MDP 的核心思想是引入马尔科夫性质,即未来状态只依赖于当前状态和动作,而与过去的状态和动作无关。这一性质不仅简化了问题的建模,还使得我们可以将序列决策问题转化为一个可计算的形式。

具体来说,MDP 由以下五元组定义:S,A,R,T,γ⟨S,A,R,T,\gamma⟩

  • S:状态空间,表示所有可能的环境状态(如围棋中的棋盘状态)。
  • A:动作空间,表示智能体可以执行的所有可能动作(如围棋中的落子位置)。
  • P:状态转移概率函数,描述在状态 s 执行动作 a 后转移到状态 s′ 的概率。
  • R:回报函数,描述在状态 s 执行动作 a 后转移到状态 ′s′ 所获得的期望回报。
  • γ:折扣因子,用于权衡当前回报和未来回报的重要性。

在这5个基础概念之上,产生了与决策相关的几个核心概念

1. 策略(policy) 或者控制(control)

策略(policy)定义了智能体在每一个状态下应选择的动作,也就是说策略π是一个从状态到动作的映射,可以是确定性的(直接映射状态到动作),一般表示为μ\mu: at=μ(xt)a_t = \mu(x_t)或随机性的(映射状态到动作的概率分布)atπ(xt)a_t \sim \pi(\cdot|x_t)

2. 轨迹(trajectory)

轨迹τ\tau指的是状态和行动的序列 τ=(s0,a0,s1,a1,)\tau = (s_0, a_0, s_1, a_1, …)

环境的初始状态,可以是固定指定的, 也可以是从初始状态分布(ρ0\rho_0)中采样的,即 s0ρ0s_0 \sim \rho_0.

转态转换(从某一状态时间 , 到另一状态时间 , 会发生什么),是由环境的自然法则确定的,并且只依赖于最近的行动 。它们可以是确定性的:

xt+1=f(xt,at)x_{t+1} = f(x_t, a_t)

也可以是随机的

xt+1P(xt)x_{t+1} \sim P(\cdot|x_t)

3.即时奖励(reward)和累积回报(return)

奖励函数R非常重要。它由当前状态sts_t、已经执行的行动ata_t和下一步的状态st+1s_{t+1}共同决定。

rt=R(st,at,st+1)r_t = R(s_t, a_t, s_{t+1})

有时候这个公式会被改成只依赖当前的状态 rt=R(st)r_t = R(s_t),或者状态行动对rt=R(st,at)r_t = R(s_t, a_t)

智能体的目标是最大化行动轨迹的累积回报R(τ)R(\tau),一个固定窗口步数T内获得的累积回报可以表述为

R(τ)=Σt=0TrtR(\tau) = \Sigma_{t=0}^{T}r_t

另一种叫做γ\gamma折扣累积回报,指的是智能体获得的全部奖励之和,但是奖励会因为获得的时间不同而衰减。这个公式包含衰减率 γ\gamma, R(τ)=Σt=0γtrtR(\tau) = \Sigma_{t=0}^{\infty} \gamma ^ t r_t

3 序列决策问题统一的形式化表示

在上述概念框架下,序列决策问题,可以被抽象为一个优化问题,即找到一个最优的策略(或者说状态动作序列)使得智能体获得的累计回报最大。接下来我们来更具象的表述一下这个优化问题

考虑一个最具有一般性的情况,即状态转移函数和策略都是随机的情况,在这个最具一般性的设定下,给定一个特定的策略π\pi, 一个T步的运动轨迹τ\tau发生的概率是

P(τπ)=ρ0(s0)t=0T1P(st+1st,at)π(atst) P(\tau|\pi) = \rho_0(s_0)\prod^{T-1}_{t=0}P(s_{t+1}|s_t,a_t)\pi(a_t|s_t)

策略π\pi的累计回报的期望值记为J(π)J(\pi)

J(π)=P(τπ)R(τ)=EτπR(τ)J(\pi) = \int P(\tau|\pi)R(\tau) = E_{\tau \sim \pi}R(\tau)

序列决策的核心优化问题可以表示为

π=argmaxπJ(π)\pi^{*} = arg max_{\pi}J(\pi)

也就是要找到一个最优的策略,使得智能体获得的累计回报的期望值最大。

4 规划(planning),最优控制(optimal control)与强化学习(reinforcement learning)的概念解析

在机器人、人工智能和控制理论中,规划(Planning)、最优控制(Optimal Control)强化学习(Reinforcement Learning)是三个具有相同目标但语境差异显著的术语。它们都旨在解决序列决策问题,但在问题设定,方法和应用场景上有所不同。

  1. 规划

    定义:规划是指在已知环境模型(包括状态转移函数、奖励函数等)的情况下,通过系统化的搜索或推理方法,生成一系列动作或决策序列,以实现从初始状态到目标状态的最优或可行路径

    问题设定: 环境模型是显式的已知; 状态转移函数,策略都是确定性的(deterministic);有约束,但不显式优化性能指标

    目标: 在给定的环境模型和任务约束下,找到一条可行的动作序列或路径,通常不显式优化性能指标,而是以完成任务为主要目标。

  2. 最优控制(optimal control)

    定义:最优控制是指在已知环境模型(包括状态转移函数、奖励函数等)和给定一个性能指标(目标函数)的情况下,旨在为一个动态系统设计控制策略(control policy),使得在满足系统动态约束的条件下,某个预定义的性能指标(performance criterion)达到最优。

    问题设定:环境模型是显式的已知; 状态转移函数和策略大都是确定性的;有明确的目标函数和约束.

    目标:得到一个最优的控制策略(control policy),在同时满足系统动态和所有约束条件的情况下,使得预定义的目标函数达到最优

  3. 强化学习

    定义:强化学习是指在一个未知的,不确定的环境模型下,学习一个最优的的策略, 使得某个预定义的性能指标(累计回报)达到最优

    问题设定:环境模型是未知的,每一步的状态转移和奖励只能通过在隐式的函数中采样获得; 状态转移函数,策略都是随机的(stochastic)

    目标:在满足状态转移函数和其他的约束下,得到一个最优策略,使得目标函数最大化

规划,最优控制,强化学习所要解决的问题是一致的,都是要解决序列决策问题,本质上都是要找一个最优策略(状态到动作的一个映射),在满足状态转移以及其他的约束的条件下,实现一定的目标。只不过面临的问题设定存在一些差异,使得在术语表述存在一些差异。规划问题的环境模型往往是已知的且是确定性的,这意味着能够知道显式的函数表达式,因此,在给定一个初始状态后,一个策略往往意味着一个确定的动作序列或者是状态轨迹,因此在规划的语境下,往往不再强调控制和策略。如果一个规划问题的要求是找到一个最优的动作序列,在满足约束的条件下,同时追求一个预定义的性能指标(performance criterion)达到最优,那么这个规划问题等价于一个最优控制问题。针对于最优控制与强化学习的更深的概念解析,见我写的另一篇博客《最优控制与强化学习:定义,概念解析和技术学习路线》。

5 规划,最优控制与强化学习的算法分类

规划算法主要分为两类,基于搜索的规划算法和基于采样的规划算法。

1. 基于搜索的规划算法

这类算法通过显式搜索状态空间来找到从初始状态到目标状态的路径。

  • 确定性搜索
    • 无信息搜索:广度优先搜索(BFS)、深度优先搜索(DFS)、一致代价搜索(UCS)。
    • 启发式搜索:A算法、Dijkstra算法、IDA算法。
  • 随机搜索
    • 蒙特卡洛树搜索(MCTS)。
    • 随机爬山法、模拟退火。

2. 基于采样的规划算法

这类算法通过随机采样状态空间来构建路径或策略,适用于高维或连续状态空间。

  • 快速随机树(RRT):RRT、RRT*。
  • 概率路线图(PRM):PRM、PRM*。
  • 蒙特卡洛方法:蒙特卡洛树搜索(MCTS)也可以视为一种基于采样的方法。

最优控制问题,基于是否给定初始状态为标准,可以划分为两类问题轨迹优化(Trajectory Optimization)和控制策略优化(Control Policy Optimization)

  1. 轨迹优化
    • 给定初始状态s0s_0
    • 策略是一个确定性的open loop(control or action ata_t as function of time t, independent of state sts_t),
  2. 控制策略优化
    • 任意的初始状态
    • 策略是一个确定性的close loop(control or action ata_t as function of state sts_t, at=π(st)a_t = \pi(s_t))

从研究方法的角度看,在最优控制的语境下,求解最优控制问题主要有两条路线,一是直接优化法。因为有函数表达式,所以可以将序列 (x1,a1,x2,a2,...,xn1,an1,xn)(x_1,a_1,x_2,a_2,...,x_{n−1},a_{n−1},x_n)直接作为决策变量,将动态函数转换为约束连同其他约束,放入优化器中,直接使目标函数最小化所对应的那个最优序列,这类方法可以统一称为直接配点法(direct collocation)。二是动态规划法(dynamic programming),动态规划法的核心思路是基于最优化原则得到贝尔曼方程,然后因为知道动态函数的函数表达式,因此可以使用泰勒级数扩展的方法(需要用到函数的一阶导二阶导信息)对未来的价值函数进行近似估计,这一类方法统一称为微分动态规划(Differential Dynamic Programming,DDP)

强化学习算法,从high-level的视角来看,可以分类为两大类,无模型强化学习算法(model-free rl)和基于模型的强化学习算法(model-based rl),在这个语境下,model的含义是指环境模型(状态转移函数和奖励函数),model-free算法是指仅仅依赖与环境的交互的方式收集轨迹经验(trajectory),然后基于轨迹经验,直接学习一个最优的策略。基于模型的强化学习算法则是基于收集到的经验,先学习训练一个环境模型,然后基于环境模型,再学习一个最优策略。

  • model-free rl
    • 策略优化算法(Policy optimization algorithms): Policy Gradient, A2C, PPO
    • Q Learning算法: DQN
    • Actor and Critic 算法: DDPG, TD3, SAC
  • model-based rl
    • Planning-based approaches: alpha-go, alpha-zero, muzero, MPC with learned model
    • yna-Style Algorithms: Dyna-Q, Model-Based Policy Optimization(MBPO)
    • Hybrid Model-Free and Model-Based Methods: Stochastic Value Gradient (SVG)
rl algorithm category

5 后记

尽管规划、最优控制和强化学习在方法和应用场景上有所不同,但它们都旨在解决序列决策问题,并且在某些情况下可以相互结合。例如,规划方法可以用于强化学习中的模型预测,而最优控制方法可以用于强化学习中的策略优化。这种结合显著提升算法的性能、效率和适用性,从而在复杂任务中实现更高效、更安全的决策和控制,在为理论研究和算法创新提供新的方向的同时,使得机器人技术、人工智能、控制领域的边界越趋向于模糊和融合。