【强化学习】基于表格型方法的规划和学习

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

目录

model和planning

Dyna:集成在一起的Planning、Action和Learning

如果Model是错误的

Prioritized Sweeping

Expected Update Vs.Sample Update

Trajectory Sampling

RTDP

Planning at Decision Time

Heuristic Search

 Rollout Algorithms

Monte Carlo Tree Search

 总结


强化学习可以分为:(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)先初始化状态s和其任意动作a的状态价值Q(s,a)

(2)初始化Model(s,a)。表示基于“状态-动作”二元组(s,a)预测的后继状态和收益的内容。

(3)对于每一次迭代,先根据当前状态和Q(S,A)\epsilon-greedy方式得到新状态S'和奖励R

(4)用Q-Learning更新Q(S,A)

(5)用RS'更新模型Model(s,a),(与真实环境交互之后,进行n次模拟)。

(6)每次模拟都随机选择一个之前出现过的状态S,并在此基础上随机选择一个动作A

(7)基于模型Model(S,A)得到S'R

(8)再使用Q-Learning更新价值函数:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值