目录
Dyna:集成在一起的Planning、Action和Learning
Expected Update Vs.Sample Update
强化学习可以分为:(1)基于环境模型已知的MDP的方法(model-based),如:动态规划方法(DP),启发式搜索。(2)基于环境模型未知的方法(model-free),如:MC方法、TD方法等。这两种方法有以下共同点:
(1)方法的核心都是计算value function。
(2)都是站在当前state,向前n步,然后计算回溯值。
(3)使用回溯值来更新value function的估计值。
model和planning
agent用model来预测环境对action的反应。根据这个model包含的信息不同,可以分为distribution model(分布模型)和sample model(采样模型)。两者的区别如下:
(1)给定一个开始状态(state)和动作(action),sample model会产生一个可能的概率;distribution model会根据发生的概率产生所有可能的转移。
(2)给定一个开始状态(state)和策略(policy),sample model只会产生一个episode,distribution model可以获得所有可能的episode及其概率。
distribution model比sample model包含更多信息,但现实中往往更容易获得sample model。model是对环境的一种表达方式,可以用来产生仿真经验(simulation experience)。
从model中生成或提升Policy的计算过程称为Planning

Planning有两种,一种是state-space planning,另一种是plan-space planning。前者根据simulation experience来计算value function,然后通过计算values function 进行 Policy提升。过程如下:

Planning和Learning(Planning方法有DP等,而Learning方法有MC、TD等)方法的核心都是用回溯方法(backup)更新公式计算value function的估计值。Planning所使用的experience是由模型生成的simulated exprience,而Learning method使用的经验是由真实环境生成的real experience。
Planning和Learning都满足上述state space Planning结构。存在通用结构,意味着许多思想和算法可以在规划和学习之间迁移。比如Learning中Value function估计值的更新公式可以替换Planning中的Value function估计值的更新公式。就像可以将Q - Learning和Planning结合,得到随机采样单步表格型Q-planning(Random-sample one-step tabular Q-planning)

Dyna:集成在一起的Planning、Action和Learning
Value Based、Policy Based、Model Based
Value Based学习Value来指导Policy,Policy Based学习策略来收获最大Value,还有将两者融合的AC。但是在学习Value或Policy都很困难的情况下(如:围棋),学习模型可能更好。
什么是模型
可以理解是一个环境状态S与反应A之间的映射集。如果可以学习到这个模型在给定状态后最有可能做出的反应,那么任务就完成了。
怎么学习模型
通过类似监督学习的方法获得模型,通过模型,强化学习算法不再局限于考虑如何最大化奖励,而是通过理解采取的动作,从而具有一定的推理能力。但是模型毕竟是模拟的,会有所偏差。
直接强化学习和间接强化学习
强化学习是基于交互的学习。交互无非是为了获得经验数据,所以强化学习也可以说是基于经验的学习方法。经验有两种,分别是实际经验(real experience)和仿真经验(simulation experience),前者是真实的agent与环境交互得到的数据。比如机械臂从一堆物品中抓取物品,无人车在道路上行走。它们这类交互可以直接用来学习Value function或者Policy。称之为直接强化学习(direct RL);后者由模型(model)产生,模型可以通过real experience来学习(获得)模型,这个过程叫做模型学习(model learning),当然也可以不用学习,直接根据物理定律也能确定。利用仿真经验来辅助策略学习的方法叫做间接强化学习(indirect RL)。

Dyna-Q
由于model不可能完全拟合环境,所以纯粹model-based的强化学习效果往往很差。所以就有Dyna的算法框架了。这是种将model-based和model-free方法结合起来的算法框架。它即在model中学习,也在交互中(与真实的环境)学习。在Dyna框架的每个迭代轮次中,会先和环境交互,得到Real-experience之后,用于更新价值函数和策略函数。接着进行n次model的模拟预测,然后继续更新价值函数和策略函数。

如下表格型Dyna-Q算法

(1)先初始化状态和其任意动作
的状态价值
。
(2)初始化。表示基于“状态-动作”二元组
预测的后继状态和收益的内容。
(3)对于每一次迭代,先根据当前状态和用
-greedy方式得到新状态
和奖励
。
(4)用Q-Learning更新。
(5)用,
更新模型
,(与真实环境交互之后,进行n次模拟)。
(6)每次模拟都随机选择一个之前出现过的状态,并在此基础上随机选择一个动作
。
(7)基于模型得到
和
。
(8)再使用Q-Learning更新价值函数:

本文探讨了强化学习中的模型和规划方法,包括基于模型的动态规划、采样模型和分布模型的区别。重点介绍了Dyna算法框架,它是将模型学习与直接强化学习结合的方式,旨在解决模型不准确的问题。此外,文章还讨论了错误模型的原因、启发式搜索的作用,以及优先扫视策略在规划中的应用,展示了在不同环境变化下的学习性能。关键词涵盖模型学习、规划、Dyna-Q、错误模型、启发式搜索和优先扫视。
最低0.47元/天 解锁文章
897

被折叠的 条评论
为什么被折叠?



