Learning Latent Dynamics for Planning from Pixels

Learning Latent Dynamics for Planning from Pixels
发表时间:2019(ICML 2019)
文章要点:文章提出了一个叫Deep Planning Network (PlaNet)的模型来学习环境的dynamics,然后用online planning的方式在这个模型构建的latent space上进行planning得到action。这里面的关键就是model要能够准确预测多步的reward(the dynamics model must accurately predict the rewards ahead for multiple time steps),作者的方法同时考虑了dynamics的确定性和随机转移,并将目标函数转换成一个multi-step variational inference objective进行训练,取得了很好的效果。
具体的,这个PlaNet包含四个model,Transition model,Observation model,Reward model以及Encoder
Learning Latent Dynamics for Planning from Pixels
有了这个model之后,policy就直接用online planning的方式去search得到,就不用网络去学了。作者用的是model-predictive control,具体来说作者用的是cross entropy method,CEM。
至于训练模型的数据,就是在planning得到的动作基础上加个噪声来收集数据。至于训练,作者用了一个叫recurrent state-space model (RSSM)的模型,之前所有的四个model Transition model,Observation model,Reward model以及Encoder都假设是高斯,encoder就是根据以前的所有观测和动作来预测状态,注意这个encoder是基于观测的,而transition是基于状态的。训练的目标函数为
Learning Latent Dynamics for Planning from Pixels
然后作者为了把transition分成确定和不确定,还把Transition model分成了两个部分
Learning Latent Dynamics for Planning from Pixels
这里h表示确定性的转移,s就表示基于h和随机转移产生的状态。
然后目前这个目标函数值考虑了一步的拟合,作者进一步考虑多步的拟合,也就是根据前面d步的状态,学习下一个状态
Learning Latent Dynamics for Planning from Pixels
目标函数对应变成
Learning Latent Dynamics for Planning from Pixels
然后再把latent overshooting加进来,这里latent overshooting我感觉就是之前的训练只考虑了d步,现在我要考虑任意步数
Learning Latent Dynamics for Planning from Pixels
总结:感觉这个文章很晦涩,说了很多,但是又好像什么都没说,式子里面也没有完全体现出各个部分是怎么训练的,可能还是我太菜了啊,唉。
疑问:作者把这个训练的目标叫做latent overshooting,这个overshooting咋理解,就是考虑多步吗?
Contact dynamics是啥?
cross entropy method,CEM之前看过又忘了,还要再看看。
filtering posterior是啥,不懂。可能需要看看Kalman filter。
虽然目标函数看来是没啥问题,但是具体写到网络里是长啥样的,输入输出啥的还是不清楚,只能看代码了。
证明没有看。

上一篇:Dynamics 365的Custom API介绍


下一篇:Dynamics 365子网格添加按钮【+】,点击之后不跳出新建页面