机器人模仿学习的典型方法

学习用,欢迎讨论!!!!

传统的BC (behavior clone)方法:通过监督学习直接模仿专家轨迹,将机器人状态(state)映射到动作(action)

网络结构:全连接神经网络或者CNN。

输入:当前的状态St(通常是指机器人状态,如末端位置,关节角度等)

输出:给出动作At

BC-RNN:

BC-RNN是BC(behavior clone)中典型的网络结构,相比于使用MLP或者CNN完成状态到动作的映射,将network换成了RNN(循环神经网络),考虑条件序列(通常是指机器人状态,如末端位置,关节角度等)的序列相关性,解决传统BC的短视问题。

网络结构:GRU或者LSTM单元

输入:连续的状态序列ST,  T= t-T,……,t

输出:将最后一个隐状态输出为当前的动作At,或者 可以将多了隐状态输出为动作序列At,T= t-T,……,t。

  1. LSTM-GMM:

一种特殊的BC-RNN,利用LSTM捕捉状态序列的时序信息,将LSTM的隐状态ht,通过全连接神经网络映射到GMM的参数上(包括均值、权重、协方差),这样拥有了动态GMM,对动作分布的拟合效果会更好,动作是从动态的GMM模型上采样得到的。

网络结构:LSTM+全连接神经网络

输入:连续的状态序列ST,  T= t-T,……,t

输出:GMM的参数:均值、权重、协方差

约束条件:计算At,T= t-T,……,t。在生成的GMM模型上的概率,越大越好

传统GMM表示动作:

通常是将一个特定任务,根据时间和空间分为多段,对每一段的示范动作(人类)拟合一个GMM。在推理时(也就是机器人在做任务时),先判断任务的阶段。然后去相应的GMM模型上去采样

IBC:隐式行为克隆

相比于直接用神经网络完成状态到动作的映射,IBC使用一种基于能量函数的方法,达到模仿人类专家动作的目标。能量函数Eθ(S,A)可以对专家的动作打出高分(能量低),对其他负样本(给专家动作加噪声或者随机生成)打出低分(能量高)。

训练出这样的能量函数,当给定当前状态后,就会输出在当前状态下使得能量函数最低的动作

网络的结构及训练过程:

输入:状态-专家动作

输出:训练时:“能量“,推理时:动作

损失函数

   存在问题:能量函数在专家动作附近剧烈变化,导致优化过程不稳定

BET(behavior transformer):

对人类的示范数据先进行一波K均值聚类,得到K均值编码器,得到示范数据的类别索引、类别均值、各个动作和均值的方差offset。

然后将状态序列输入MinGPT(就是transformer)中,得到残差头和分类头;将data中与输入状态序列相对应的示范动作输入K均值编码器,得到示范数据的类别索引和方差offset,和MinGPT的输出计算损失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值