Chapter 5. Monte Carlo Methods


Monte Carlo Methods
预测value functions 和 发现最优策略的学习算法。无需对环境有完全的掌控。
Monte Carlo Methods 只需要经验即可。(经验指的是与环境实时或者模拟交互中的状态、动作、奖励的序列信息。)
不需要对环境信息有先验知识。

Monte Carlo Methods 是基于平均采样的思想来解决强化学习问题。为了保证结果是有效的,我们认为Monte Carlo Methods 只适用于 episodic tasks。

we use Monte Carlo specifically for methods based on averaging complete returns.


5.1 Monte Carlo Policy Evaluation

问题描述:
如何用Monte Carlo Methods 来预测策略的 state-value function. The first-visit MC method 和 The every-visit MC method 比较。

预测给定策略下state-value function时,将从经验中获取的有关此状态的结果取平均,有效的经验越多,预测值就会越逼近其期望值。


suppose we wish to estimate V π ( s ) V^\pi(s) Vπ(s), the value of a state s s s under policy π \pi π, given a set of episodes obtained by following π \pi π, and passing through s s s.
假设我们要预测 V π ( s ) V^\pi(s) Vπ(s)的值,即在策略 π \pi π下的状态 s s s的值,给定依据此策略得到的一系列的遍历过状态 s s s的episodes.


visit: each occurrence of state s s s in an episode is called a visit to s s s.
The every-visit MC method: estimate V π ( s ) V^\pi(s) Vπ(s) as the average of the returns following all the visits to s s s in a set of episodes.
The first-visit MC method: averages just the returns following first visit to s s s.
比较:
(1).定义: The every-visit MC method 对所有出现过状态 s s s的episode都做平均处理;而 The first-visit MC method 只对状态 s s s首次出现之后的奖励做平均处理。
(2).收敛性:当 visit 数量趋于无穷时,都会收敛。
(3).The first-visit MC method 研究比较广泛。


First-visit MC method for estimating
First-visit MC method for estimating V π V^\pi Vπ

用二十一点(Blackjack)的例子来对Monte Carlo Methods 来进行剖析。

backup diagram:
The general idea of a backup diagram is to show the root node to be updated and to show below all the transitions and the leaf nodes whose rewards and estimated values contribute to the update.
显示更新的根节点,以及对于更新根节点有作用的所有后续的转移和子节点。
The backup diagram for Monte Carlo estimation of V^\pi
The backup diagram for Monte Carlo estimation of V π V^\pi Vπ


Monte Carlo Methods 与 DP algorithms 的区别:
(1).DP backup diagram 展示了根节点之后所有的可能转移,Monte Carlo backup diagram 则只展示了在此episode中出现的采样的信息。
(2).DP diagram 只展示了一步转移,MC diagram 展示了此epsisode 中所有的采样过程。
(3).DP diagram 对于每一个状态的值得估计不是独立的,MC diagram 对于状态的值得预测是独立的。(bootstrap)


5.2 Monte Carlo Estimation of Action Values

问题描述:
如何用MC 的方式来预测 action value。

当一个模型不可获得时(无法掌握所有的信息),预测 action value 比 state value 更好。原因:如果要预测state value,就必须知道此状态下每一个可采取的action的value,而模型的知识对于我们并不是完备的。
MC 的首要目标是预测 Q π ( s , a ) Q^\pi(s,a) Qπ(s,a)。此时 policy evaluation 是预测 Q π ( s , a ) Q\pi(s,a) Qπ(s,a)
MC 的困难之处是有很多的state-action可能不会访问到。策略 π \pi π稳定之后,对于某个状态而言,会倾向于选择当前较好的action,而有些action不会被选择。我们要估计所有action的值,不仅仅是当前最优的action。这个是 maintaining exploration 的问题。

exploring starts: Assumption—the first step of each episode starts at a state-action pair, and that every such pair has nonzero probability of being selected as the start.


5.3 Monte Carlo Control

问题描述:
如何将MC 预测用于控制,也就是去逼近最优策略。


1.总体思路是按照GPI的方式进行的
GPI

policy evaluation: the first-visit MC , the every-visit MC.
policy improvment:
for each s ∈ S s\in S sS, 选择一个具有最大Q-value值的action。
即:
π ( s ) = a r g m a x a Q ( s , a ) \pi(s) = arg\quad max_a Q(s,a) π(s)=argmaxaQ(s,a)

策略提升可以将策略逼近到最优策略的理论保证:
policy improvment theorem:
Q π k ( s , π k + 1 ( s ) ) = Q π k ( s , a r g m a x a Q π k ( s , a ) ) = m a x a Q π k ( s , a ) ≥ Q π k ( s , π k ( s ) ) = V π k ( s ) \begin{aligned} Q^{\pi_k}(s, \pi_{k+1}(s)) &= Q^{\pi_k}(s,arg max_a Q^{\pi_k}(s,a))\\ &=max_a Q^{\pi_k}(s,a)\\ &\ge Q^{\pi_k}(s,\pi_k(s))\\ &= V^{\pi_k}(s) \end{aligned} Qπk(s,πk+1(s))=Qπk(s,argmaxaQπk(s,a))=maxaQπk(s,a)Qπk(s,πk(s))=Vπk(s)


2.两个假设
为了保证Monte Carlo Method 的收敛,我们做了两个假设:
(1).policy evaluation 能够在有限步的episode中完成。(或者说我们观测到的episode 是无穷的,但是这样并不现实)
(2).每一个eposide都有exploring starts。


2.1如何去除有限步的episode 完成policy evaluation这一假设?
有两种方法:
①.在每一步的policy evaluation中都更加逼近 Q π k Q^{\pi_k} Qπk

②.在进行policy improvment 之前不进行完全的 policy evaluation.
每个episode 中,观测到的奖励用于policy evaluation, 之后对于此episode 中访问过的状态都采取policy improvment 。

MC ES
Monte Carlo ES: A Monte Carlo control algorithm assuming exploring starts.
去除掉假设(1)得到的算法框架。


2.2 如何去除每一个 episode 都有 exploring starts 这一假设?
有两种方法:
①.on-policy Monte Carlo Method
②.off-policy Monte Carlo Method

on-policy Monte Carlo Methods:
尝试去评估或提升当前做出决定的策略。
在 on-policy Monte Carlo Method 中,策略是 soft 的.
soft policy : $\pi(s,a) > $0, for all s ∈ S s \in S sS and a ∈ A ( s ) a\in A(s) aA(s).
具体的做法:
ϵ \epsilon ϵ-greedy policy:
保持所有的动作都有被选取的概率。
nongreedy actions: ϵ ∣ A ( s ) ∣ \frac{\epsilon}{|A(s)|} A(s)ϵ
greedy action: 1 − ϵ + ϵ ∣ A ( s ) ∣ 1 - \epsilon + \frac{\epsilon}{|A(s)|} 1ϵ+A(s)ϵ

策略最优逼近原理保障:(policy improvment theorem)

Q π ( s , π ′ ( s , a ) ) = ∑ a π ( s , a ) Q π ( s , a ) = ϵ ∣ A ( s ) ∣ ∑ a Q π ( s , a ) + ( 1 − ϵ ) m a x a Q π ( s , a ) ≥ ϵ ∣ A ( s ) ∣ ∑ a Q π ( s , a ) + ( 1 − ϵ ) ∑ a π ( s , a ) − ϵ ∣ A ( s ) ∣ 1 − ϵ Q π ( s , a ) ( 加 权 平 均 ) = ϵ ∣ A ( s ) ∣ ∑ a Q π ( s , a ) − ϵ ∣ A ( s ) ∣ ∑ a Q π ( s , a ) + ∑ a π ( s , a ) Q π ( s , a ) = V π ( s ) \begin{aligned} Q^\pi(s,\pi'(s,a)) &= \sum_a \pi(s,a)Q^\pi(s,a)\\ &= \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) + (1-\epsilon)max_aQ^\pi(s,a)\\ &\ge \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) + (1-\epsilon)\sum_a\frac{\pi(s,a) - \frac{\epsilon}{|A(s)|}}{1-\epsilon}Q^\pi(s,a) (加权平均)\\ &= \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) - \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a) + \sum_a\pi(s,a)Q^\pi(s,a)\\ &= V^\pi(s) \end{aligned} Qπ(s,π(s,a))=aπ(s,a)Qπ(s,a)=A(s)ϵaQπ(s,a)+(1ϵ)maxaQπ(s,a)A(s)ϵaQπ(s,a)+(1ϵ)a1ϵπ(s,a)A(s)ϵQπ(s,a)()=A(s)ϵaQπ(s,a)A(s)ϵaQπ(s,a)+aπ(s,a)Qπ(s,a)=Vπ(s)

这说明 π ′ ≥ π \pi' \ge \pi ππ

V π ( s ) = ( 1 − ϵ ) m a x a Q π ( s , a ) + ϵ ∣ A ( s ) ∣ ∑ a Q π ( s , a ) = ( 1 − ϵ ) m a x a ∑ s ′ P s s ′ a [ R s s ′ a + γ V π ( s ′ ) ] + ϵ ∣ A ( s ) ∣ ∑ a ∑ s ′ P s s ′ a [ R s s ′ a + γ V π ( s ′ ) ] \begin{aligned} V^\pi(s) &= (1-\epsilon)max_aQ^\pi(s,a) + \frac{\epsilon}{|A(s)|}\sum_aQ^\pi(s,a)\\ &= (1-\epsilon)max_a\sum_{s'}P_{ss'}^a[R_{ss'}^a + \gamma V^\pi(s')] + \frac{\epsilon}{|A(s)|}\sum_a\sum_{s'}P_{ss'}^a[R_{ss'}^a + \gamma V^\pi(s')] \end{aligned} Vπ(s)=(1ϵ)maxaQπ(s,a)+A(s)ϵaQπ(s,a)=(1ϵ)maxasPssa[Rssa+γVπ(s)]+A(s)ϵasPssa[Rssa+γVπ(s)]

An epsilon-soft on-policy Monte Carlo control algorithm
ϵ \epsilon ϵ-soft on-policy Monte Carlo control algorithm.

off-policy Monte Carlo Methods:
在介绍此方法之前,先介绍如何用不同策略下生成的episodes来评价另一个策略。
episodes are generated from a different policy, can we use episodes from π ′ \pi' π to estimate value for π \pi π ?
大多数情况下是可以的。要求是:根据策略 π \pi π采取的每一个动作都要在根据策略 π ′ \pi' π生成的episodes中出现过。
也就是说 π ( s , a ) ≥ 0 ⇒ π ′ ( s , a ) ≥ 0 \pi(s,a) \ge 0 \Rightarrow \pi'(s,a) \ge 0 π(s,a)0π(s,a)0


p i ( s ) p_i(s) pi(s): the probability of that complete sequence heppening given policies π \pi π and starting from s s s.
序列,概率连乘。
R i ( s ) R_i(s) Ri(s): the corresponding observed return from state s s s.

根据出现的概率来给奖励加权,以得到 V π ( s ) V^\pi(s) Vπ(s)的无偏估计。
V ( s ) = ∑ i = 1 n s p i ( s ) p i ′ ( s ) R i ( s ) ∑ i = 1 n s p i ( s ) p i ′ ( s ) V(s) = \frac{\sum_{i=1}^{n_s}\frac{p_i(s)}{p'_i(s)}R_i(s)}{\sum_{i=1}^{n_s}\frac{p_i(s)}{p'_i(s)}} V(s)=i=1nspi(s)pi(s)i=1nspi(s)pi(s)Ri(s)
因为上述式子中 p i ( s ) p_i(s) pi(s) p i ′ ( s ) p'_i(s) pi(s)是未知的,根据其定义可得知:
p i ( s t ) = ∏ i T i ( s ) − 1 π ( s k , a k ) P s k s k + 1 a k p_i(s_t) = \prod_i^{T_i(s)-1}\pi(s_k,a_k)P_{s_ks_{k+1}}^{a_k} pi(st)=iTi(s)1π(sk,ak)Psksk+1ak
其中 T i ( s ) T_i(s) Ti(s)是第 i t h i^{th} ith episode 的终止态。
可以得到:
p i ( s t ) p i ′ ( s t ) = ∏ k = t T i ( s ) − 1 π ( s k , a k ) π ′ ( s k , a k ) \frac{p_i(s_t)}{p'_i(s_t)} = \prod\limits_{k=t}^{T_i(s)-1}\frac{\pi(s_k,a_k)}{\pi'(s_k,a_k)} pi(st)pi(st)=k=tTi(s)1π(sk,ak)π(sk,ak)
可以通过其比值来求解最终的表达式。

off-poliy Monte Carlo Control:
区别:
on-policy Monte Carlo Control:用当前评价的策略来控制。控制、评价所用的策略是一样的。
off-policy Monte CArlo Control: 将两者分离为behavior policy(to generate behavior) 和 estimation polciy(evaluated and improved)
,另外 they follow the behavior policy while learning about and improving the estimation policy.
优点:
当评价策略是最优的时候,behavior policy 仍然可以对所有可能的action进行采样。

an off-policy Monte Carlo control algorithm.
an off-policy Monte Carlo control algorithm.

算法遇到的困难:只在每个episode 的终止处进行学习,如果非贪心的action很频繁,那学习就会很慢。


3.实现方式
(1)非递增方式:之前介绍的算法实现都是以非递增方式实现的。
(2)递增方式:当每一个瞬时奖励产生的时候立即处理,不会增加计算和内存大额额外要求。
Monte Carlo 例子和 多臂问题的区别:
Monte Carlo 例子是多状态的,而多臂问题中状态是单值的;Monte Carlo 对于奖励分布是不固定的,而多臂问题中奖励分布是固定的。

两种实现方式的目标是一致的:
V n = ∑ k = 1 n ω k R k ∑ k = 1 n ω k V_n = \frac{\sum_{k=1}^n \omega_k R_k}{\sum_{k=1}^n \omega_k} Vn=k=1nωkk=1nωkRk
ω n ( s ) = p n ( s ) p n ′ ( s ) \omega_n(s) = \frac{p_n(s)}{p'_n(s)} ωn(s)=pn(s)pn(s)按照之前介绍的。

递增公式是:
V n + 1 = V n + ω n + 1 W n + 1 [ R n + 1 − V n ] V_{n+1} = V_n + \frac{\omega_{n+1}}{W_{n+1}}[R_{n+1} - V_n] Vn+1=Vn+Wn+1ωn+1[Rn+1Vn]
其中:
W n + 1 = W n + ω n + 1 W_{n+1} = W_n + \omega_{n+1} Wn+1=Wn+ωn+1
V 0 = W 0 = 0 V_0 = W_0 = 0 V0=W0=0


例子说明
有一个episode : s 1 , s 2 , s 3 , T s_1, s_2, s_3, T s1,s2,s3,T
其中: ω n \omega_n ωn分别为 1 4 \frac{1}{4} 41, 1 4 \frac{1}{4} 41, 2 4 \frac{2}{4} 42(ratio)
R n R_n Rn分别为 2, 2, 1.(瞬时奖励)
非递增实现方式:
直接按照目标方程来求解:
V 3 = 1 4 ∗ 2 + 1 4 ∗ 2 + 2 4 ∗ 1 1 4 + 1 4 + 2 4 = 1.5 V_3 = \frac{\frac{1}{4}*2 + \frac{1}{4}*2 + \frac{2}{4}*1}{\frac{1}{4} + \frac{1}{4} + \frac{2}{4}} = 1.5 V3=41+41+42412+412+421=1.5
递增实现方式:
按照递增公式求解:
初始: V 0 = 0 V_0 = 0 V0=0, W 0 = 0 W_0 = 0 W0=0
s 1 s_1 s1: v 1 = 0 + 1 4 0 + 1 4 [ 2 − 0 ] = 2 v_1 = 0 + \frac{\frac{1}{4}}{0 + \frac{1}{4}}[2-0] = 2 v1=0+0+4141[20]=2
s 2 s_2 s2: v 2 = 2 + 1 4 1 4 + 1 4 [ 2 − 2 ] = 2 v_2 = 2 + \frac{\frac{1}{4}}{\frac{1}{4} + \frac{1}{4}}[2- 2] = 2 v2=2+41+4141[22]=2
s 3 s_3 s3: v 3 = 2 + 2 4 1 2 + 2 4 [ 2 − 1 ] = 1.5 v_3 = 2 + \frac{\frac{2}{4}}{\frac{1}{2} + \frac{2}{4}}[2-1] = 1.5 v3=2+21+4242[21]=1.5


5.4 Summary

1.MC 与 DP 比较,优点有四:
(1).可以通过直接和环境交互的方式来学习最优策略,无需对模型有完备的知识;
(2).可以用模拟的模型或者采样的模型,不需要完整的转移概率(DP 需要 P s s ′ a P_{ss'}^a Pssa R s s ′ a R_{ss'}^a Rssa);
(3).可以只通过部分的状态信息来使用MC,不需要全部的状态信息;
(4).MC may be less harmed by violations of the Markov property, they don’t bootstrap。对于马尔科夫性质保留的较好。


bootstrap: update their value estimates on the basis of other value estimates of successor states.
依据其它状态value的信息来更新此时状态value的信息。


2.MC 的关键:保持足够的探测。
Maintaining sufficient exploration is an issue in Monte Carlo control methods.


3.解决强化学习问题的MC 的背景:
(1).收敛性不定;
(2).有效性很少在实际应用中得到验证;
(3).很简洁。


4.MC 与 DP 的不同之处:
(1).MC 采用采样经验来学习,无需掌握完备知识模型;
(2).MC 不 bootstrap, 也就是说MC 更新自己value的值不会依靠于其它value的值。


第一版第五章:Richard S. Sutton and Andrew G. Barto.《An Introduction to Reinforcement Learning》
现已有第二版

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值