稀疏奖励
通常在训练智能体时,我们希望每一步动作都有相应的奖励。但是某些情况下,智能体并不能立刻获得奖励,比如全局奖励的围棋,最终获胜会得到奖励,但是人们很难去设定中间每步的奖励,这会导致学习缓慢甚至无法进行学习的问题。
2.解决方法
2.1 设计奖励(reward shaping)
除了最终要学习到的目标外,可以额外添加一些奖励用于引导智能体。比如ViZDoom射击游戏,杀了敌人得到正奖励,被杀得到负奖励。探究人员设计了一些新奖励,来引导智能体做的更好,比如掉血就扣分,捡到补给包会加分,待在原地扣分,活着扣一个很小的分(否则智能体只想活着,躲避敌人)等方法。reward shaping技术需要领域知识(domain knowledge),不合理的设计奖励方式会让智能体学习到错误的方法。比如希望机器人将蓝色板子穿过柱子,通常会想到板子靠近柱子就加分,距离越近奖励越大,但是这样机器人可能会学习到用蓝色板子打柱子,而不是从上面穿过。因此设计奖励的效果与领域知识有关,需要调整。
2.2 好奇心(curiosity)
自己加入并且一般看起来有用的奖励,比如给智能体加上好奇心,称为好奇心驱动的奖励(curiosity driven reward),在好奇心驱动的技术里,我们会加入一个新的奖励函数:内在好奇心模型(intrinsic curiosity module,ICM)。ICM模块需要3个输入:状态s1,动作a1,状态s2,根据输入输出另外一个奖励rc(1)。对于智能体,在与环境交互时,不仅希望原始奖励r越大,也希望好奇心奖励rc越大。如何设计好奇心模块?用一个网络,接受输入a(t),s(t),输出,也就是用这个网络去预测,看预测值与真实s(t+1)的相似度,越不相似奖励越高。也就是说,好奇心奖励的意义在于:未来的状态越难被预测,得到的奖励就越大,这样方便探索未知的世界。
好奇心模块的设置有一个问题:某些状态很难被预测到并不代表它就是好的,就是需要被尝试的。比如某些游戏中,会突然出现树叶飘动,这是无法预测的,智能体会一直看着树叶飘动。因此智能体仅有好奇心是不够的,还需要知道什么事情是真正重要的。
为了知道什么事情是重要的,避免不必要的冒险,要加上另外一个模块,学习特征提取器(feature extractor) 。如图所示,黄色格子是特征提取器,输入一个状态s(t),输出一个特征向量表示这个状态,特征提取器可以把无意义的东西过滤掉。那么内在好奇心网络1实际上输入的是a(t)和特征向量,输出下一状态特征向量。如何学习特征提取器,通过网络2学习,网络2输入和,输出预测动作,这个动作与真实动作越接近越好。网络2是用提取后的特征向量预测动作,因此像风吹草动这种与智能体动作无关的信息就会被过滤掉。
机器人抓取任务因环境动态性、物体多样性及动作连续性,成为强化学习(RL)的典型挑战场景。其中,**稀疏奖励(Sparse Reward)和课程学习(Curriculum Learning)**是优化训练效率与成功率的关键技术。以下从问题分析、策略设计到实验优化进行系统性阐述。
1. 稀疏奖励的核心挑战
1.1 稀疏奖励的成因
任务特性:仅在抓取成功时给予正奖励(+1),其余时刻无反馈(0)。
探索难度:机械臂需精确控制位姿、力度,随机探索难以触发成功事件。
局部最优陷阱:过早收敛到次优策略(如反复触碰物体但无法抓取)。
1.2 稀疏奖励的负面影响
样本效率低下:需数百万次交互才能偶然获得成功经验。
训练不稳定:梯度估计方差大,策略网络难以收敛。
仿真-现实鸿沟:仿真中过度依赖密集奖励,迁移到真实机器人时失效。
2. 稀疏奖励解决方案
2.1 内在奖励(Intrinsic Reward)
好奇心驱动探索:
ICM(Intrinsic Curiosity Module):通过预测环境动态的误差生成奖励,鼓励探索未知状态。
RND(Random Network Distillation):利用随机网络差异衡量状态新颖性。
机器人应用示例:机械臂尝试不同抓取角度时,因位姿新颖性获得内在奖励,加速发现可行策略。
2.2 目标导向经验回放(Goal-Based HER)
Hindsight Experience Replay(HER):
核心思想:将未达成目标的轨迹视为新目标(“虽然没抓到A,但抓到了B”)。
实现步骤:
# HER伪代码示例for episode in trajectories:
achieved_goals = episode['achieved_goals']
for t in range(len(episode)):
new_goal = achieved_goals[-1] # 使用最终达到的目标作为新目标
reward = compute_reward(episode['actions'][t], new_goal)
replay_buffer.store(episode[t], new_goal, reward)
效果:在Fetch机器人抓取任务中,成功率从12%提升至80%以上。
2.3 分层强化学习(HRL)
Option-Critic架构:
高层策略:选择子目标(如“靠近物体”“调整夹爪姿态”)。
底层策略:执行具体动作(关节角度控制)。
优势:通过子目标分解稀疏奖励,降低探索难度。
3. 课程学习策略设计
3.1 课程生成方法
自动课程生成(Automatic Curriculum Learning):
ALP-GMM:基于策略性能动态调整任务分布,优先训练“中等难度”样本。
PAIRED:通过对抗环境生成器创建渐进式挑战任务。
3.2 课程学习与迁移
域随机化(Domain Randomization):
参数范围:物体质量、摩擦力、视觉纹理、光照条件随机化。
作用:增强策略鲁棒性,缩小Sim2Real差距。
示例:NVIDIA Isaac Gym中训练机械臂策略,迁移到真实UR5机械臂时成功率保持85%以上。
渐进式模型迁移:
在理想仿真环境(无噪声)中训练基础策略。
逐步添加传感器噪声、延迟等扰动微调策略。
最后在真实机器人上进行少量样本微调(Few-Shot Adaptation)。
4. 算法实现与实验优化
4.1 典型算法对比
4.2 关键超参数优化
奖励缩放(Reward Scaling):内在奖励与外部奖励的权重平衡(如λ=0.1)。
课程切换阈值:当连续10个episode成功率超过90%时进入下一阶段。
探索噪声衰减:ε-greedy策略的噪声标准差随训练线性递减。
4.3 计算加速技术
并行仿真:使用NVIDIA Isaac Sim同时运行1000个环境实例。
混合精度训练:FP16神经网络计算,吞吐量提升2倍。
边缘-云协同训练:在本地机器人执行推理,云端集群异步更新模型。
5. 典型应用案例
5.1 工业分拣机器人(ABB YuMi)
策略架构:SAC + HER + 自动课程学习。
性能:在杂乱物体堆中抓取成功率92%,训练时间从120小时缩短至40小时。
5.2 服务机器人抓取(Boston Dynamics Spot)
挑战:动态环境(行走中抓取)、多模态感知(RGB-D+力觉)。
方案:分层RL(高层路径规划+底层抓取控制)+ 域随机化。
结果:在未知物体抓取任务中达到78%成功率。
6. 未来研究方向
语言引导课程学习:利用LLM(如GPT-4)自动生成任务描述与课程规划。
多机器人协作课程:通过竞争或合作机制分配不同难度任务。
元课程学习(Meta-Curriculum):学习如何生成课程,适应未知任务分布。
总结
针对机器人抓取的稀疏奖励问题,内在奖励引导探索与HER增强经验复用是提升样本效率的核心;结合渐进式课程学习与域随机化,可显著提高策略鲁棒性与跨域迁移能力。实际部署中需权衡训练速度与稳定性,选择DDPG+HER或SAC+ICM等组合,并通过并行化加速迭代。未来,随着自动课程生成与多模态感知的融合,RL在复杂抓取任务中将进一步逼近人类水平。