5、Monte Carlo Methods


        Monte Carlo Methods 是一种估计值函数和找到最优策略的学习方法。

        首先假设环境并不完全了解,MC方法只需从与环境(实际或者模拟)交互获得状态、动作和奖励的经验样本序列。从这些经验中进行学习是有效的,因为它不需要事先了解环境的动力学模型,仍可以获得最佳的行为。所需的环境不需要像DP中所需的状态转移的完整概率分布,只需要知道转移后的结果(next state和reward)。

        MC方法是一种基于平均样本收益的RL方法。这里定义MC方法仅用于 episodic tasks。当一个episode完成后,值估计和策略才会更新。因此MC方法是episode-by-episode上增量式的,而不是step-by-step的(online)。MC方法与bandit方法类似,但也有区别:有多个相互关联的状态。一个状态采取动作后的回报取决于在同一个episode中后来的状态所采取的动作。由于所有的动作选择都在学习过程中进行的,所以MC方法所处理的问题是不稳定的。为了处理不稳定问题,采用DP中的广义策略迭代(GPI),并从使用MDP的样本返回中学习值函数。


1、Monte Carlo Prediction

使用MC方法来学习给定策略的状态值函数。有两种MC方法:

  1. first-visit MC method:第一次访问状态s的回报平均值来估计 v π ( s ) v_\pi(s) vπ(s)。(研究较为广泛)
  2. every-visit MC method:所有访问状态s的回报平均值来估计 v π ( s ) v_\pi(s) vπ(s)。(可扩展到函数逼近和有效跟踪)

first-visit MC method的策略估计算法:

在这里插入图片描述

MC方法估计 v π v_\pi vπ的backup图:起始为状态节点,下一个为动作节点,如此反复直到到达终止状态,这样的一条序列是一个episode。

在这里插入图片描述


2、Monte Carlo Estimation of Action Values

        如果一个模型不可获得,那么估计动作值是特别有用的,这里指状态-动作对的值,而不是状态值。
        对于模型完全已知,仅使用状态值就足以确定策略。如DP中的值估计方法。但是,如果没有模型,仅使用状态值是不够的,必须明确的估计每个动作的值,以便用于策略的选择。因此,MC方法主要目标是估计 q ∗ q_* q

        首先考虑动作值的策略评估问题:估计 q π ( s , a ) q_\pi(s,a) qπ(s,a),表示在开始状态为s,采取动作a(遵循策略 π \pi π),获得的期望回报。

        当访问每个状态-动作对的次数接近无穷时,动作值的估计收敛到 q ∗ q_* q

问题: 许多状态-动作对可能永远不能被访问。所以需要不断的探索,使得策略评估产生动作值。
方法一:起始状态-动作对的选择。 指定episode从一个状态-动作对开始,并且每个状态-动作对都有一个非零的概率被选择作为起点。这保证了所有的状态-动作对都将在无限个episode内被访问无限次,称之为 Exploring Starts。这种方法有时可能不奏效。
方法二: 随机策略。 每个状态中选择所有动作的概率非零。


3、Monte Carlo Control

        在控制中使用蒙特卡罗估计,即近似最优策略。在GPI中,有近似策略和近似值函数。值函数被反复修改以更接近当前策略的值函数,并且策略相对于当前值函数被反复改进,如图所示。

在这里插入图片描述

经典策略迭代的MC方法:
交替进行策略评估和策略改进,从任意策略 π 0 \pi_0 π0开始,直到最优策略和最优动作值函数:

在这里插入图片描述
对于任意的动作值函数q,对于每个s∈S,对应的贪心策略是确定性地选择一个动作值最大的动作:
在这里插入图片描述
在每一个episode之后,观察到的返回值用于策略评估,然后对该episode访问的所有状态的策略进行改进。

假设具有 Exploring Starts,这样的MC方法称为Monte Carlo ES。
在Monte Carlo ES中,不管观察到的策略是什么,每个状态-动作对的所有回报都是累积和的平均。很容易看出Monte Carlo ES不能收敛到任何次优策略。如果收敛到次优策略,那么值函数将最终收敛到该策略的值函数,而这又将导致策略更改。只有当策略和价值函数都是最优的时,才能达到稳定。

Monte Carlo ES算法:

在这里插入图片描述


4、 Monte Carlo Control without Exploring Starts

        如何避免 Exploring Starts?确保所有动作都被无限次选中的唯一通用方法是让agent继续选择它们。有两种方法:on-policy methodsoff-policy methods。通常, on-policy控制方法的策略是 soft 的,表示都有状态和动作的策略大于0。

        On-policy methods 尝试评估或改进用于决策的策略,而 off-policy methods 评估或改进的策略与用于生成数据的策略不同。Monte Carlo ES 方法就是一种 On-policy methods。

        这里使用 ε − g r e e d y \varepsilon-greedy εgreedy 策略实现 on-policy methods。on-policy 的MC控制的主要思想也是GPI。不使用 Exploring Starts假设,这样的话就不能简单地通过对当前值函数做贪婪来改进策略,因为这可能导致无法探索非贪婪动作。

设计一种 on-policy MC控制方法。

在这里插入图片描述


5、Off-policy Prediction via Importance Sampling

        所有的学习控制方法都面临着一个困境:它们试图根据后续的最优行为来学习动作值,但是为了探索所有的动作(找到最优的动作),它们需要做出非最优的行为。上一节中的on-policy方法实际上是一种折衷方法——它不是为最优策略学习动作值,而是为仍在探索的接近最优策略学习动作值。

        一种更直接的方法是使用两个策略,一个是学习过的并成为最优策略的策略,另一个是更具探索性并用于生成行为的策略。正在学习的策略称为 target policy,用于生成行为的策略称为 behavior policy。—— 学习的数据不是来自目标策略,这样的整个过程称为:off-policy learning

        off-policy methods 一般比 on-policy methods 有更大的方差,以及收敛速度较慢。但是 off-policy methods 更加强大、更加通用。

        几乎所有的 off-policy methods 都使用了 importance sampling (重要性抽样),这是一种通用的技术,用于估计给定样本的一种分布下的期望值。将重要性抽样应用于 off-policy 的学习,根据目标策略和行为策略下发生的轨迹的相对概率对收益进行加权,称为 importance-sampling ratio(重要性抽样比)。

后续状态—动作轨迹的概率:
在这里插入图片描述
因此,目标策略和行为策略下的轨迹的相对概率(重要性抽样比):
在这里插入图片描述
注意,虽然轨迹概率依赖于MDP的转移概率(通常是未知的),但是所有的转移概率都抵消了。重要性抽样比最终只取决于这两个策略,而完全不取决于MDP。

接下来,MC算法将使用策略 μ \mu μ 获得的一批观察到的 episodes 来估计值函数 v π ( s ) v_\pi(s) vπ(s)

两种抽样方法:
1)简单的平均数,被称为普通重要性抽样:
在这里插入图片描述
2)加权重要性抽样,它使用加权平均值,定义为:
在这里插入图片描述
        两种重要抽样的区别表现在它们的偏差和方差上。普通重要性抽样估计量是无偏的,而加权重要性抽样估计量是有偏的(偏差渐近收敛于零)。另一方面,一般重要抽样估计量的方差一般是无界的,因为比率的方差可以是无界的,而在加权估计量中,任何单一收益的最大权值是1。在实际应用中,加权估计值的方差通常非常小,因此被广泛采用。然而,普通重要性抽样更容易扩展到使用函数近似的近似方法。


6、 Incremental Implementation

对于加权重要性抽样,假设有一组回报序列 G 1 , G 2 , . . . , G n − 1 G_1,G_2,...,G_{n-1} G1,G2,...,Gn1,所有的开始状态一致,每个相关的随机权重为 W i W_i Wi
在这里插入图片描述
值函数的更新公式:
在这里插入图片描述
蒙特卡罗策略评估算法:
在这里插入图片描述


7、Off-Policy Monte Carlo Control

Off-Policy 的一个优点是,目标策略可能是确定的(例如,贪婪的),而行为策略可以继续抽样所有可能的动作。

off-policy MC control 算法:
在这里插入图片描述


8、advantages

1、可以直接从与环境的交互中学习最优行为,而不需要环境的动态模型。
2、可以用于模拟或样本模型。
3、将蒙特卡罗方法集中于一小部分状态是简单而有效的。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值