深度强化学习算法SAC:让机器人完成任务只需几个小时!

深度强化学习算法SAC:让机器人完成任务只需几个小时!

在AI领域,深度强化学习(DRL)是个时髦的热词。

深度强化学习使得机器人能够直接从现实世界中的经验和交互中自动学习,因为它能够使用通用神经网络的特征表示来处理复杂的传感器输入。

然而,许多现有的DRL算法需要数天或数周(或更多)的真实数据才能收敛到期望值。此外,这样的系统可能难以部署在复杂的机器人系统上(例如多足机器人),也存在在探索阶段容易损坏、超参数难以调整,并且出于对各种安全的考虑可能会有更多的限制等问题。

不久前,加州大学伯克利分校和谷歌大脑联合发布了Soft Actor-Critic(SAC)——这是一种稳定而有效的DRL算法,适用于真实世界的机器人技能学习,这正是机器人实验所要求的。重要的是,SAC的效率很高,能够在几个小时内解决实际的机器人任务,并且只要设置一组超参数就能使它在各种环境中工作。据悉,SAC 是当今最有效的无模型算法之一,使其特别适合现实世界的机器人学习。

本文将讨论SAC背后的一些研究,并介绍谷歌最近在做的实验。

深度强化学习算法SAC:让机器人完成任务只需几个小时!

对在真实世界的机器人学习的要求

真实世界的机器人实验面临一些重大挑战,比如硬件失效和手动重置导致的数据流持续中断,以及需要让探索学习过程顺畅,避免机械磨损或者撞击破坏。这都对算法理论和应用增加了额外的限制,包括(不限于)以下几个方面:

· 高效率的样本,从而降低学习时间;

· 尽量少的调整超参数;

· 使用在其他场景中采集到的数据进行学习(也被称作“解耦策略”off-policy);

· 确保探索学习过程不损坏硬件。

深度强化学习算法SAC:让机器人完成任务只需几个小时!

Soft Actor-Critic

Soft Actor-Critic 是基于最大熵强化学习开发的,这是一种尝试让预期回报最大化(标准的强化学习目标),同时也让策略熵最大化的框架。熵更高的策略具有更高的随机性,这意味着最大熵强化学习更偏向取得高回报策略中随机性最高的策略。

为什么这种方法用在机器人学习中很好呢?最重要的原因是,最大熵优化的策略鲁棒性更高(更稳定):如果策略在训练过程中能够允许高度随机的动作,那么它在测试时候也就更有可能顺利地应对预期之外的扰动。不过更机智的是,最大熵训练不仅可以提高算法对超参数的鲁棒性(稳定性),也可以提高采样效率。

Soft Actor-Critic 通过学习一个随机策略来对熵增加奖励进行最大化,这个策略会把状态映射到动作以及一个 Q 函数(参考链接:http://incompleteideas.net/book/first/ebook/node64.html)上,这个函数会估计当前策略的目标价值,并通过逼近动态编程进行优化。通过这样的方式,Soft Actor-Critic 可以让经过熵强化的回报最大化。在这个过程中,SAC 会把目标看作一个绝对真的方法来导出更好的强化学习算法,它们的表现稳定,且具有足够高的样本效率,可以用在真实世界的机器人应用中。

深度强化学习算法SAC:让机器人完成任务只需几个小时!

SAC的表现

谷歌在两个任务中对算法进行了评估:1)Ghost Robotics 环境中 Minitaur 四足机器人的行走;2)用一个三指Dynamixel Claw转动阀门。学习行走是一项重大的挑战,由于机器人是欠驱动的,所以机器人需要学会如何在四只腿之间平衡接触力的大小才能持续行走。未经训练的策略会让机器人失去平衡从而摔倒,最终会损坏机器人。于是高效样本的学习此时就变得非常重要。

虽然之前是在平地上训练机器人行走的,但后面的测试是在多种不同地况和障碍物上进行的。理论上来说,通过 SAC 学习到的策略在测试时若遇到扰动也应当具有鲁棒性(稳定性)。但实际上我们观察到,通过这样的方法学习到的策略不需要任何额外的学习就可以应对这些扰动。

在操控任务中需要机械手转动一个阀门状物体,目标是让有色一面朝右,如下图所示。这个任务非常具有挑战性,不仅理解感知很难,而且还需要控制具有 9 个自由度的机械手。为了能够感知这个阀门,机器人必须使用来自摄像头的原始 RGB 图像。每轮尝试中,阀门位置都会重新设定一个随机角度,迫使根据 RGB 图像输入来感知当前的阀门角度。

SAC 能够很快地完成这两个任务:前一个任务花了 2 个小时,后一个任务用了20 个小时。我们也为转动阀门任务学习了一个无需图像输入的策略,把其它方式采集到的阀门角度作为观察结果用为输入,通过这种简单的设置 SAC 只需3 个小时就可以解决这个任务。相比之下,之前使用自然策略梯度去学习同一个无需图像输入的任务需要花 7.4 个小时(参考链接:https://arxiv.org/abs/1810.06045)。

深度强化学习算法SAC:让机器人完成任务只需几个小时!

结论

这项工作证明了,基于熵最大化框架的深度强化学习能够用于真实世界环境中机器人的学习。由于这些策略是从真实世界中直接学习的,于是它们对环境中的变化会表现出一定的鲁棒性(稳定性),而这是很难通过其他方式获得的。他们也展示了直接从高维图像观察中学习,这对(传统)经典机器人来说也是一个很大的挑战。

相关推荐