RL论文阅读9-mb-MBMF2017

1. Tittle

Neural Network Dynamicsfor Model-Based Deep Reinforcement Learningwith Model-Free Fine-Tuning
image-20200519140222146

source

2. 标签

  • Model-Based

3. 总结

3.1 针对问题

  • model free算法的data efficiency 低

3.2 解决办法

使用深度神经网络表示的环境动力学模型来初始化model-free的学习器。从而加速学习过程。

提出的方法能够在高维度的任务中有较好的表现。

4. 原理

4.1 神经网络动力学模型

  • 标记 f ^ θ ( s t , a t ) \hat f_\theta(s_t,a_t) f^θ(st,at)
  • 输入 s t , a t s_t,a_t st,at,状态和动作
  • 输出:下一个预测状态与输入状态之间的改变量。

因为直接预测下一个状态比较困难,特别是前后两个状态很接近或者 △ t \triangle t t很小时。

所以 s ^ t + 1 = s t + f ^ θ ( s t , a t ) \hat s_{t+1} = s_t +\hat f_\theta(s_t, a_t) s^t+1=st+f^θ(st,at)

△ t \triangle t t长短的利与弊:

  • 增长,提升每个数据点信息的可用性,有助于动力学模型的学习和使用学习到的模型做预测
  • 但是,增长会提高时间连续的动力学模型的离散型和复杂度,这会使学习的过程更困难。

4.2 模型的训练

数据收集

  • 采样开始状态
  • 在每个时间步执行随机动作
  • 记录长度为T的轨迹 τ = ( s 0 , a 0 , . . . s T − 2 , a T − 2 , s T − 1 ) \tau = (s_0,a_0,...s_{T-2},a_{T-2},s_{T-1}) τ=(s0,a0,...sT2,aT2,sT1)

数据处理

把轨迹 τ \tau τ处理成 s t + 1 − s t s_{t+1}-s_t st+1st。 这样输入就有输入和输出的example了。

把example(输入和输出)减去平均值再除以数据的标准差,以确保损失函数能够平等的权衡每个特征。

同时加入了均值为0的高斯噪声,提高模型的健壮性。

存入到 D D D数据集

模型训练

最小化如下误差:

image-20200519170358977

这个误差函数保证了下一个状态预测的准确性。但是我们还需要知道模型多步预测的准确性,因为我们要进行多步控制。使用下面这个H步误差来进行模型的评估:

image-20200519170700170

这个H步验证只用来分析模型好坏,不参与训练。

Model-Based的控制

这里假设奖励函数 r ( s t , a t ) r(s_t,a_t) r(st,at)已知。

为了能够同时使用模型奖励函数,添加了一个controller,用来计算和选择最优动作。

image-20200519171041881

由于r和动力学模型都是非线性的,直接计算等式4的最优结果很困难。前人已经提出了一些有效的解决方法。这篇文章选用的是simple random-sampling shooting method。 随机再生产K组候选动作序列,使用动力学模型生成相应的状态序列,然后计算每个的奖励,选择累计奖励期望最高的动作序列。

使用MPC(Model predictive control)策略,即执行第一个动作 a t a_t at后,到达新的状态,然后在该状态重新计算最优的动作序列,然后再选择第一个动作。高维动作区间和长步骤使用随机MPC可能不充分。

使用动力学模型加上controller的好处是模型只需要训练一次,通过简单的修改reward function,我们就能够在运行时完成各种目标,不需要为了指定任务去重新训练。

image-20200519173152218

在算法描述中,要注意的是训练模型的数据集是两个部分$ D_{RAND}和D_{RL} , 也 就 是 在 训 练 模 型 时 整 合 了 o n − p o l i c y 的 数 据 ,也就是在训练模型时整合了on-policy的数据 onpolicy D_{RL}$。

4.3 MB-MF整合

上述纯的MB算法虽然只需要很少的数据,但是最终的表现不如MF的算法。所以把这两个结合起来。

结合的方法是训练model-free的策略去模仿我们model-based方法的controller,并且使用模仿学习的结果,来初始化model-free的学习算法,这样加速了前期的学习过程。

step1: 初始化Model-Free Learner

收集MPC Controller根据动力学模型产生的样本轨迹,把他们存放到 D ∗ D^* D中。

然后训练策略网络 π ϕ ( a ∣ s ) \pi_{\phi}(a|s) πϕ(as)。这个策略服从高斯分布 π ϕ ( a ∣ s ) ∼ N ( μ ϕ ( s ) , Σ π ϕ ) \pi_{\phi}(a|s) \sim N(\mu_\phi(s), \Sigma_{\pi_\phi}) πϕ(as)N(μϕ(s),Σπϕ)

那么这个策略的优化目标就是:

image-20200519180242085

使用的是DAGGER算法。

step2: 使用这个策略通过model-free算法来继续学习。比如TRPO。来微调策略从而达到较高的水平。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值