记录一下自己所看的论文,后续会继续更新一些model-based的论文阅读记录,欢迎交流、讨论(emmmmm,我实在才疏学浅)。
论文:P Karkus, D Hsu, WS Lee,” Qmdp-net: Deep learning for planning under partial observability”,NIPS 2017
是一篇Initation Learning的论文(并不是DRL)。
有以下两个特点:
a、将贝叶斯滤波器和QMDP算法嵌入到一个RNN中,解决一个POMDP问题(主要是导航规划的问题)
b、是一个end-to-end算法,预测专家的输出
1、POMDP(部分观察马尔可夫决策过程)
与MDP的差异在于agent仅有观察,而无法获知完整的状态信息(环境的状态无法被直接感知到)。论文中例子如下:

如果不使用GPS,在导航中,agent对环境的认识显然是局部的、部分的。
一个POMDP模型可以被定义为(S,A,O,T,Z,R):
S:有限的状态空间,A:有限的动作空间,O:有限的观察空间。
T:状态-动作转移概率,即p(s'|s,a),也称之为动力学模型。Z:条件观测模型,p(o|s)。R:状态-动作的奖励,就是奖励函数。
置信度分布(belief):它表示对环境状态的置信度的分布:b(s)=p(s)。有一种观点是将POMDP作为一个置信-状态的MDP(Belief-State MDP)。
2、贝叶斯滤波器和QMDP
POMDP算法是较为复杂的,QMDP是一种简单的近似POMDP算法,算法如下:

b(s)为置信度分布,它的更新策略为贝叶斯滤波器:

结合这两个算法,我们就能够较为清晰的看明白论文中的网络结构了。
3、QMDP-net

网络结构如上图所示,ft、fa、fz、fo、f‘t、fpi均为神经网络,ft和f’t为卷积神经网络,实质拟合的是环境动力学,fa、fo对动作、观察进行编码,主要为了统一输入维度。fz拟合的是状态-观察分布,原文使用的是CNN。fpi将q值计算结果转换为策略,使用的并不是决定性策略,所以它是一个分布函数,原文使用softmax函数。K定义了值迭代的次数,过大则增加网络的深度,但在训练和执行时可以使用不同的K。
(a)为贝叶斯滤波器模型,(b)为QMDP规划模型,显然与前面描述的算法是一致的。
损失使用交叉熵损失函数,计算专家的输出与agent的输出的交叉熵。
4、推荐阅读
(1)http://dai.fmph.uniba.sk/~petrovic/probrob 的ch15(POMDP)、ch16(近似POMDP),这本书不错。
(2)S Thrun,W Burgard,D Fox“Probabilistic robotics”,chapter 2介绍状态的定义,贝叶斯滤波器,不过这一章关于贝叶斯滤波器的介绍与论文角度不太一样。
(3)建议读一读源代码。论文中有链接。
转载,请注明出处,谢谢。
网友评论