LfO: Imitation Learning from Observation with Automatic Discount Scheduling

ICLR 2024 Poster
paper
人类模仿学习过程是一个渐进的过程,不可能说当下的基础技能没学扎实,就模仿未来的目标。本篇文章便从这一个基本思想出发,通过自适应调整强化学习中折扣因子实现这一目标。实验环境设置在pixel-based observation-only 的演示下的模仿学习。

method

较小的折扣因子会让智能体注重当下但是却会表现得“短视”,因此需要随着训练的进行不断增加。算法通过一个过程识别器 Φ \Phi Φ输出一个0-T的整数k查询进度,以及一个单调递增函数 f γ ( k ) f_\gamma(k) fγ(k)更新 γ \gamma γ用于RL。

Φ \Phi Φ采用计算状态序列的最长单调递增子序列(LIS)。每当接收到最近收集的轨迹时,它就会考虑代理和演示轨迹的前 k + 1 步。如果代理与某些已演示轨迹之间的进度一致性与两个已演示专家轨迹之间的进度一致性相当,那就认为代理当前的策略可以在前 k 步中遵循演示。具体来说,如果下面的不等式成立,就将 k 增加1:
在这里插入图片描述
得到k后便是调整 γ \gamma γ : f γ ( k ) = α 1 / k f_\gamma(k) = \alpha^{1/k} fγ(k)=α1/k,其中 α \alpha α为一个取值0.2的超参数。

算法整体流程如下:
在这里插入图片描述
其中 { r t } t = 1 T − 1 = f r ( τ , D e ) \{r_t\}_{t=1}^{T-1} = f_r(\tau, D^e) {rt}t=1T1=fr(τ,De)为利用在线真实轨迹与专家轨迹设置奖励设定标准,文章采用Ooptimal transport方法, cost fuction采用轨迹间余弦相似度
在这里插入图片描述

def cosine_distance(x, y):
    C = torch.mm(x, y.T)
    x_norm = torch.norm(x, p=2, dim=1)
    y_norm = torch.norm(y, p=2, dim=1)
    x_n = x_norm.unsqueeze(1)
    y_n = y_norm.unsqueeze(1)
    norms = torch.mm(x_n, y_n.T)
    C = (1 - C / norms)
    return C
    
def optimal_transport_plan(X,
                           Y,
                           cost_matrix,
                           method='sinkhorn_gpu',
                           niter=500,
                           epsilon=0.01):
    X_pot = np.ones(X.shape[0]) * (1 / X.shape[0])
    Y_pot = np.ones(Y.shape[0]) * (1 / Y.shape[0])
    c_m = cost_matrix.data.detach().cpu().numpy()
    transport_plan = ot.sinkhorn(X_pot, Y_pot, c_m, epsilon, numItermax=niter)
    transport_plan = torch.from_numpy(transport_plan).to(X.device)
    transport_plan.requires_grad = False
    return transport_plan

结果

算法基于OT算法设置设置奖励,对比GAIFO基于分布匹配的奖励(对抗生成)在某些环境下各有优劣,但是OT结合自适应调整 γ \gamma γ, 实现SOTA的效果(额外的实验中,GAIFO+ADS表现同样有提升,证明ADS模块作用明显)
在这里插入图片描述

同时,OT+ADS对比fixed 折扣因子以及启发式设定 γ \gamma γ变化而言,都有较好的鲁棒性
在这里插入图片描述
文章还设定不同的奖励函数以及表征函数(encoder)对结果的影响,都能体现出ADS+OT性能显著

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值