AWAC:使用离线数据集加速在线强化学习技术博客技术支持京天机器人官网

该方法通过从先前的数据集(专家演示,先前的实验数据或随机探索数据)进行离线训练,然后通过在线交互快速进行微调来学习复杂的行为

经过强化学习(RL)训练的机器人有潜力用于各种挑战性的现实世界中的问题。要将RL应用于新问题,通常需要设置环境,定义奖励功能,并通过允许机器人从头开始探索新环境来训练机器人解决任务。尽管这最终可能行得通,但是这些“在线”RL方法非常耗费数据,并且针对每个新问题重复执行这种数据效率低下的过程,因此很难将在线RL应用于现实世界中的机器人技术问题。如果我们能够在多个问题或实验之间重用数据,而不是每次都从头开始重复数据收集和学习过程。这样,我们可以大大减少遇到的每个新问题的数据收集负担。

图1:使用离线数据集加速在线RL的问题。在(1)中,机器人完全从离线数据集中学习策略。在(2)中,机器人可以与世界互动并收集策略样本,以改进策略,使其超出脱机学习的范围。

我们使用标准基准HalfCheetah移动任务来分析从离线数据学习和后续的微调问题中的挑战。以下实验是使用先前的数据集进行的,该数据集包含来自专家策略的15个演示和从这些演示的行为克隆中采样的100个次优轨迹。

图2:与非策略方法相比,基于策略的方法学习起来较慢,这是因为非策略方法能够“缝合”良好的轨迹,如左图所示右:在实践中,我们看到在线改进缓慢使用策略上的方法。

1.数据效率

利用诸如RL演示之类的先前数据的一种简单方法是,通过模仿学习对策略进行预训练,并通过基于策略的RL算法(例如AWR或DAPG)进行微调。这有两个缺点。首先,先验数据可能不是最佳的,因此模仿学习可能无效。第二,基于策略的微调是数据效率低下的,因为它不会在RL阶段重用先前的数据。对于现实世界的机器人技术而言,数据效率至关重要。考虑右边的机器人,尝试以先前的轨迹达到目标状态T1和T2。策略上的方法不能有效地使用此数据,但是可以有效地“缝合”进行动态编程的策略外算法T1和T2以及使用价值函数或模型。在图2的学习曲线中可以看到这种效果,其中按策略使用的方法要比按策略使用的参与者批评方法慢一个数量级。

图3:使用离线策略RL进行离线培训时,引导错误是一个问题。左:该策略利用了远离数据的错误Q值,从而导致Q函数的更新不佳。中:因此,机器人可能会执行超出分配范围的动作。正确:引导错误在使用SAC及其变体时会导致不良的离线预训练。

原则上,该方法可以通过贝尔曼自估计未来回报的价值估计V(s)或行动价值估计Q(s,a),从非政策性数据中高效学习。但是,当将标准的非策略参与者批评方法应用于我们的问题(我们使用SAC)时,它们的性能较差,如图3所示:尽管重放缓冲区中已有数据集,但这些算法并未从脱机中显着受益训练(通过比较图3中的SAC(从头开始)和SACfD(在先)行可以看出)。此外,即使策略已通过行为克隆进行了预训练(“SACfD(预训练)”),我们仍然会观察到性能最初出现下降。

此挑战可归因于策略外引导错误累积。在训练期间,Q估计值将不会完全准确,尤其是在推断数据中不存在的动作时。策略更新利用了高估的Q值,使估计的Q值更糟。该问题如图所示:错误的Q值导致对目标Q值的错误更新,这可能导致机器人采取较差的措施。

3.非平稳行为模型

诸如BCQ,BEAR和BRAC之类的现有脱机RL算法建议通过防止策略偏离数据太远来解决引导问题。关键思想是通过将策略π限制为接近“行为策略”πβ来防止引导错误,即重播缓冲区中存在的动作。下图说明了这个想法:通过从πβ采样动作,可以避免利用远离数据分布的错误Q值。

但是,πβ通常是未知的,尤其是对于脱机数据,必须从数据本身进行估计。许多离线RL算法(BEAR,BCQ,ABM)明确地将参数模型拟合到来自重播缓冲区的πβ分布的样本。在形成估计值后,现有方法以各种方式实施策略约束,包括对策略更新的惩罚(BEAR,BRAC)或针对策略训练的采样动作的体系结构选择(BCQ,ABM)。

尽管具有约束的离线RL算法在离线状态下表现良好,但仍难以通过微调来改进,如图1中的第三幅图所示。我们看到,纯离线RL性能(图1中为“0K”)要好得多。比SAC。但是,通过在线微调的其他迭代,性能提高非常缓慢(从图1中的BEAR曲线的斜率可以看出)。是什么原因导致这种现象?

问题在于当在微调期间在线收集数据时,要建立一个准确的行为模型。在脱机设置中,行为模型仅需训练一次,但在在线设置中,必须在线更新行为模型以跟踪传入数据。在线(在“流”环境中)训练密度模型是一个具有挑战性的研究问题,在线和离线数据的混合导致了潜在的复杂多模式行为分布,这使难度变得更大。为了解决我们的问题,我们需要一种策略外的RL算法,该算法会约束该策略以防止脱机不稳定和错误累积,但并不过于保守,以至于由于行为建模不完善而无法进行在线微调。我们提议的算法(将在下一部分中讨论)通过采用隐式约束来实现。

图4:AWAC的示意图。高权重的过渡将以高权重回归,而低权重的过渡将以低权重回归。右:算法伪代码。

那么,这在解决我们较早提出的问题方面的实际效果如何?在我们的实验中,我们表明,我们可以从人类示范和非政策性数据中学习困难,高维,稀疏的奖励灵巧操纵问题。然后,我们使用随机控制器生成的次优先验数据评估我们的方法。本文还包括标准MuJoCo基准环境(HalfCheetah,Walker和Ant)的结果。

灵巧的操纵

图5.顶部:在线培训后显示的各种方法的性能(笔:200K步,门:300K步,重新安置:5M步)。下图:显示了具有稀疏奖励的敏捷操作任务的学习曲线。步骤0对应于离线预训练后开始在线训练。

我们的目标是研究代表现实世界机器人学习困难的任务,其中最重要的是离线学习和在线微调。其中一种设置是Rajeswaran等人在2017年提出的一套灵巧操作任务。这些任务涉及使用MuJoCo模拟器中的28自由度五指手进行复杂的操作技能:笔的手旋转,通过解锁手柄打开门,捡起球体并将其重新定位到目标位置。这些环境面临许多挑战:高维动作空间,具有许多间歇性接触的复杂操纵物理以及随机的手和物体位置。这些环境中的奖励功能是任务完成的二进制0-1奖励。Rajeswaran等。为每个任务提供25个人工演示,虽然这些演示不是完全最佳的,但确实可以解决任务。由于此数据集非常小,因此我们通过构造行为克隆策略,然后从该策略中进行采样,又生成了500条交互数据轨迹。

使用脱离策略的RL进行强化学习的优势在于,我们还可以合并次优数据,而不仅仅是演示。在本实验中,我们使用Sawyer机器人在模拟的桌面推动环境中进行评估。

为了研究从次优数据中学习的潜力,我们使用了由随机过程生成的500条轨迹的非政策数据集。任务是将对象推入40cmx20cm目标空间中的目标位置。

结果显示在右图中。我们看到,尽管许多方法以相同的初始性能开始,但是AWAC可以在线上最快地学习,并且实际上能够有效地使用离线数据集,这与某些完全无法学习的方法相反。

能够使用先前的数据并在新问题上快速进行微调,为研究开辟了许多新途径。我们对使用AWAC从RL中的单任务机制到多任务机制以及任务之间的数据共享和通用化感到非常兴奋。深度学习的优势在于其在开放世界环境中进行概括的能力,我们已经看到,它改变了计算机视觉和自然语言处理的领域。为了在机器人技术中实现相同类型的概括,我们将需要利用大量先验数据的RL算法。但是机器人技术的一个主要区别是,为一项任务收集高质量的数据非常困难-通常与解决任务本身一样困难。这与例如计算机视觉相反,在计算机视觉中,人可以标记数据。因此,主动数据收集(在线学习)将成为难题的重要组成部分。

这项工作还提出了许多算法方向。请注意,在这项工作中,我们专注于策略π和行为数据πβ之间的不匹配动作分布。在进行非政策学习时,两者之间的边际状态分布也不匹配。凭直觉,考虑两个解决方案A和B的问题,其中B是更高收益的解决方案,而非政策性数据则说明了提供的解决方案A。即使机器人在在线浏览过程中发现了解决方案B,非策略数据仍主要包含来自路径A的数据。因此,Q函数和策略更新是针对遍历路径A时遇到的状态进行计算的,即使它不会遇到这些状态执行最佳策略时。以前已经研究了这个问题。考虑到两种类型的分布不匹配,可能会导致采用更好的RL算法。

最后,我们已经在使用AWAC作为加快研究速度的工具。当我们着手解决任务时,我们通常不会尝试使用RL从头开始解决它。首先,我们可以遥控机器人以确认任务可以解决;那么我们可能会进行一些硬编码的策略或行为克隆实验,以查看简单的方法是否已经可以解决它。使用AWAC,我们可以保存这些实验中的所有数据,以及其他实验数据(例如超参数扫描RL算法时的数据),并将其用作RL的先前数据。

DonghuRobotLaboratory,2ndFloor,BaoguInnovationandEntrepreneurshipCenter,WuhanCity,HubeiProvince,ChinaTel:027-87522899,027-87522877

THE END
1.离线算法vs在线算法离线和在线不是具体的某种算法公式,而是一种思维模式,取决于在所给的问题背景下,数据资源是否能够通盘考虑,或是现实场景中不断地有新数据介入 离线算法(OfflineAlgorithm) 离线算法是指在开始处理数据之前,所有需要的输入数据都是已知的。算法可以一次性读取所有数据,然后进行处理。离线算法通常用于批处理场景,例如数据https://blog.csdn.net/m0_61678439/article/details/141088418
2.离线算法离线算法 离线算法( off line algorithms),是指基于在执行算法前输入数据已知的基本假设,也就是说,对于一个离线算法,在开始时就需要知道问题的所有输入数据,而且在解决一个问题后就要立即输出结果。通常将这类具有问题完全信息前提下设计出的算法称为离线算法( off line algorithms)https://baike.baidu.com/item/%E7%A6%BB%E7%BA%BF%E7%AE%97%E6%B3%95/9527963
3.TheZealous的集训日常之离线算法与在线算法区别TheZealous1.离线算法:就是在处理之前必须得到所有数据的算法,像是线段树之类的。这类算法一般不依赖于预处理,只是在多次请求后集中处理问题。 2.在线算法:和离线算法相反,在线算法处理问题时无须得知所有数据,每次得到请求后及时处理,等待下个请求,像是st之类的。这类算法比较依赖于预处理,预处理过后,处理每次请求能更快一点https://www.cnblogs.com/TheZealous/p/15130679.html
4.推荐算法中的在线学习和离线学习有何区别,各自的优缺点是什么在线学习和离线学习是推荐算法中常见的训练方式,各自有不同的优缺点。在实际应用中可以根据需求选择合适的方式或结合两者优势。https://www.mbalib.com/ask/question-ec5c1bbee149c6534d0a725ffdb15235.html
5.推荐系统完整的架构设计和算法(协同过滤隐语义)流式训练:、流式训练模块的主要作用是使用实时训练样本来更新模型。推荐算法中增量更新部分的计算,通过流式计算的方式来进行更新。在线训练的优势之一,是可以支持模型的稀疏存储。训练方面,在线模型不一定都是从零开始训练,而是可以将离线训练得到的模型参数作为基础,在这个基础上进行增量训练。 https://cloud.tencent.com/developer/article/1508050
6.在对齐AI时,为什么在线方法总是优于离线方法?澎湃号·湃客尽管这些假设听上去似乎是对的,但实验结果表明它们无法可信地解释在线和离线算法的性能差距。 他们通过消融研究发现,提升离线优化的一种有效方法是生成分布上接近起始 RLHF 策略(这里就刚好是 SFT 策略)的数据,这本质上就模仿了在线算法的起始阶段。 优化性质 https://www.thepaper.cn/newsDetail_forward_27434433
7.机器学习RLHF:在线方法与离线算法在大模型语言模型校准中的然而,随着离线对齐算法的迅速崛起,RLHF所面临的挑战也日益严峻。本文将从RLHF的基本概念入手,探讨在线方法与离线算法在大型语言模型校准中的优劣,并通过实验和代码实例加以佐证。 二、RLHF概述 RLHF是一种结合人类反馈与强化学习的技术,旨在通过人类反馈来优化语言模型的输出。其基本思想是通过预先训练好的语言模型生成https://developer.aliyun.com/article/1542161
8.离线强化学习图18-2 在线算法(橙色)和对应的离线算法(蓝色)的实验结果,从左到右依次为完全回放、同步训练、模仿训练 让人惊讶的是,3 个实验中,离线 DDPG 智能体的表现都远远差于在线 DDPG 智能体,即便是第二个实验的同步训练都无法提高离线智能体的表现。在第三个模仿训练实验中,离线智能体面对非常优秀的数据样本却什么都https://hrl.boyuai.com/chapter/3/%E7%A6%BB%E7%BA%BF%E5%BC%BA%E5%8C%96%E5%AD%A6%E4%B9%A0/
9.人工智能团队研究成果在TKDE发表:样本高效的离线转在线强化学习算法近期,吉林大学人工智能学院、未来科学国际合作联合实验室人工智能团队在IEEE Transactions on Knowledge and Data Engineering上发表题为“Sample Efficient Offline-to-Online Reinforcement Learning”的研究工作。该研究提出了一种样本高效的离线转在线强化学习算法,通http://icfs.jlu.edu.cn/info/1007/3101.htm
10.《高级算法设计与分析》试卷及答案卷2.docx最小生成树的总代价小于等于旅行商回路的总代价对T进行按先序往返遍历,其总代价小于等于2倍的旅行商回路的总代价算法的总代价大于等于对T进行按先序往返遍历的总代价下面对在线算法和离线算法比较,以下描述错误的是:即使数据在计算时都已知,也可以采用在线算法来达到更好的结果在线算法通常是近似算法通常通过和离线最https://www.renrendoc.com/paper/365498544.html
11.在线匹配问题研究进展:如何应对一般图以及顶点全在线的挑战?在STOC90会议中,Karp, Vazirani和Vazirani三位学者首次提出了在线二分图匹配模型:假设存在一个潜在的二分图 其中一侧顶点为离线顶点(直接给定),而另一侧顶点为在线顶点(逐步到达)。我们要求算法在任何一个在线顶点输入的时间点(此时与中顶点的边同时给出),即时地决定是否将与中某一相邻顶点匹配,并且决策不能反悔。https://www.orsc.org.cn/wechat/article/detail?id=760
12.在线学习算法研究与应用首先,bdi-CTR算法是离线算法,无法适应流式的数据或者现实中的大数据场景;其次,bdi-CTR算法首先用LDA计算产品相关的主题表达,然后把该结果推送到PMF求解过程中,它忽略了 PMF对LDA的作用,也就是说,该算法并没有考虑推荐预测信息对LDA推导主题模型的作用。因此本文提出了一个在线联合推导算法obi-CTR。提出的算法不但https://cdmd.cnki.com.cn/Article/CDMD-10335-1017251232.htm
13.OMManagementScience(管理科学)2022年3月论文精选我们的算法平衡了产品的受欢迎程度和多样性间的关系,即吸引大量异质客户。我们证明了我们的学习算法可以收敛到一个排序,且与完全信息下,最知名的近似因子离线算法相吻合。最后,我们与Wayfair(一个具有数十亿美元的家居用品在线零售商)合作,通过对实际点击数据的模拟评估我们算法在实践中的性能,结果显示,我们的算法可以https://www.shangyexinzhi.com/article/4973256.html
14.Batch,是深度学习中的一个重要概念在线学习无法实现上述功能,因为数据并没有被存储,不能反复获取,因此对于任何固定的参数集,无法在训练集上计算损失函数,也无法在验证集上计算误差。这就造成在线算法一般来说比离线算法更加复杂和不稳定。但是离线递增算法并没有在线算法的问题,因此有必要理解在线学习和递增算法的区别。 https://m.elecfans.com/article/664001.html
15.漫话地图数据处理之道路匹配篇文化&方法高德技术实时算法主要用于在线导航,时间和空间复杂度低,离线算法用于数据处理的离线计算,算法复杂,追求最高准确度。 空间距离 线要素的匹配,主要通过几何、拓扑或语义相似度来进行识别,其中通过空间距离来进行要素匹配的常用方式有: 闵可夫斯基距离(Minkowski Distance) https://www.infoq.cn/article/aXrXVv5H801wkkhEkDOv
16.基于改进人工势场法的无人机在线航路规划算法AET基于APF算法的在线航路规划在按照参考航路运行中,压线能力出众,并有平滑航迹的功能。对改进后的无人机在线航路算法进行仿真,首先对无人机的航路进行离线规划,设置禁飞区后规划无人机参考航路和新的雷达威胁源,在线规划结果如图8所示。 由图8可以看出,自适应APF和传统APF方法在应对雷达威胁源的处理基本相似,均能尽可能http://www.chinaaet.com/tech/designapplication/3000079906
17.美团点评容器平台HULK的调度系统调度计算模块(资源调度算法) HULK调度系统的调度计算方式与诸多业界调度系统类似,通过过滤+打分的方式筛选出“最优部署位置”: HULK调度任务 宿主机(Host):调度资源池中共享的宿主机集群,支持pool级别硬隔离,如在线服务与数据库/缓存的实例部署在不同的物理机集群中;支持资源软隔离,如在线服务离线任务混布部署,通过cgrhttps://tech.meituan.com/hulk_scheduler_introduction.html
18.在自学的情况下如何成为一名算法工程师?除了离线的算法之外,在 2015 年的 12 月份了解到了能够在线学习的 FTRL 算法。调研了之后在 2016 https://s.zhihu.com/BRV0k
19.夜深人静写算法(六)最近公共祖先英雄哪里出来我们知道,一个普通的无向图求两点间最短距离可以采用单源最短路,将时间复杂度大致控制在O(nlogn),但是当询问足够多的时候,这并不是一个高效的算法。从树的性质可知,树上任意两点间有且仅有一条简单路径(路径上没有重点和重边),所以树上任意两点间的最短距离其实就是这条简单路径的长度。如图一-1-1所示,要http://www.cppblog.com/menjitianya/archive/2015/12/10/212447.html
20.年终总结&算法数据的思考&结尾彩蛋RecSys2013的best paper通过调整节点顺序从而优化矩阵分块策略,极大改善了矩阵分解算法的效率,你就要去跟踪来更新自己的旧有离线算法;微软亚研搞出了一个Light LDA允许在低网络流量下去做LDA的多机并行,你就要兴冲冲地跑过去读他们啰啰嗦嗦的几十页的paper,因为终于不用忍受LDA低劣的性能了,而这些追踪往往是无穷无尽https://www.douban.com/note/472267231/?qq-pf-to=pcqq.group
21.ST算法51CTO博客求LCA(最近公共祖先)的算法有好多,按在线和离线分为在线算法和离线算法。 离线算法有基于搜索的Tarjan算法较优,而在线算法则是基于dp的ST算法较优。 首先说一下ST算法。 这个算法是基于RMQ(区间最大最小值编号)的 而求LCA就是把树通过深搜得到一个序列,然后转化为求区间的最小编号。 https://blog.51cto.com/u_10970600/6175666