强化学习系列(五):蒙特卡罗方法(Monte Carlo)

本文深入探讨了在环境模型未知时,如何使用蒙特卡罗方法(Monte Carlo)解决强化学习问题。文章介绍了Monte Carlo预测(Prediction)的first-visit和every-visit策略评估,强调了incremental mean在实际应用中的重要性。此外,还详细讲解了Monte Carlo控制(Control)的原理,包括exploring starts、on-policy和off-policy方法,并涉及importance sampling在off-policy学习中的应用。文章最后总结了Monte Carlo方法在无模型强化学习中的价值及其局限性,为后续的Temporal Difference算法做了铺垫。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、前言

强化学习系列(四):动态规划中,我们介绍了采用DP (动态规划)方法求解environment model 已知的MDP(马尔科夫决策过程),那么当environment model信息不全的时候,我们会采用什么样的方法求解呢?蒙特卡洛方法(Monte Carlo)、时间差分(Temporal Difference,TD)、n-step Bootstrapping 都可以用来求解无模型的强化学习问题,本章主要介绍蒙特卡洛方法(Monte Carlo)。

在解决实际问题中,我们通常不太容易获得环境的准确模型,例如打牌的时候,不知道对手会出什么牌,这样各个state间的转移概率就不太容易直接表示。相对而言,获得采样数据通常比较容易实现,比如打牌,可以打好多次牌,然后逐渐就可以估计对手的出牌风格。根据统计数学的思想,我们可以通过不断采样然后求平均的方式实现对环境模型的学习。这种近似方式我们称为经验方式。

Monte Carlo正是这样一种用经验来估计环境模型的方法,可以在环境模型未知的情况下,根据经验(experience,从环境中获取的一系列的state、action、reward采样) 来进行学习。为了方便使用Monte Carlo,本章假设所需解决的强化学习问题都是episode的,即存在一个终止状态(terminal state),使得每次对环境的采样以有限步结束。

这里将第四章中的GPI(general policy iteration) 思想用于Monte Carlo,将问题分为 prediction 和 control来进行讨论。

二、Monte Carlo Prediction

2.1 Prediction 问题

预测问题:给定一个策略 π π ,求解 state-value function vπ(s) v π ( s )

回想一下,我们在第二章中提到的多臂老虎机问题,假设给定一个策略 π π ,对任意state,每次摇动拉杆都按照策略 π π 选择action。需要估计state-value function vπ(s) v π ( s ) 。老虎机每次摇动拉杆获得的数据是 S,A,R S , A , R ,仅包含一个state 和 一个 action。要估计某一特定state s 的value function 可以根据统计多次采样中出现state s的数目 N(s) N ( s ) ,然后求多次实验获得的reward的平均值来估计。求解过程如下:


Average Reward

To evaluate state s
when state s is visited in an episode
increment counter N(s)N(s)+1 N ( s ) ← N ( s ) + 1
increment total reward S(s)S(s)+R S ( s ) ← S ( s ) + R
Value is estimated by mean reward V(s)=S(s)/N(s) V ( s ) = S ( s ) / N ( s )
By law of large numbers, V(s)vπ(s) V ( s ) → v π ( s ) as N(s) N ( s ) → ∞


而很多问题远比老虎机问题复杂,因为每次采样所获得的采样数据是一系列的state、action、reward,如 S0,A0,R1,...,ST1,AT1,RT S 0 , A 0 , R 1 , . . . , S T − 1 , A T − 1 , R T , 状态和动作序列间存在联系,不能单独将state s所获得的reward 单独剥离出来求平均值,因此Monte Carlo考虑了根据state s 出现后的return(reward 之和)来进行策略估计。但一组采样中 state s 可能多次出现,那么计算哪一次出现 state s到terminal state 的return呢?这里衍生出两种Monte Carlo:first-visit MC 和 every-visit MC。两个方法的求解过程分别如下:


First-Visit MC policy evaluation (Average Return)

To evaluate state s
The first time-step t t that state s is visited in an episode,
increment counter N ( s ) N ( s ) + 1
increment total return S(s)S(s)+Gt S ( s ) ← S ( s ) + G t
(where Gt

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值