robomimic基础教程(三)——自带算法

robomimic自带几个高质量的离线学习算法的实现,包括模仿学习和强化学习,并提供相关工具来辅助你轻松构建自己的学习算法

一、模仿学习(Imitation Learning)

1. BC (Behavioral Cloning)

Vanilla Behavioral Cloning, 旨在通过监督学习方式,将观察(状态)映射为行动(动作),以模仿人类或其他专家的行为。这种方法的核心思想是将专家的示范数据用作训练集,让模型学习专家在特定环境下的行为决策方式。

算法位置:Implemented in the BC class in algo/bc.py

包含一些变体如 BC_GMM (stochastic GMM policy) and BC_VAE (stochastic VAE policy)。

PS:均在bc.py中可找到

2. BC-RNN

Behavioral Cloning with an RNN network,在BC基础上,结合循环神经网络(RNN,Recurrent Neural Networks)的一种模仿学习方法。它适用于序列数据或时间依赖性任务,能够利用历史状态信息来预测当前的动作,旨在处理具有时间关联的行为决策问题。

算法位置:Implemented in the BC_RNN and BC_RNN_GMM (recurrent GMM policy) classes in algo/bc.py

3. BC-Transformer

Behavioral Cloning with an Transformer network,将Transformer引入BC的一种先进模仿学习方法。与 BC-RNN 类似,BC-Transformer 旨在处理具有时间依赖性或序列特征的任务,但通过利用 Transformer的自注意力机制,它克服了RNN网络的一些局限性,如长序列处理中的梯度消失问题。

算法位置:Implemented in the BC_Transformer and BC_Transformer_GMM (transformer GMM policy) classes in algo/bc.py

4. HBC

Hierarchical Behavioral Cloning,是BC一种层次化扩展版本,通过引入层次结构(Hierarchy),将行为克隆任务分解为多个层次,适合处理复杂的多步任务或需要长时间规划的场景。相比于普通BC,HBC能够更好地处理复杂决策,尤其是在任务分解或多阶段决策中具有优势。

算法位置:Implemented in the HBC class in algo/hbc.py

二、离线强化学习(Offline Reinforcement Learning)

1. IRIS (Iterative Reweighted Policy Iteration with Sampling)

IRIS: Implicit Reinforcement without Interaction at Scale for Learning Control from Offline Robot Manipulation Data

IRIS通过对Policy和价值函数进行迭代优化,最大化从Batch Data中学到的策略表现

核心思想:

Policy Iteration:IRIS 使用迭代加权政策优化,通过分阶段优化政策和价值函数来改进策略

Reweighting:在优化过程中,IRIS 通过对样本的权重进行动态调整,使得与当前策略最相关的状态和动作在训练过程中具有更高的权重

Sampling:IRIS 还在采样策略上进行改进,确保采样分布更加关注那些对策略表现提升最为关键的状态和动作

算法位置:Implemented in the IRIS class in algo/iris.py

2. BCQ (Batch-Constrained Q-learning)

Off-Policy Deep Reinforcement Learning without Exploration

BCQ解决了传统Q-learning在离线数据中的Distributional Shift问题

核心思想:

Batch Constraint:BCQ 通过约束学习的 Q 函数,使其只能选择与训练数据(批量数据)中类似的动作,避免从未见过的数据中推断出不合理的策略

Perturbation Model:BCQ 使用一个小的扰动模型,允许对动作进行微调,从而保证策略的探索性和稳定性

算法位置:Implemented in the BCQ class in algo/bcq.py

3. CQL (Conservative Q-Learning)

Conservative Q-Learning for Offline Reinforcement Learning

CQL目标是通过对Q值进行保守估计,防止策略选择未知的、可能次优的动作

核心思想:

Conservative Estimation:CQL 在优化Q函数时,主动压低对未观测到的状态-动作对的Q值估计,从而确保策略不会倾向于选择离线数据中未见过的动作

Penalizing Actions Outside the Batch:CQL 会对不在离线数据中的动作进行惩罚,从而使得策略更加集中在已知的安全动作上

算法位置:Implemented in the CQL class in algo/cql.py.

4. IQL (Implicit Q-Learning)

Offline Reinforcement Learning with Implicit Q-Learning

IQL采用了隐式策略优化方法,通过隐式Q函数估计避免显式的策略约束

核心思想:

Implicit Policy Optimization:IQL不直接学习策略,而是通过优化Q函数的目标,隐式地引导策略的更新

Advantage-Based Updating:IQL 通过只更新高于某一阈值的策略来减少错误策略更新的可能性

算法位置:Implemented in the IQL class in algo/iql.py.

5. TD3-BC

A Minimalist Approach to Offline Reinforcement Learning

TD3 是一种用于连续控制任务的强化学习算法,通过延迟更新和双重网络结构来减少过度估计和提高策略的稳定性

核心思想:

Behavioral Cloning:TD3-BC 结合了行为克隆技术,通过直接模仿离线数据中的策略行为,从而加速训练并避免离线数据带来的偏差问题

算法位置:Implemented in the TD3_BC class in algo/td3_bc.py

相关推荐
YSGZJJ1 小时前
股指期货的套保策略如何精准选择和规避风险?
人工智能·区块链
无脑敲代码,bug漫天飞1 小时前
COR 损失函数
人工智能·机器学习
盼海1 小时前
排序算法(五)--归并排序
数据结构·算法·排序算法
幽兰的天空1 小时前
Python 中的模式匹配:深入了解 match 语句
开发语言·python
HPC_fac130520678162 小时前
以科学计算为切入点:剖析英伟达服务器过热难题
服务器·人工智能·深度学习·机器学习·计算机视觉·数据挖掘·gpu算力
网易独家音乐人Mike Zhou4 小时前
【卡尔曼滤波】数据预测Prediction观测器的理论推导及应用 C语言、Python实现(Kalman Filter)
c语言·python·单片机·物联网·算法·嵌入式·iot
安静读书4 小时前
Python解析视频FPS(帧率)、分辨率信息
python·opencv·音视频
小陈phd4 小时前
OpenCV从入门到精通实战(九)——基于dlib的疲劳监测 ear计算
人工智能·opencv·计算机视觉
Guofu_Liao5 小时前
大语言模型---LoRA简介;LoRA的优势;LoRA训练步骤;总结
人工智能·语言模型·自然语言处理·矩阵·llama
小二·6 小时前
java基础面试题笔记(基础篇)
java·笔记·python