《Reinforcement Learning》 读书笔记 5:蒙特卡洛(Monte Carlo Methods)
《Reinforcement Learning: An Introduction》 读书笔记 - 目录
问题
前面两章都假设我们已知MDP的分布(model),但有时这一点难以做到(第2章的多臂老虎机问题是一个特殊的例子),或者说这种Markov假设可能是不合理的,那么我们只能从真实/模拟环境中去获取这些知识
- PS: 以下只考虑episodic task
一些概念
Monte Carlo
(MC)
- 用样本分布代替总体分布,估计一些总体分布的参数
- 简单来说,就是假设想知道一些真实分布的一些信息,比如期望,或函数的期望,如果我们不知道真实分布的表达式,或者知道,但是很难推导求解,就需要模拟出一批样本,再做平均,虽然有误差,可只样本量足够大,根据大数定律还是收敛的
Importance Sampling
- 问题:假设我们要求分布下的期望,但是我们只是已知/或能模拟出另一个分布的情况,该怎么办?
- 方法:
- 也就是说,只要求在分布下的期望就可以了,这点可以用MC来做到
- 这里,我们把 叫做importance-sampling ratio
- 和的表达式不一定要是已知的,只要知道比值就可以
on/off-policy
-
on-policy
- 直接评价或优化目标策略
- 假设目标策略为,则通过model或观测/模拟直接计算其value function,或优化它
-
off-policy
- 两个策略
- 行为策略(behavior policy) ,已知或观察/模拟的策略
- 目标策略(target policy) ,待评估的策略
- 目标:通过 评估/优化
- 当 时,on/off policy一致
- 两个策略
Monte Carlo Control
- 其实就是用MC方法替换了替换了原来的policy evaluation方法
MC估算value function(on-policy)
两种方法
-
first-visit MC
- 对于一个episode,只考虑第一次进入到某种state(-action)后的return
- 各episode之间iid,相对误差
- 举例,计算
- 注意:其中的内部循环t是倒序的(考虑第2章计算时的递推式),这里还可以加上折扣因子
-
every-visit MC
- 考虑episode中每次进入到state(-action)后的return
- 虽然不独立,但是误差仍然
action-value function
- 问题:如果采用某种确定性的策略,则可能会有很多state-action在模拟的过程不会碰到(exploitation only),导致样本量为0
- 两种思路
- exploring start
- 方法:在初始化episode的时候,随机一点,允许exploration
- 缺点:麻烦,不能保证覆盖全面
- 方法:在初始化episode的时候,随机一点,允许exploration
-
-greedy
- -soft:区别于确定性策略的绝对,要求所有
- 方法:类似第2章中的方法
- 以采用原先确定性的action(exploitation)
- 以选取剩下的策略(exploration)
- 优点:是所有-soft策略中最优的
- exploring start
Importance Sampling 估算value function (off-policy)
state-value function
- 基本原理
- 策略的一个episode中的一个子序列的概率
- 同理,对也是一样,那么
也就是说,只需要知道策略,与model无关
- 策略的一个episode中的一个子序列的概率
- 两种方法
- 简单平均(
ordinary importance sampling
)- 根据上面的原理得到的 最直观的实现
- 优点:无偏
- 缺点:方差可能很大,甚至无限大
- 加权平均(
weighted importance sampling
)(一般更优)- 优点:方差较小
- 缺点:有偏(考虑只有一个样本情况,即)(但是渐近无偏)
- 说明
- 这里把所有episode串联起来,所以t是全局唯一的(只是一种简单处理的表示方法)
- 表示状态s被访问的t集合(取决于first-visist还是every-visit)
- 表示从t到该episode的termination state之间的ratio
- 简单平均(
- 实现例子
这里都用了weighted方法,并用了迭代式减少内存开销- 计算
- 最后内循环中的退出条件,仅当时成立,即出现了中存在,但中不会存在的策略,因为是倒序迭代,所以继续往下是没有意义的(如果继续迭代下去,相当于把不可能存在的样本序列加进去)
- control
- 最后内循环中的退出条件理由基本同上,因为这里假设是确定性策略
也就是说, (Exercise 5.9)
- 最后内循环中的退出条件理由基本同上,因为这里假设是确定性策略
- 计算