3. 强化学习入门

在无人机控制任务中,强化学习要解决的核心问题是:智能体如何在与环境的持续交互中,通过试错学会一套控制策略,使长期累积回报最大。要形式化描述这个问题,最基础的数学框架就是马尔可夫决策过程(Markov Decision Process, MDP)。可以说,MDP 是强化学习的“语法”,而状态、动作、奖励、策略、价值函数和贝尔曼方程则是构成这套语法的基本词汇。

一、马尔可夫决策过程:把控制问题写成五元组

一个 MDP 通常用五元组 (S, A, P, R, γ) 表示:

  • S(状态空间):环境所有可能状态的集合。对无人机而言,状态可包含位置、速度、姿态角、角速度、剩余电量、目标相对位置等。
  • A(动作空间):智能体可执行动作的集合。可以是连续的四旋翼电机转速、推力与力矩,也可以是离散的前后左右、升降等指令。
  • P(状态转移概率):P(s'|s,a) 表示在状态 s 执行动作 a 后转移到 s' 的概率。无人机动力学若含风扰、传感器噪声,则转移具有随机性。
  • R(奖励函数):R(s,a,s') 给出即时奖励,是引导学习方向的“指挥棒”。
  • γ(折扣因子):0 ≤ γ ≤ 1,衡量未来奖励的重要性。γ 越接近 1,智能体越有远见。

MDP 的关键假设是马尔可夫性:下一状态只取决于当前状态和当前动作,与更早的历史无关。因此,状态设计必须尽量包含决策所需的全部信息,否则策略会因“信息缺失”而表现不稳定。

MDP 五元组与无人机控制闭环 状态 s ∈ S 位置 / 速度 / 姿态 电量 / 目标相对量 动作 a ∈ A 推力 / 力矩 / 速度指令 连续或离散控制量 奖励 r = R(s,a,s') 距离 / 姿态 / 能耗 碰撞惩罚 / 到达奖励 策略 π(a|s) 由状态映射到动作 随机策略或确定性策略 价值函数 V / Q 评估状态或动作的长期回报 贝尔曼方程递推求解 选择动作 评估回报 反馈奖励 目标:寻找策略 π*,使期望折扣累积回报 J(π)=E[Σ γᵏ rₖ] 最大

二、状态空间与动作空间:无人机任务建模的第一道关

状态空间和动作空间的设计直接决定学习难度。状态太少,智能体无法区分不同局面;状态太多,训练样本需求急剧上升。对无人机定点悬停任务,一个常用状态向量可写为:

state = [
  px, py, pz,        # 位置误差
  vx, vy, vz,        # 速度
  roll, pitch, yaw,  # 姿态角
  p, q, r,           # 角速度
  battery            # 剩余电量
]

动作空间则可分为离散与连续两类。离散动作适合粗粒度决策,如“上升、下降、左移、右移、前进、后退、悬停”;连续动作适合精细控制,如直接输出四个电机 PWM 或总推力与三轴力矩。连续动作空间通常需要配合确定性策略梯度或随机高斯策略。

状态设计的一个实用原则是:只要该信息会影响下一步转移或奖励,就应尽量纳入状态。例如在风扰环境中,若风速可观测,应加入状态;若不可观测,则问题变为部分可观测马尔可夫决策过程(POMDP),需要引入历史观测或循环网络。

三、奖励函数:把任务目标翻译成标量信号

奖励函数是强化学习中最需要“工程直觉”的部分。它不直接告诉智能体怎么做,而是通过标量反馈塑造行为。以无人机穿越门框任务为例,奖励可设计为:

  • 前进奖励:r_forward = +k1 * (x_t - x_{t-1}),鼓励向目标方向移动。
  • 姿态惩罚:r_att = -k2 * (roll² + pitch²),抑制剧烈倾斜。
  • 能耗惩罚:r_energy = -k3 * ||a||²,避免频繁大动作。
  • 碰撞惩罚:r_collision = -100,并终止回合。
  • 成功奖励:r_success = +200,到达目标区域时给予。

奖励设计常见误区是“奖励稀疏”或“奖励黑客”。若只有成功奖励,智能体可能长期学不到有效行为;若惩罚项权重过大,智能体可能学会“原地不动”以规避风险。因此,奖励项之间需要反复调参和可视化验证。

四、策略与价值函数:从“怎么做”到“有多好”

策略 π(a|s) 定义智能体在每个状态下选择动作的规则。它可以是确定性的 a = μ(s),也可以是随机性的 a ~ π(·|s)。随机策略在探索阶段尤为重要,能避免过早陷入局部最优。

价值函数用于评估策略的长期表现。状态价值函数 Vπ(s) 表示从状态 s 出发,按策略 π 行动所能获得的期望折扣回报;动作价值函数 Qπ(s,a) 则表示在状态 s 先执行动作 a,再按 π 行动的期望回报。二者关系为:

Vπ(s) = Σ_a π(a|s) · Qπ(s,a)
Qπ(s,a) = Σ_{s'} P(s'|s,a) · [ R(s,a,s') + γ · Vπ(s') ]

在无人机控制中,Q 值可以帮助比较“当前状态下向左还是向右更优”,而 V 值更适合评估某个悬停点或航路点的长期安全性。

五、贝尔曼方程:价值递推的核心

贝尔曼方程把“长期回报”拆解为“即时奖励 + 折扣后的未来价值”,是几乎所有强化学习算法的基石。其最优形式为:

V*(s) = max_a Σ_{s'} P(s'|s,a) · [ R(s,a,s') + γ · V*(s') ]
Q*(s,a) = Σ_{s'} P(s'|s,a) · [ R(s,a,s') + γ · max_{a'} Q*(s',a') ]

贝尔曼方程的意义在于:它把一个无限时域的优化问题转化为可迭代求解的递推问题。值迭代、策略迭代、Q-Learning、DQN 等方法,本质上都在用不同方式逼近这个方程的解。

概念 符号 无人机场景中的含义 常见设计要点
状态空间 S 位置、速度、姿态、电量、目标相对位置 包含决策所需信息,避免维度爆炸
动作空间 A 电机转速、推力力矩或离散飞行指令 连续动作需配合策略梯度方法
奖励函数 R 前进、姿态、能耗、碰撞、成功奖励 权重平衡,避免稀疏与奖励黑客
策略 π(a|s) 从传感器状态到控制量的映射 训练时随机探索,部署时可确定性
价值函数 V / Q 评估状态或动作的长期回报 用于策略改进与优势估计
贝尔曼方程 V*, Q* 价值递推与最优策略求解 值迭代、Q-Learning 的理论基础
在 Sim2Real 场景中,MDP 建模还要特别关注状态可观测性与奖励可复现性。仿真中可获得的精确速度、风扰真值,在真实无人机上往往只能通过估计器获得;若训练时依赖仿真真值,迁移到实机后策略性能会显著下降。因此,状态设计应尽量使用真实传感器可测或可估计的量。

六、案例复盘:定点悬停任务的 MDP 建模

假设任务要求无人机从起点飞到目标点并稳定悬停。一个可用的 MDP 建模如下:

  • 状态:目标相对位置 (Δx, Δy, Δz)、速度 (vx, vy, vz)、姿态角 (roll, pitch)。
  • 动作:总推力增量与滚转、俯仰力矩,共 3 维连续动作。
  • 奖励:r = -0.1*||Δp|| - 0.05*||v|| - 0.02*||a|| + 到达奖励。
  • 终止条件:距离目标小于 0.2 m 且速度小于 0.1 m/s,或飞出安全边界。

训练初期,无人机可能频繁震荡甚至翻车;随着价值函数逐渐收敛,策略会学会先加速接近、再减速悬停。若发现悬停时高度缓慢漂移,通常不是算法问题,而是状态中缺少积分项或奖励对高度误差惩罚不足。此时应回到 MDP 建模层面检查,而不是盲目增加训练轮数。

掌握 MDP、状态、动作、奖励、策略、价值函数与贝尔曼方程,就具备了理解后续 Q-Learning、策略梯度、Actor-Critic 以及 Sim2Real 迁移方法的基础。它们共同回答了一个问题:无人机如何在不确定环境中,通过试错学会长期最优的控制策略。