4、动作决策基础:强化学习(RL)基础、策略梯度、Q-learning、PPO、SAC等算法原理与适用场景

在VLA(Vision-Language-Action)模型与世界模型联合训练中,动作决策模块是连接感知、推理与物理执行的最终枢纽。无论是机械臂抓取、移动机器人导航,还是自动驾驶变道,模型输出的动作序列必须满足两个基本要求:最大化长期累积回报与在真实环境中具备可执行性。强化学习(Reinforcement Learning, RL)正是解决这一序贯决策问题的数学框架。本章将系统梳理RL的核心概念、主流算法(策略梯度、Q-learning、PPO、SAC)的原理与适用场景,并结合VLA训练中的实际约束(如高维视觉输入、连续动作空间、样本效率瓶颈)给出选型建议。

VLA动作决策:RL算法选型与联合训练定位 VLA输入(视觉+语言+状态) 策略梯度家族 REINFORCE / A2C / A3C 直接优化策略参数 适用:离散/连续动作 高方差,需基线 Q-learning 家族 DQN / Double DQN / DDPG 学习状态-动作值函数 适用:离散动作为主 过估计问题需处理 Actor-Critic 混合 PPO / SAC / TD3 策略+值函数联合优化 适用:连续/高维动作 样本效率与稳定性平衡 VLA联合训练关键约束 • 高维视觉输入 → 需CNN/ViT编码器与RL策略联合训练 • 连续动作空间(关节力矩/末端速度)→ 优先SAC/PPO • 样本效率瓶颈 → 世界模型辅助 + 离线RL预训练 动作输出 → 执行器 / 仿真环境 策略网络输出动作分布参数(均值/方差或概率)

上图展示了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 任务取高值
经验提醒:在VLA联合训练中,奖励函数的设计往往比算法选择更影响最终性能。建议先使用稀疏奖励(成功=1,失败=0)配合行为克隆预训练,再逐步引入稠密奖励微调。

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维(如双手协同控制),策略梯度的方差会急剧增大。

风险提示:策略梯度对学习率极其敏感。学习率过大导致策略崩溃(输出NaN或极端动作),过小则收敛极慢。建议使用Adam优化器并配合梯度裁剪(max_norm=0.5)。

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。

复盘经验:Q-learning家族在VLA中的最大瓶颈是样本效率。真实机器人无法承受百万级交互,因此必须配合世界模型(World Model)进行想象 rollout,或使用离线RL从人类演示数据中预训练Q函数。

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迁移能力。

实战建议:当VLA模型使用Transformer作为策略网络时,PPO的熵正则项(entropy bonus)系数建议从0.01开始调低。若动作分布过早坍缩(方差趋近0),可增大熵系数至0.05;若训练不稳定,则降低至0.005。

4.5 SAC:最大熵框架下的样本高效算法

核心原理:SAC(Soft Actor-Critic)在标准RL目标中引入熵正则项,最大化 J(θ)=E[Σγᵗ(rₜ + α·H(π(·|sₜ)))]。熵项鼓励策略保持随机性,避免过早收敛到局部最优。SAC使用双Q网络(Double Q)取最小值抑制过估计,并通过自动调节温度系数α平衡探索与利用。

判断方法:SAC特别适合高维连续动作空间和需要高效样本利用的任务。在VLA中,当动作是7自由度机械臂的关节力矩或双足机器人的全身控制时,SAC通常优于PPO。但SAC对超参数更敏感,且需要更多内存存储双Q网络和目标网络。

对比维度PPOSAC
样本效率中等(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,避免策略过度保守。

常见误区:不要盲目认为SAC一定优于PPO。在动作维度低于10且奖励设计良好的任务中,PPO往往更稳定且调试成本更低。SAC的优势在高维连续控制中才明显体现。

4.6 算法选型决策树与VLA联合训练策略

判断流程:在VLA项目中,建议按以下顺序决策:① 动作空间是否离散?是→DQN/Double DQN;否→进入②;② 动作维度是否≤10?是→PPO;否→进入③;③ 是否有充足的真实交互预算(>10万步)?是→SAC;否→考虑离线RL+世界模型。

联合训练策略:VLA模型通常先通过行为克隆(BC)预训练视觉编码器和语言理解模块,再使用RL微调策略头。具体流程为:第一阶段冻结视觉编码器,仅训练策略网络;第二阶段解冻部分视觉层,使用低学习率(1e-5)联合训练;第三阶段若任务复杂,引入世界模型进行想象 rollout 以扩充样本。

关键经验:在VLA+RL联合训练中,奖励归一化至关重要。建议将奖励除以滑动平均值,使奖励尺度保持在[-1,1]区间,否则PPO的裁剪机制和SAC的温度系数都会失效。

总结复盘:本章覆盖了RL基础、策略梯度、Q-learning、PPO和SAC五大主题。核心要点可归纳为:策略梯度适合低维动作且对样本效率不敏感;Q-learning家族适合离散动作;PPO是通用且稳定的首选;SAC在高维连续控制中样本效率最优。在VLA实战中,没有万能算法,必须结合任务复杂度、交互预算和硬件约束综合选型。建议团队建立标准化的RL评估基准(如成功率、平均回报、样本效率曲线),在多个算法间快速对比,避免在单一算法上过度调参。