机器人在整个现代工业中都很普遍。与上个世纪的大多数科幻作品不同,类人机器人仍然没有收拾我们的脏盘子和垃圾,也没有施瓦辛格的终结者在战场上作战(至少现在......)。但是,几乎在每个制造工厂中,机器人都在做几十年前人类工作人员过去所做的繁琐和艰巨的工作。
机器人的重复而精确的工作能力
任何需要在可以仔细控制和监控的环境中进行重复和精确工作的东西都是机器人取代人类的良好选择,而今天的尖端研究正在快速接近,即使我们非常努力的自动化任务的可能性可能会认为它们很乏味(比如开车)。
我们对机器人着迷的动机很容易看出来。对于许多人来说,人类摆脱艰苦乏味的手工工作的未来似乎是非常可取的。此外,机器典型的精确性和一致性可以减少由于人为错误而发生的灾难,例如车祸和手术期间的医疗事故。我们开始在生产线之外看到这场革命的第一批预兆; 在像亚马逊这样的大型仓库中,机器人被用来运输板条箱而不是人工。
虽然我们仍然没有在战场上使用杀手级人形机器人,但我们确实拥有在世界各地运行的半自动无人机,包括侦察和战斗任务。军事先进研究组织的大量努力正在推动士兵进一步摆脱伤害,让机器进行实际的战斗,我希望未来几十年我们确实会看到这样的发展。
机器人强化学习为什么几十年前的科幻小说几乎总是看到我们不久的将来包括智能类人机器人在做什么,我们似乎离它太遥远了?为什么我们的制造设施充满了机器人,但我们的街道和家庭却没有?为了使机器人在给定环境中成功运行,它必须以某种方式理解它,计划其动作并使用某种驱动方式执行这些计划,同时使用反馈来确保一切按计划进行。
事实证明,这些组件中的每一个都是一个非常难的问题,我们人类很容易做到的事情(比如识别视觉场景中的对象并在某种程度上预测人们的意图)对于计算机而言往往是难以置信的挑战。
近年来,在计算机视觉的各种任务中,深度学习的兴起日益突出,但是理解典型步行街场景所需的广泛技能仍然不在当前技术的掌握之中。
事实证明,在装配线上操作和在街上操作之间存在巨大差异。在装配线中,通常可以精确控制环境中的所有内容,并且机器人需要执行的任务通常非常具体和狭窄。尽管有这些优点,但为制造机器人设计运动规划和控制算法是一个漫长而繁琐的过程,需要许多领域专家的共同努力。这使得该过程非常昂贵且冗长,这突出了我们当前的能力与需要在更一般的环境中操作并执行一系列任务的机器人所需的能力之间的巨大差距。
如果我们在为那些狭窄的任务设计算法时遇到困难,我们怎样才能扩展到我们家的机器人?那些机器人将不得不驾驭经常复杂的城市空间景观,处理凌乱的现实世界(比较水槽中随意留下的洗碗和绘制汽车外部,精确放置并在装配线上定时)并与人类互动同时确保他们的安全。
近年来深度学习和强化学习的成功使得许多研究人员开发出使用RL控制机器人的方法。
动机是显而易见的,我们可以通过让机器人自主学习来自动化设计传感,规划和控制算法的过程吗?如果可以,我们将立即解决我们的两个问题; 节省我们花在设计算法上的时间和精力,以解决当前我们知道如何解决的问题(工业机器人),并获得解决我们目前无法解决的难题的解决方案。
在各种视频游戏和棋盘游戏取得惊人成功或相对简单的模拟控制问题后,深层强化学习引起了公众的注意。在这些任务中,代理所学习的环境与其必须运行的环境相同,并且我们可以有效地使用模拟来允许代理在学习解决任务之前进行多次试验。
深度强化学习算法众所周知数据效率低,并且在学习解决诸如玩Atari游戏之类的任务之前通常需要数百万次尝试。如果我们尝试使用相同的方法在现实世界中训练我们的机器人,那将花费不切实际的时间,并且可能在此过程中破坏机器人。或者,我们可能会天真地尝试使用模拟来训练我们的代理,然后在真实的机器人上部署训练有素的策略。
将RL应用于机器人技术存在许多挑战,在我看来,其中许多可以粗略地分为以下四类:
样本效率:如果我们希望使用物理机器人来训练我们的策略,我们必须开发算法,这些算法只需要很少的试验来学习,因此培训是可行的,这与我们今天的许多算法不同。
Sim2Real:如果我们希望在模拟环境中训练我们的策略然后部署它们
奖励规范:下棋或星际争霸2时,目标非常清晰,易于量化; 赢或输。但是,你如何量化洗碗等方面的成功程度?还是折叠衣物?
安全:我们的机器人政策必须是安全的(在机器人培训和现实世界的部署期间),以确保机器人本身的完整性以及环境中人员和财产的安全。
我将主要讨论前两个类别,简要介绍第三个类别,避免使用最后一个类别。
样本效率传统上,当在RL中期望极低样本复杂度时,首选方法是基于模型的RL。在基于模型的RL中,代理不是仅仅基于通过与环境交互获得的奖励来学习策略,而是尝试学习环境模型并使用它来规划和改进其策略,从而大大减少交互次数需要与环境。然而,与无模型算法相比,这种方法通常导致较低的渐近性能,并且有时由于学习模型中的错误而遭受灾难性故障。
基于模型的RL在动态可以通过简单模型(如线性模型)充分表示的问题上取得了巨大成功,但在非线性模型(如深度神经网络)的更复杂环境中却没有取得很大成功。
2018年,伯克利的研究人员发表了关于这一主题的,其中他们确定了一个可疑原因引发的不稳定性问题并提出了解决方案。
在他们的论文中,他们声称在学习和计划期间,政策倾向于利用学习模型表现不佳的国家空间区域,这使得代理人"偏离"可以提前可靠计划的区域"偏离"将学习的模型用于完全失明的模型,使其无效。他们的解决方案相对简单; 学习几种不同的环境模型,并在规划从这些不同模型中统一采样时,有效地规范学习过程。这使得将基于模型的RL应用于比以前更复杂的任务,实现了与无模型算法相比的渐近性能,其尝试次数减少了数量级。
有趣的是,最近的无模型算法已经证明了极好的样本复杂性,因此可以在相对较短的时间内对真实机器人进行策略训练。2019年,来自伯克利和谷歌大脑的研究人员发表了,其中描述了一种名为Soft Actor Critic(SAC)的非政策性演员评论算法。他们证明了这种算法在几个传统的RL控制基准测试中表现非常好,样本复杂度低,然后开始训练机器人在4小时的环境交互中行走。
训练机器人在平坦的路面上行走,然后在具有不同障碍物的表面上成功进行测试,显示学习策略的稳健性。
另一篇好采用了不同的样本效率路径; 通过废除必须从头开始学习政策的观念,并应利用现有的不完善控制算法来提供一个"框架",以促进政策的发展。通过利用现有控制算法对于问题的合理表现,该策略可以学习微调控制系统而不是像大多数RL算法那样从随机行为开始。他们使用这种方法训练机器人进行涉及复杂动力学的实际块组装任务。
Sim2Real在过去几年中,许多研究论文已经证明了他们学习的RL策略在物理机器人平台中运行的能力,但这些通常仅限于狭窄的任务,并且通常需要大量的手动调整才能正常工作。特别是对于使用视觉传感的机器人来说,很难逼真地模拟机器人可能遇到的图像,这就产生了着名的Sim2Real间隙。
在通过模拟可以充分捕获动力学的问题中,RL实际上可以很好地工作,正如所见,其中一个策略被训练为使用模拟学习四足机器人的恢复操作,并且它被转移到真正的机器人非常好,成功率高达97%。然而,在该问题中,与视觉表示不同,状态是相对低维度的。
为了解决应对视觉输入的问题,OpenAI和Berkeley在2017年发表的一篇很好的提供了一个非常简洁的解决方案。随机化环境提供的视觉输入,并训练策略对这些变化非常稳健,希望现实世界只想模拟的另一种变化。
这非常有效,他们能够在真实的机器人抓取系统中使用仅在模拟中训练的物体探测器。
一个非常酷的延续发表在2019年的。在本文中,研究人员使用类似的随机模拟来帮助训练策略是健壮的,但同时训练条件GAN(cGAN)将随机图像转换回原始模拟的规范形式。在测试期间,cGAN将真实图像转换为策略熟悉的规范图像形式,从而有助于减少Sim2Real间隙。使用这种方法,他们在模拟中训练了一个代理,并在成功率为70%的机器人上使用它。在真正的机器人上使用一些微调,他们能够达到91%甚至99%的成功率。
奖励规格
假设您希望您的机器人学会将书籍放在书架中,并且您的算法具有非常低的样本复杂度。如何为此设计奖励功能?在2019年的非常酷的,伯克利的研究人员就是这样做的。它们不是指定奖励函数,而是为算法提供目标状态的几个图像(排列的书架),并且如果当前状态是目标状态,则允许它查询用户(非常少次)。使用r =之前提到的Soft Actor Critic算法和其他几种算法,他们在几个小时内就在一个真实的机器人上训练他们的策略。他们针对不同的任务制定了不同的政策,例如将书籍放在书架上并将布料悬挂在盒子上。
结论
将RL应用于现实世界机器人问题的挑战仍远未被宣布解决,但正在取得很大进展,并且希望我们将继续在这个激动人心的领域看到进一步的突破。