SkillAgentSearch skills...

RHER

The Code for Paper “Relay Hindsight Experience Replay: Self-Guided Continual Reinforcement Learning for Sequential Object Manipulation Tasks with Sparse Rewards”

Install / Use

/learn @kaixindelele/RHER
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

RHER: (Ralay-HER)--A Powerful Variant of HER

The official code for the paper “Relay Hindsight Experience Replay: Self-guided continual reinforcement learning for sequential object manipulation tasks with sparse rewards

论文最新版在仓库的RHER_git.pdf中可以查看。

中文版可以在RHER-中文版查看。

欢迎引用和讨论细节。

24.07.10. 拖更一年多的torch版RHER上线了:

代码没有做过多的清洗,花了一个小时做了一下注释。 但我也没有再验证测试,供大家作为一个参考。 感谢大家的理解。

24.04.14. 一段话介绍RHER算法:

<details><summary><code>查看比较长的一段话</code></summary> 经典HER算法在处理物体操作任务的过程中,会遭遇隐藏的“一致非负奖励(INNR)”问题。该问题是由于在探索开始时,机器人无法改变物体坐标(即Achieved-Goal),因而在目标重标记后,所有的扩增样本都是非负奖励,这样的一致非负样本无法给智能体提供有效指导。针对INNR问题,RHER将操作任务分解成多个子任务,从能改变对应Achieved-Goal的子任务开始学习,因此,第一个子任务可以学的非常快(几个Epoch就能学会接近物体)。然后,我们提出一个多目标、多任务网络结构,使得智能体可以同时容纳多个子任务的策略。并且,我们提出自我引导探索策略(SGES),在第一个子任务学会之后,让该策略成为引导策略,在探索第一个阶段时,引导智能体第二个子任务快速接近物体,从而可以快速改变第二个子任务的Achieved-Goal。当第二个子任务的AG可以被智能体改变后,所采集到的样本,就可以通过HER的目标重标记,产生可供策略有效学习的样本,因而第二个子任务也可以快速学会。该方法同样可以拓展到多个物体的序列物操作任务,RHER算法如同接力一样,利用目标重标记学会当前任务,利用SGES的引导让智能体迅速改变下个子任务的AG,直到快速学会完整的任务。RHER算法在数据利用上,通过目标重标记技术,可以做到多个子任务的样本共享,并且由于SGES的引导,避免了INNR问题,因此重标记后的数据可以有效提升策略性能,反过来,好的策略也可以用于后面SGES的引导。在数据采集上,SGES避免了随机探索,保证了交互的有效性,也为数据利用提供了保障。RHER算法由于不涉及动力学模型,不会引入新的偏差,只通过数据采集和数据利用的协同改进,样本效率甚至可以超过当时同期的Model-based算法。当然,RHER算法和MBRL并不冲突,如果精心调整的话,也可以获得更好的样本效率。 </details> <br> <details><summary><code>关于目标和结果的讨论</code></summary> 在HER算法中,三个关于Goal的概念比较让人难以理解,分别是:
  • Desired Goal:期望目标。
  • Achieved Goal:已实现目标。
  • Hindsight Goal:事后目标。

这三个目标在算法中的内涵和实际生活中的概念差异比较大,在这里我只想将这三个概念对接到人的学习过程。其中,Desired Goal对应“目标”,而Achieve Goal对应“结果”。通过这样粗略地替换,可以反过来描述人在学习中遇到的INNR问题(也就是“好高骛远”,或者说“白日做梦”)。即,当一个人把任务目标定的非常遥远的时候,ta手里的资源和能力比较有限,ta的行为根本改变不了对应任务的结果,哪怕ta幻想着自己已经成功了,但这样的成功和ta的行为并无关系,ta也无法通过这样的反思获得什么提升。

</details> <br>

💥💥💥<strong> 24.04.13. 关于2022年在arxiv的预印版与2023年发表在Neurocomputing上的正式版本实验结果差异的解释</strong>

<details><summary><code>查看具体的差异</code></summary>

2022年的实验是在装有GeForce RTX 3090显卡的Ubuntu18.04服务器上进行的,经典任务的实验结果分别为78K和250K。然而,在后续补充其他实验时,3090服务器被其他同学在使用,我可以连续使用的是另一台装有GeForce RTX 2080Ti显卡的Ubuntu18.04服务器。即使算法、环境和随机种子完全相同,在2080Ti服务器上重做经典任务的实验结果也更优,分别为65K和243K(非常神奇的现象,可能的原因是硬件服务器和显卡的差异。好在两次实验结果的差距并不大,大家在复现时仍然能得到类似的结果)。因此,在正式版论文中,我自然采用了表现更好的2080Ti服务器的实验结果(当然,如果大家要引用RHER算法作为对比,也可以使用Arxiv上的数据,因为两组数据都是真实可靠的,哈哈,理解万岁~)。此外,这部分数据之前已经上传到了仓库中,方便大家在做对比时直接将其绘制到曲线图中。最后需要说明的是,新版本论文中RHER的所有实验,包括真机实验,都是在2080Ti服务器上运行得到的。

</details> <br>

💥💥💥<strong> 24.04.10. 之前提出RoMo-HER的群友Yuming告诉我,正式版变更为MRHER算法,已经被IJCNN2024接收。并且Yuming还提出了改进版的SGES算法,可以进一步提高RHER算法的样本效率。得知这个消息,就很令人开心,有一种“接力式”科研探索的样子~~</strong>

💥💥💥<strong> 24.01.11. 群友NoneJou复现了Pytorch版本的RHER,大家要是有需要的话,可以直接参考群友的仓库:PyTorch RHER!复现笔记:RHER复现结果与分析 </strong>

💥💥💥<strong> 10.15. 增加了baseline版本的画图脚本,和论文原始样例数据,方便大家在本工作基础上继续研究!欢迎大家star本仓库,引用RHER算法,感谢! </strong>

💥💥💥<strong> 8.14. 中文版PDF已经上传到仓库:RHER-中文版 </strong>

💥💥💥<strong> 7.24. 本文已被Neurocomputing接收,感谢一路以来所有帮助和支持的朋友和老师! </strong>

💥💥💥<strong> 7.10. 群友Yuming基于RHER算法,提出了RoMo-HER算法。该方法结合基于模型的方案,利用前瞻性虚拟交互,提供虚拟目标用于扩增数据,可以进一步提高了在经典任务FetchPush和FetchPickAndPlace中的样本效率。 </strong> 从论文中可以看出,作者已经独立复现出了我们开源代码的性能。并且,根据实验结果可以看出,即使加入了基于模型的方法,样本效率已经不再有倍数级别的提升,这表明在这两个标准任务中,RHER的样本效率已经足够高,INNR比例的降低确实是影响效率的关键。

Starchart

Star History Chart

~FAYHELW24F4F{G57ZBT}GX

没想到,真的有同学,基于RHER做算法改进!

当初说在readme说,希望RHER能成为新的benchmark,好像隐约能看到点希望了。

作为一个延毕的博士生,看到这篇工作能够得到别人的认可,以及对领域的微小帮助,还是有点莫名的感慨。

最后希望RHER中一些有意思的操作,可以对其他领域有一些启发,比如多智能体的合作,比如逆强化学习,比如“我的世界”这种复杂序列任务的探索,比如基于大语言模型的引导探索。

愿世界美好

最新中文版碎碎念-RHER对我的反向指导:2023-06-23-00am

<details><summary><code>查看最新中文版碎碎念</code></summary> 综合来看RHER对我的反向指导有以下几点: 1. 目标可以是远大的,但要从够一够能够的着的子目标开始努力,这样会事半功倍,效率比较高 2. 对于有人擅长的领域,自己不熟悉的领域,要学会寻求专家智能体的手把手教学,这样效率极高 3. 技能、经验、资源和认知的积累,对你完成复杂任务来说,也是一个必要的过程 4. 在自己探索复杂任务前,要充分意识到目标和自身能力中间的差距,学会切分子任务,学会寻求专家智能体的帮助和指导。

最近熟悉的朋友们都顺利毕业了,而我还在等这篇工作被正式接收,才能毕业,夜深时刻,记录一下最近的感悟。

读博是我自己的一个重大抉择,2018年底的时候,我认为决策,是真正的智能,而当时强化刚开始兴起。

我愿意花四年时间去探索这个领域,希望能在博士期间,做出点拓宽人类认知边界的工作。

现在已经四年整了,我其实还是在和自己的认知作斗争。

我的研究内容其实是我自己研究过程的一个验证。

比如说,我在受到导师指导的过程中发现,刚开始的时候,导师的经验是非常靠谱的,但随着我学习的过程,导师的领域知识已经逐渐OOD了,那么接下来每次组会的详细指导,都可能不会有更好的探索结果。

那么我就提出了我的第一篇有意思的工作,dense2sparse,先dense奖励函数,手把手的教学,然后再sparse奖励函数进行策略提高。

哈哈,这个Motivation是我的论文里面无法说的,希望导师看到了,应该也能理解。

反过来,我的研究,对我自己的学习和生活,也能起到一个反向的指导作用。

比如说RHER里面隐含的一些道理,在我做ChatPaper的时候,就有很多体现。

从2017年的时候,我就希望能够建立一个学术论文翻译平台,希望各位作者能够将自己写的论文,翻译成ta的母语版本,方便本国广大的普通工程师和低年级,或者跨学科的其他研究者阅读。

但是在当时,对我这个智能体来说,这是一个无法实现的目标。

我无论做什么,都没法实现它,甚至于,我的行为对结果都不会有显著的影响。

一般来说,我不是一个双标的人,希望别人付出的同时,我一般也会要求我自己先做到。

我希望大家一起翻译英文论文,那就从我开始做起。

而我只能做我能做的事情,我坚持在知乎和CSDN上分享我自己的阅读笔记,分享我自己的学习教程。

我也坚持开源,一直维护DRLib开源仓库,为社区提供一套比较好用的强化画图的脚本,一套比较好用的HER的复现代码。

在这个过程中,我自己的能力也有了少许提升,我在社区也有了少许的影响力。

等到2023年3月1号,我把手头上的两篇小论文投出去之后,我开始学习LLM的知识,一方面感慨新知识的爆炸,另外一方面也发现ChatGPT的API为了我的目标提供了一个新的机会,我可以利用Chat来做英文论文的总结!

现在的形势变了,不仅环境变了,我也变了。

环境提供了一个新机会,我自己的知识、技能、认知、资源也有了提高。

我还把目标从全文翻译,降低到了全文总结。我的技术栈从编程小白,变成了稍微懂些爬虫,数据处理,并发的小白。

因此我从3.5号开始开发ChatPaper的原型代码,在GPT和朋友的帮助下,3.8号基本上就做出来了。

经过三四年的科研训练,我知道论文的总结,需要哪些关键的内容,因此我可以写出一些比较靠谱的prompts。

第一次看到GPT总结出来的论文效果,让我感到十分的惊艳。

我维护的强化QQ群群友的反馈,让我感觉到,也许这是一个大家都需要的工具。

发到知乎上,知乎的关注者的反馈也非常好。

当时类似的工具只有chatpdf,且他们并没有针对学术做优化,也无法全文总结。

因此,我感觉我做出了一个比较有用的工具。

经过4天的使用和优化,我于3.12号开源到GitHub上。

从这一刻开始,我体会到了环境快速反馈,且dense奖励的快乐了。

因为我之前的社区,以及知乎和B站三年积累下来的关注者,帮我做了第一轮的流量推广。

3.13号,HuggingFace的AK大佬转发了ChatPaper。

多方帮助下,前两天项目的star数迅速上升到了一两百。

3.15号,不知道是哪位大佬的关照,上了GitHub的热榜,直到3.18号。

这时候star数指数级上升,直奔1K star。

读博四年,我第一次充分的感受到工作被认可的成就感,虽然不是我的学术成果。

之后的发展就非常有意思了,作为第一个将Chat应用到科研领域的开源项目,有非常多的同学帮助我一起维护这个项目。

然后我开始尝试带团队,但很明显,我的技能、认知和经验,已经不足以处理这种突然出现的新任务了。

但智能体 智能 的体现在于和环境的交互和学习。

而我的策略则是,偏保守的探索,虽然现在回过头来看,我可能错过了一些机会,或者有一些决策是非最优的。

但没有办法,人生无法reset,我只有一次探索机会,我的认知不够的情况下,我只能做出那样的决策。

现在已经过去三个月了,经过这三个月的探索和学习,我现在的认知和技能又有了一些提升,如果下次再有类似的机会,我想,我应该会做的更好。这也是RHER里面,自我引导持续强化学习 的一个体现。

再回到最初的目标,17年的时候,我就想着,能够把最新的英文学术成果,翻译成中文。

现在是我距离这个目标最近的一次。

我有了一个比较火的开源项目,让我有机会认识更多厉害的人,也会有更多的人认可我,愿意帮助我。

比如说学术版GPT的作者,他做了一个arXiv的全文翻译的功能。

我第一次看到这个功能的时候,我就说,他创建了一个学术“巴别塔”。

我知道,17年的目标,大概是可以够的着了,如果把那个目标当成是desired goal的话,现在应该已经接近最后一个stage了。

在得到qingxu的支持下,以及黄老师的帮助下,我们终于将这个功能上线到了chatpaper.org上。

现在距离我们最后的目标,把所有的优质论文翻译展示到首页上,形成一个非常好的文献阅读社区,还有一定的距离。

但是我相信,我们正在step by step的去实现它。

我相信我们现在做的这项工作是有价值的,世界上那么多非英语母语的工程师、低年级的学生、其他领域的研究者,他们如果可以用母语去阅读最新的科技论文时,是可以极大的拓宽大家的认知的。

而语言这个门槛如果存在的话,在实现{学习最新科技进展}目标的过程中,凭空多了一个gap,或者用RHER中的概念,就是多了一个学习英语的stage,否则根本无法完成这个任务。

RHER解决的是RL agent在复杂序列任务中探索和学习效率的问题,我一直希望能将这个工作拓展到其他领域。

前段时间有同学将这个工作拓展到了Model-based架构中,可惜因为写作原因,第一次投稿被拒了。

我也想过其他的领域,比如多智能体的合作探索,但目前的强化仿真任务都很难切分子任务和离散的任务阶段,除了物体操作任务之外,也就我的世界比较合适,但暂时我对我的世界的环境还不熟悉,其他感兴趣的同学可以试试这个结合。

经过这么长时间的反思,我发现,最符合的还是我们人类的日常任务,很多任务都是复杂序列任务,前置任务没完成,是无法解决最终目标的。而人类场景的一些任务,让传统的强化去完成,可能比较困难,后面需要让LLM结合自我引导的一些概念,去实现才比较合适。

PhD本意是哲学博士,底层的方法论确实是有异曲同工之妙。我现在非常希望RHER这篇工作能被顺利接受,这样我就可以写我的博士大论文了,我想我的博士论文应该是对社区有帮助的。

GPT4的出现,一度让我感到焦虑和对人类未来感到担忧,我担心一个认知和决策能力超过多数人类的模型的出现,会让很多人成为GPT的附庸,听从GPT的决策。

经过这三个月的交互和反馈,我还是坚持当时开源ChatPaper时的努力,我希望我和伙伴们的工作,能够帮助我们人类自己在AI快速迭代的时代中,也能和AI一起进化。

不管是AI4Science,还是其他,我希望AI4Human。

为了实现这样的目标,后面还有很多东西要做,还有很多坑需要探索。

好在每一次遇到我不会的问题,都能得到对应domain的expert agent的guidance,让我得以快速解决问题且学会新的技能,从而去完成更加有挑战性的工作。

希望在这个有限的,仅有一次的生命中,在这个极具变化的时代中,做出点微小的贡献,希望在我擅长的领域,可以帮助到其他的learning agent。

太晚了,思路零散,想到什么说什么,先发出来,和各位共勉。

</details>

We express our gratitude for the expert guidance!

With the advice of the expert, we evaluated the cost of our solution in detail. After all, there is no free lunch, but by comparison, our solution only needs to pay a small price, which can greatly reduce the learning time of the whole task. It can be easily calculated from the table that in the multi-object tasks, the memory and computation time have a simple linear relationship with the number of objects, and the linear increase coefficient is very low.

image

In addition, with the advice of experts, we investigated more than 40 paper on multi-task reinforcement learning in the past five years, and found that our zero-padding encoding also has certain promotion value in the field of multi-task reinforcement learning, especially in the field of robot manipulation tasks, dynamic objects and goal tasks. RHER's framework really suits the new backbone in the field of robot manipulation tasks.

Even in the era of LLMs, the idea of self-guided exploration can also enable LLms-based methods to achieve a stable exploration. We're trying it out, so stay tuned!

💥💥💥<strong> 4/12/2023. RHER vs SOTA HER-based method, EBP, based on Energy-Based Hindsight Experience Prioritization

</details> </strong>

RHER_SOTA

Under the more realistic single CPU core setting, although the EBP algorithm has achieved a great improve

Related Skills

View on GitHub
GitHub Stars159
CategoryEducation
Updated12d ago
Forks12

Languages

Python

Security Score

95/100

Audited on Mar 25, 2026

No findings