决策体现在你要根据 state 和潜在的奖励,选择一个 action ;不确定性体现在转换函数,状态 s 下执行动作 a ,最后到达的状态 s’ 具有不确定性,奖励 R 同理。 策略(Policy) 在一个确定性的单agent搜索问题中,我们搜索的目标,是一个从起始状态到结束态的最优的路径规划,或者一个 action 的序列。但是在 MDP 中,由于不确定性的存在,我们无法得到一个严格的序列,我们只能得到一个最优的决策函数,由它告诉我们每一步应该怎么走,我们称之为策略(policy),标记为 ,策略可以告诉我们在当前 state 情况下要做什么 action 。而按照最优的策略的执行路径,是最大化期望收益的过程。 把上面的游戏数字化,可以发现当奖励函数不一样的时候,最优策略是不一样的。注意火坑(reward=-1)左边的 state ,如果每一步得到的 reward 是 -0.01,最优策略是向左走,这样有一定概率进入上面和下面的状态,而多次尝试的累计 reward 负数并不会太大;相反,如果单步 reward 被设置成 -2.0,这个状态的最佳策略是直接跳进火坑,死了也就是-1.0,比其他任何 action 得到的收益都要大。
MDP搜索树 为了方便理解 MDP,我们把 MDP 的状态转移展开,然后整个求期望奖励最大化的过程,可以看做是一个期望最大化的搜索树里面的搜索过程(需要时刻牢记不确定性)。 解释一下下面的图,他引入了一个很重要的概念:q-state。我们在一个状态s,follow 策略选择了动作 a,这里需要引入一个中间态的树节点 (s,a) ,称之为 q-state 。这个节点的意思是,(s,a) 完成了决策过程,但是状态转换并没有完成,因为 (s,a) 得到的是哪个 s’,这里面还具有一些不确定性,也就是 P(s’|s,a) 的存在。q-state 还需要经过一个 transition 才最后输出 s’,同时得到奖励 R(s,a, s’)。
累计奖励的折扣问题 上面说到了我们的策略需要得到的是从开始到结束态的期望奖励累计总和最大化,那么就会面临一个问题:每一次状态转换都会得到或大或小的 reward ,显然我们要兼顾考虑当前转换的 reward ,同时也要考虑此次转换对后续的影响以及后续能获得的 reward 。那么最优策略在进行路径搜索的时候,是优先抓住当前 reward ,还是优先考虑积攒到后面再一次性变现?当不同时期的 reward 大小出现明显差异时,谁都知道要取大的。但是当 reward 大小并没有明显差异时,是先苦后甜还是先甜后苦,如何决策呢? 结合我们的最终目标,是最大化奖励的总和。那么更合理的策略,是把当前能获得的奖励都拿到手。除非未来的奖励能出现暴涨性的升值,否则相同价值的东西放在以后兑现,总是没有现在直接拿到手里值钱的。 由此就引出了奖励的折扣问题,我们站在当前 timestep ,去计算未来的综合收益时,需要对未来的奖励进行打折,打折系数记为,那么下一个 time step 的奖励就是 ,下下一个time step 是 。 打折除了是考虑价值贬值,也有利于算法收敛。因为到达结束态的决策过程可能是非常长,甚至是一个无限的状态转换序列(比如 flappybird ),我们也不可能无限期的计算,去考虑未来的收益。引入折扣系数后,基本可以忽略未来步后的影响,也就是定义了一个当前状态需要考虑的未来有效时间区域。 当然,除了引入折扣系数的方法,还有其他方法来处理无限序列问题,这里就不展开讲了。可以看伯克利 AI 课程的视频。 所有图片版权来自于伯克利教程,或者网络。如有版权冲突请联系我们和微信AI。 课程链接: (本文由微信AI 授权转载,特此感谢! ) (责任编辑:本港台直播) |