mdp框架_MDP -- 马尔科夫决策过程

在自动驾驶中,路径规划有很多种方式,传统算法包括深度广度优先搜索,A*算法。这些都是不错的算法,但是都有一个问题,他们都是建立在控制运动的结果是确定性的假设上的。比如,汽车的速度,转弯的角度,位置,雷达数据都是无误差的。但是在现实世界中,是到处都充满了误差的。实际上,运动会引入不确定性,因为运动的结果就是不确定的。其次,我们区分完全可观测系统和部分可观测系统。经典的机器人通常假设传感器可以测量环境的完全状态。实际上,这种情况经常不成立。基本上所有的真实世界中的机器人问题,传感器的限制都是一个关键的因素。

机器人的运动不确定性。它依赖于一个假设,就是状态是完全可观测的,其背后的数学框架就是所谓的马尔可夫决策过程Markov decision processes, MDP。

来看一个机器人的运动环境例子:

从这个环境中可以看到robot想要到达goal的位置,最近的方法是通过当中一条狭窄的通道,如果机器人的运动是确定的, 也就是它绝对不会碰到周围的障碍物,并一直维持着这样的移动状态,那么我们就说robot的运动性是确定的。但是真实的情况是一般机器人运动都有误差,并且我们通常通过传感器,比如lidar来获取周围的环境,然后根据环境的因素计算之后的动作,这样,robot如果还想在这个狭窄的通道中行走,效率上就会很慢,因为它要不停的计算观察周围的情况。最终,从这条狭窄的通道通过的代价不一定比绕路走来的高效。

在机器人运动中考虑不确定性的范式就是所谓的马尔可夫决策过程Markov decision process, MDP

简单的理解MDP--根据不确定性,生成每个时间段的下个动作,行成一个有效的路径,找到一个好的控制策略。

接下来具体来说MDP:

这个框架可以用一个图来描述:

智能体在每个时间段对环境的观察来决定当前时间段的动作,并获取这个动作之后的回报值,在下个时间段,环境会应为之前的动作发生变化,这时候感知到新的环境S来选择新的动作a并获取新的回报,这样一直持续下去直到到达目标点。 这样最终选择的动作a1,a2,a3.......an就是最终的动作路径。但是智能体在每个时间段能做的动作有很多,到底根据什么来选择最优的动作呢,这就要用到回报值了。

简单的形式:

没有达到目标的回报值都是-1, 达到目标之后回报值为100. 这样会有很多种达到最终值得方式,找累计回报最小的即可。

MDP中牵涉到一个很重要的概念,一步动态性。具体理解为我们在考虑下一个时间t+1的环境和回报时,只考虑当前的t的环境和动作的影响。网上对于一步动态特性不错的解释

另一个在MDP中存在的概念是对于累计回报的折扣率 [0,1]。MDP是始终要最大化累计回报的,所以在每个时间步t都希望能够最大化单个回报。那么对于未来的回报和当前动作的回报权重肯定是不一样的。

=1 表示我们对于未来的回报关注度和眼前的一样高。换个角度思考,一般对于智能体来说,估计回报,一定是估计眼前的比未来的更容易,比如一个小狗能够在今天得到一根骨头,和在未来5年得到的骨头相比,它一定对于明天得到骨头更确定,所以权重也会更大。所以一般我们对

取0.9,这样可以适当的考虑未来的回报。如果取0肯定是不行的,这样就只注意到眼前的回报。

折扣对于阶段性任务来说还不算重要,在连续性任务上就很突出了。连续任务如果不设置一定的折扣,回报值会无限大下去,这样不利于智能体最大化累计回报,所以要避免无限未来的奖励产的影响。

总结下马尔可夫决策的组成:一组环境状态S

一组动作A

一组回报R

一步动态特性

折扣值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值