两种模型分类
distribution model 输出动作依赖于概率分布
sample model 输出动作是确定的
两种类型的规划算法
state-space planning
特点是以状态为出发点,考虑状态的值函数
plan-space planning includes evolutionary methods and “partial-order planning
以plan为出发点,考虑plan的值函数,本书不讨论这种方法
planning和learning的区别在于:前者用模拟的数据作为样本(实时产生),后者用真实的数据
Dyna Architecture
左边是直接的RL更新,右边是基于模型的规划;右边用真实数据学习Model,然后基于Model产生模拟的数据,再用模拟数据更新Policy
Dyna 伪代码,e、f步骤对应上图的右边
性能测试,对于走迷宫问题,下图给出了每个训练周期后智能体需要多少步才能走出去,可以看到50 planning steps所需要的步数最少
上面的走迷宫例子中,我们还需要考虑的问题是:如果Model的学习出现了错误怎么办?
下图展示了从左侧环境变为右侧环境模型的自我修复
Dyna-Q+ 解决shortcut 迷宫使用了一种启发式的方法:记录每个动作状态对距离最后一次与真实环境交互的时间差,时间越长模型越有可能出现错误,为了鼓励行动策略尝试长期未测试的动作状态对,增加一个额外的奖励,即r+κ√τ
对于Dyna-Q算法来说,f步骤中随机选取a和s可能并不是一个好的选择
所以用误差来进行优先排序,可以提高学习的效率
g里层的循环的意义是:对于误差很大的状态动作对,其前一步的误差也可能很大
回顾一下期望更新和样本更新
期望更新 Q-Learning他们的区别在于期望更新的误差仅仅取决于Q的正确性,而样本更新还要引入采样的误差,但是它的计算代价比较小,通常期望更新的误差比较小
这表明sample updates对于复杂的问题更有优势
一个清楚模拟的独立轨迹,并对轨迹过程中遇到的状态或状态-动作执行更新。我们把这种产生经验和更新推测采样的方式称为“轨迹采样”。
实验发现on-policy采样的效率比uniform采样的效率高
Real-time dynamic programming 是一种用于DP的on-policy轨迹采样方法
RTDP的更新顺序取决于真实经验的状态顺序或者模拟的轨迹
optimal partial policy的意思是对于相关状态来说是最优的,但是可以为不相关的状态指定任意动作
RTDP的好处是不用访问每一个状态可以保证在相关状态下是最优的,对于状态数量特别大的情况有益处
对比DP和RTDP在跑马场问题上的情况
RTDP展示了on-policy轨迹采样的优势
planning有两种使用的方式:第一种如Dyna中,用于后面的策略提升;而另一种是在决策时planning
第二种方式的意义是:在某个状态下决策动作时进行planning可以进行更深入的思考
这种在决策时候进行planning的方法可以归类为启发式搜索
决策时planning通常结合一个rollout策略,这个策略效果越好,则最后搜索出来的策略越正确
然而rollout策略更好也需要更大的计算代价,下面结合蒙特卡洛树搜索理解rollout
象棋游戏每执行一步,都要进行一次启发式搜索
假设这个启发式搜索的树已经构造好了一部分,每个节点都有一个值表示胜率
Selection:根据Tree Policy选择节点,可以用UCB等算法
Expansion:选到不能选的时候,就开始在当前节点往下扩展,即增加子节点
Simulation:但是我们不知道这个子节点怎么样,所以用rollout策略模型执行这个节点,得到一个游戏胜利或者失败的结果
Backup:把这个结果记录下来,反向更新上面节点的胜率
最后启发式搜索结束,直接选胜率最高的下一步作为实际执行动作
网友评论