Learning to Combat Compounding-Error in Model-Based Reinforcement Learning

Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
发表时间:2019(NeurIPS 2019 Deep Reinforcement Learning Workshop)
文章要点:这篇文章想说model based方法里面通常model都是imperfect的,就是这个model一般只在局部是准确的,放到全局上看误差会越来越大,所以如果用这个model去planning很多个step的话就会有问题。作者提出了一种基于model error来自适应调整planning horizon的方法来缓解model error带来的影响。具体的,作者定义了h-step model-based value error
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
因为model体现出来的问题就是value估计不准,所以这个是make sense的。这里\(\bar{V}\)是(target) value function,\(P\)就是真正的dynamics,\(\hat{P}\)是planning的model,\(h\)是planning的horizon,\(\hat{P}\)的定义如下
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
这里这个\(\epsilon\)误差就是去比较真正的dynamics planning出来的value和在model上planning出来的value的差。然后文章指出,这个差可以被一个关于Wasserstein Distance的表达式给bound住
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
所以这个误差就被表示成
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
进一步为了用TD learning的方式计算,把这个写成了
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
然后更新就和Q learning一样
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
这里还有一个点是这个误差要基于一个policy \(\pi\)来计算,但是如果这个policy一直变来变去,那model error就不好算了,文章尝试了几种计算方式,这里不细说了。然后剩下的事情就是怎么去adaptive调整horizon长度,作者用soft weighted combination的方式去加权计算
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
其中\(H_{max}\)是先设定的最大horizon长度,权重计算和softmax一致
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
这意思就是说要是误差大,那么计算的时候权重就小,如果都大,那就是\(h=0\)也就是没有planning了。有了这个之后,剩下的事情就是正常的RL过程了, 比如DQN的话就更新Q function
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
总结:挺有意思的想法,就是感觉horizon太短了,都是3,5这种,然后实验环境也比较简单,说服力不太够。
疑问:Throughout the paper we assume that the reward function R is known to the agent,这个假设会不会太强了?
\(W(s,a)\)是怎么根据buffer里的数据算的,P是确定性转移吗?
计算horizon长度的时候,
Learning to Combat Compounding-Error in Model-Based Reinforcement Learning
这里的权重,会不会出现\(h=1\)的时候误差小,\(h=2\)的时候误差大,后面的误差又小这种情况,就是说中间有个地方不准,但是后面又准了?
后面的实验,如果model是直接给的,好像没问题。如果model也是通过数据学的,好像就学不出来了,那要是不能学出来,是不是就不太practical了?

上一篇:通用型二阶卡尔曼滤波算法


下一篇:BIGEMAP如何使用高程DEM建立三维地图模型(Arcgis ArcScene)