《强化学习》入门C8 Planning and Learning withTabular Methods 简要版

649 阅读5分钟

problem:

sample model----在电脑中可以模拟生成一段episode

plan空间的planning?×

这一章的另外一个重要主题是论证关于planning过程中‘较小的增量式 更新步长’的优势??这个特点是必要的,因为当planning过程一旦不合适需要重置,这样的步长会尽可能减少计算量。事实上之后的几节我们也会看到,小步长对于大多数单纯的planning过程也是很必要的,特别是当问题规模特别大的时候。

Acting√--(根据policy与环境交互产生episode的动作) direct RL、acting和model learning部分占用的计算量相对较小

为什么带有planning操作的agent会更快地找到最优解√√--(如165下面的迷宫图,planning可以获得更多的信息,少试错)

search和control指的是:为模型经验数据选择初始状态和初始动作的过程。√

8.5

而full backup则是要彻底等到所有状态的Q值更新一遍,才会彻底降低Q值估计误差。√√对full backup来说,一旦完成了所有状态的Q值更新,那么它的误差就变成0,但是它需要更长的时间。√√√

??为什么随着b的增大,sample backup越来越有优势???--环境的随机因素越多,sample backup越牛逼?! The key observation is that for moderately large b theerror falls dramatically with a tiny fraction of b updates. For these cases, many state{action pairs could have their values improved dramatically, to within a few percent of
the effect of an expected update, in the same time that a single state{action pair could
undergo an expected update.

??In a real problem, the values (of the successor states )would be estimates
(that are themselves updated.)???

??(By causing estimates to be more accurate sooner), sample
updates will have a second advantage (in that )(the values backed up)( from the successor
states )(will be more accurate).???

8.6

in the on-policy case,we simulated episodes, all starting in the same state???

Sampling( according to the on-policy distribution) helps by (focusing on states)(that are near descendants(of the start state.)√√在短期内,“Trajectory Sampling”集中于那些 和初始状态密切相关的状态,backup效率很高,状态总数越多,b越小,这种效果越显著。但是到了后期,“Trajectory Sampling”开始有副作用,因为那些经常出现的状态的Q已经趋于准确,而“Trajectory Sampling”依然对它们频繁采样,这就造成了无用功

b越小----初始状态下一个时间步可能的状态就少,越容易选到那些和初始状态密切相关的状态,backup效率很高

状态总数越多----episod越长???选取状态还是同上??


note:

这两类算法的核心,都是“通过反向更新方式估计价值函数”。

Dyna是一种结构,而不是一个确切的算法,我们可以将这种结构套在其他算法上面,比如Q-learning

在 Dyna-Q 中,规划和学习的原理几乎一样,唯一的不同在于,前者使用模拟经验数据,后者采用真实经验数据,最终都使用 Q-learning 来进行学习。

对于RTDP算法最有趣的结果是,对于某些满足特定合理条件的问题来说,RTDP算法不需要遍历所有的状态无限次,甚至不需要遍历某些状态就能够找到在相关状态中最优的策略。

Planning at decision time

这两种规划算法的形式,一是使用仿真的经验来逐渐改进策略和值函数,得到一个表格,在实际游戏中通过查表快速做出反应,是全局逼近!另一个是根据仿真经验为当前状态选择一个最好的动作,避免了全局逼近动作-价值函数的问题每一步需要反应时间,适合棋牌类游戏。

--在当前得到的价值函数基础上做出最好的动作选择,而不关心如何改进价值函数本身。(decision-time planning) 类似于现实做决策?

Heuristic Search启发式搜索

之前介绍的是one-step-ahead的DP 方法,这个就是向前看多步,然后来估计当前节点的value function,启发式搜索算法可以看作是在一步贪心策略算法之上的延伸,搜索深度超过一步的重点是获得更好的动作选择。内存和计算资源对当前决策的高度关注(从当前出发的可能性比所有状态出发的可能性小得多)可能是启发式搜索如此有效的原因。

Rollout算法(失忆版MC)

我们通常不会将Rollout算法视为

学习

算法,因为它们不会保留对价值或策略的长期记忆,rollout算法每次计算完这些值函数的估计之后都会将它们丢弃,所以叫做rollout,roll完一个样本的估计值用完就out扔掉。当动作价值估计被认为足够准确时(rollout了足够多的样本后,依赖于计算资源),执行具有最高估计值的动作(或动作之一),之后从所得到的下一状态重新执行该过程。

MCTS

MCTS的核心思想是通过扩展已经从早期模拟中获得高评价的轨迹的初始部分The core ideaof MCTS is to successively focus multiple simulations starting at the current state by
extending the initial portions of trajectories that have received high evaluations from
earlier simulations.

Seletion:在planning中当前状态选择动作的策略:tree policy: ε -贪婪或UCB。在一开始一般选择未被visit(被模拟估值过)的动作状态

最后时间耗尽,在现实中选择一个最优动作,它可以是具有从根状态可用的所有动作的最大动作价值的动作,或者可能是具有最大访问计数的动作以避免选择异常值。--》移动到下一个节点,该节点由前一个MCTS执行构建的树留下与之无关的所有剩余节点以及与其关联的动作价值将被丢弃。