4、动作决策基础:强化学习(RL)基础、策略梯度、Q-learning、PPO、SAC等算法原理与适用场景
在VLA(Vision-Language-Action)模型与世界模型联合训练中,动作决策模块是连接感知、推理与物理执行的最终枢纽。无论是机械臂抓取、移动机器人导航,还是自动驾驶变道,模型输出的动作序列必须满足两个基本要求:最大化长期累积回报与在真实环境中具备可执行性。强化学习(Reinforcement Learning, RL)正是解决这一序贯决策问题的数学框架。本章将系统梳理RL的核心概念、主流算法(策略梯度、Q-learning、PPO、SAC)的原理与适用场景,并结合VLA训练中的实际约束(如高维视觉输入、连续动作空间、样本效率瓶颈)给出选型建议。
上图展示了VLA框架下RL算法的整体定位:视觉与语言输入经过编码器提取特征后,策略网络(Actor)输出动作分布,价值网络(Critic)评估当前状态或状态-动作对的长期回报。三个算法家族在优化目标、样本利用率和动作空间适应性上存在显著差异,下面逐一展开。
4.1 强化学习基础:马尔可夫决策过程与核心要素
核心原理:强化学习以马尔可夫决策过程(MDP)为数学基础,由五元组 (S, A, P, R, γ) 定义。在VLA场景中,状态 S 通常包含RGB图像、深度图、关节角度、语言指令嵌入等;动作 A 可以是7自由度机械臂的关节力矩、移动机器人的线速度与角速度,或自动驾驶的方向盘转角与油门开度。转移概率 P(s'|s,a) 描述环境动力学,奖励函数 R(s,a) 需要人工设计或从人类演示中学习。折扣因子 γ∈[0,1] 平衡近期与远期回报。
判断方法:在开始训练前,必须明确三个关键问题:动作空间是离散还是连续?(离散如“抓取/放置”二值动作,连续如关节力矩);环境是否有可微分的动力学模型?(有则可用基于模型的RL,无则需model-free方法);奖励是否稀疏?(稀疏奖励需引入奖励塑形或课程学习)。
| 要素 | VLA中的具体体现 | 设计要点 |
|---|---|---|
| 状态空间 S | 多模态输入(图像+语言+本体感觉) | 需统一编码维度,控制长度 |
| 动作空间 A | 连续(力矩/速度)或离散(技能选择) | 连续动作需限制范围,防止执行器饱和 |
| 奖励 R | 任务成功+距离惩罚+能量惩罚 | 避免过于稀疏,可加shaping项 |
| 折扣因子 γ | 0.95~0.99 | 长 horizon 任务取高值 |
4.2 策略梯度算法:从REINFORCE到A2C
核心原理:策略梯度方法直接对策略参数 θ 求梯度,目标函数为 J(θ)=E[Σγᵗrₜ]。其核心定理为 ∇J(θ)=E[∇log π(a|s) · Q(s,a)]。REINFORCE是最基础的蒙特卡洛实现,使用完整轨迹的累积回报作为Q的估计,方差极大。A2C(Advantage Actor-Critic)引入价值网络 V(s) 作为基线,用优势函数 A(s,a)=Q(s,a)-V(s) 替代Q值,显著降低方差。
操作流程:以A2C为例,训练循环为:① 采样一批轨迹;② 计算TD误差 δ = r + γV(s') - V(s);③ 计算优势估计(GAE,广义优势估计);④ 更新Actor:θ ← θ + α∇logπ(a|s)·A(s,a);⑤ 更新Critic:φ ← φ - β∇(V(s)-R)²。
# 伪代码:A2C更新步骤
for each iteration:
states, actions, rewards, next_states = collect_trajectories(env, policy)
values = critic(states)
next_values = critic(next_states)
td_target = rewards + gamma * next_values
advantages = td_target - values # 简化版,实际用GAE
actor_loss = -log_prob(actions) * advantages.detach()
critic_loss = MSE(td_target, values)
update(actor, actor_loss)
update(critic, critic_loss)
适用场景:策略梯度家族适合动作空间为离散或连续但维度较低的任务,且对样本效率要求不高的场景。在VLA中,当动作是高层技能选择(如“抓取”“放置”“移动”)时,A2C可提供稳定的学习信号。但若动作维度超过10维(如双手协同控制),策略梯度的方差会急剧增大。
4.3 Q-learning与DQN:值函数方法的适用边界
核心原理:Q-learning通过迭代更新状态-动作值函数 Q(s,a) 来隐式定义策略。更新规则为 Q(s,a) ← Q(s,a) + α[r + γ·maxₐ'Q(s',a') - Q(s,a)]。DQN引入深度神经网络逼近Q函数,并采用经验回放(Experience Replay)和目标网络(Target Network)解决样本相关性与训练不稳定问题。
判断方法:Q-learning家族天然适用于离散动作空间,因为max操作需要枚举所有动作。对于连续动作,需使用DDPG或TD3等Actor-Critic变体。在VLA中,若动作空间被离散化为K个技能原语(K通常为5~20),DQN及其改进版本(Double DQN、Dueling DQN)是可靠选择。
| 算法 | 核心改进 | VLA适用性 |
|---|---|---|
| DQN | 经验回放+目标网络 | 离散技能选择,中等复杂度任务 |
| Double DQN | 解耦动作选择与评估 | 缓解Q值过估计,适合奖励稀疏场景 |
| Dueling DQN | 分离状态价值与优势 | 状态价值差异大的任务(如不同位置) |
| DDPG | 确定性策略+AC框架 | 连续动作,但需处理探索噪声 |
案例拆解:某移动机器人导航任务,动作空间为{前进,左转30°,右转30°,停止}四个离散动作。使用Double DQN训练,输入为前视RGB图像(84×84×3)和激光雷达距离向量。初始阶段Q值震荡严重,通过将奖励从稀疏的“到达终点=+10”改为“每靠近目标0.1m奖励+0.1,碰撞-1”后,训练曲线在2万步后稳定收敛。关键参数:学习率1e-4,batch size 64,回放缓冲区容量10万,ε-greedy从1.0线性衰减至0.1。
4.4 PPO:稳定且通用的策略优化器
核心原理:PPO(Proximal Policy Optimization)通过裁剪(Clipping)目标函数限制策略更新的步长,避免策略突变。其目标函数为 L(θ)=E[min(rₜ(θ)·Aₜ, clip(rₜ(θ), 1-ε, 1+ε)·Aₜ)],其中 rₜ(θ)=π_θ(a|s)/π_old(a|s) 是重要性采样比率。裁剪机制确保新旧策略的KL散度不会过大,从而保证训练稳定性。
操作流程:PPO采用Actor-Critic架构,训练循环为:① 使用当前策略采样N条轨迹;② 计算GAE优势估计;③ 对每个mini-batch进行K轮epoch更新(通常K=3~5);④ 裁剪目标函数并同时更新价值网络。关键超参数:裁剪系数ε=0.2,GAE λ=0.95,学习率3e-4。
# PPO核心更新逻辑(伪代码)
for epoch in range(K):
for batch in mini_batches:
ratio = exp(new_log_prob - old_log_prob)
surr1 = ratio * advantages
surr2 = clamp(ratio, 1-eps, 1+eps) * advantages
actor_loss = -min(surr1, surr2).mean()
critic_loss = 0.5 * (values - returns).pow(2).mean()
total_loss = actor_loss + 0.5 * critic_loss - 0.01 * entropy_bonus
optimizer.zero_grad()
total_loss.backward()
clip_grad_norm_(max_norm=0.5)
optimizer.step()
适用场景:PPO是当前VLA联合训练中最常用的RL算法,原因有三:① 对连续动作空间支持良好,可直接输出高斯分布的均值与方差;② 训练稳定性高,超参数鲁棒性强;③ 支持部分观测(POMDP),与视觉输入天然契合。在机器人操作任务中,PPO配合域随机化(Domain Randomization)可有效提升sim-to-real迁移能力。
4.5 SAC:最大熵框架下的样本高效算法
核心原理:SAC(Soft Actor-Critic)在标准RL目标中引入熵正则项,最大化 J(θ)=E[Σγᵗ(rₜ + α·H(π(·|sₜ)))]。熵项鼓励策略保持随机性,避免过早收敛到局部最优。SAC使用双Q网络(Double Q)取最小值抑制过估计,并通过自动调节温度系数α平衡探索与利用。
判断方法:SAC特别适合高维连续动作空间和需要高效样本利用的任务。在VLA中,当动作是7自由度机械臂的关节力矩或双足机器人的全身控制时,SAC通常优于PPO。但SAC对超参数更敏感,且需要更多内存存储双Q网络和目标网络。
| 对比维度 | PPO | SAC |
|---|---|---|
| 样本效率 | 中等(on-policy) | 高(off-policy) |
| 动作空间 | 离散/连续 | 连续(最优) |
| 训练稳定性 | 高 | 中等(需调参) |
| 超参数敏感度 | 低 | 中高(温度系数α) |
| VLA推荐场景 | 技能选择/低维控制 | 高维连续控制 |
案例拆解:在双臂协作装配任务中,动作空间为14维(两臂各7个关节力矩)。使用SAC训练,初始温度α=0.2,目标熵设置为 -dim(A)/2 = -7。训练中发现策略过早确定性化(熵趋近0),导致探索不足。将α初始值调至0.5,并设置学习率5e-4后,成功率从62%提升至81%。同时,将奖励函数中的能量惩罚项系数从0.01降至0.001,避免策略过度保守。
4.6 算法选型决策树与VLA联合训练策略
判断流程:在VLA项目中,建议按以下顺序决策:① 动作空间是否离散?是→DQN/Double DQN;否→进入②;② 动作维度是否≤10?是→PPO;否→进入③;③ 是否有充足的真实交互预算(>10万步)?是→SAC;否→考虑离线RL+世界模型。
联合训练策略:VLA模型通常先通过行为克隆(BC)预训练视觉编码器和语言理解模块,再使用RL微调策略头。具体流程为:第一阶段冻结视觉编码器,仅训练策略网络;第二阶段解冻部分视觉层,使用低学习率(1e-5)联合训练;第三阶段若任务复杂,引入世界模型进行想象 rollout 以扩充样本。
总结复盘:本章覆盖了RL基础、策略梯度、Q-learning、PPO和SAC五大主题。核心要点可归纳为:策略梯度适合低维动作且对样本效率不敏感;Q-learning家族适合离散动作;PPO是通用且稳定的首选;SAC在高维连续控制中样本效率最优。在VLA实战中,没有万能算法,必须结合任务复杂度、交互预算和硬件约束综合选型。建议团队建立标准化的RL评估基准(如成功率、平均回报、样本效率曲线),在多个算法间快速对比,避免在单一算法上过度调参。