(零基础可以看懂)强化学习中的蒙特卡罗应用(贝尔曼方程)(含代码)

您所在的位置:网站首页 蒙特卡洛app下载 (零基础可以看懂)强化学习中的蒙特卡罗应用(贝尔曼方程)(含代码)

(零基础可以看懂)强化学习中的蒙特卡罗应用(贝尔曼方程)(含代码)

2024-07-15 16:18| 来源: 网络整理| 查看: 265

(零基础可以看懂)强化学习中的蒙特卡洛应用(贝尔曼方程)(含代码)-《强化学习系列专栏第2篇》 介绍 蒙特卡罗方法的介绍 First-Visit Monte-Carlo Policy Evaluation(首次访问型蒙特卡罗策略估计) Every-Visit Monte-Carlo Policy Evaluation(每次访问型蒙特卡罗策略估计) 代码复现、详细讲解及我的Github地址

介绍

    蒙特卡罗方法,简单一句话来理解,就是基于大数定律,使用采样的方式来估算分布。应用在强化学习中,更多的是将复杂环境的模型给“替换”掉。这个怎么理解呢?《(零基础可以看懂)强化学习中的动态规划(贝尔曼方程)(含代码)-》这篇文章中,我说明了如何使用迭代法去近似最优解,但使用这个算法的前提是我们需要知道环境的信息,比如我上述文章的例子中,我向左走,会走到哪个状态,或者是按照什么样的概率获得多少的回报等等这些信息。但是实际情况下,状态可能有上千万种,比如围棋一共有361个个字,每个格子都有两种情况(黑棋或白棋),那粗略的计算一下,也将近有 2 361 2^{361} 2361种状态,想象一下使用上述文章中的迭代法来近似最优解,其计算复杂度有多高,普通PC机根本求解不出来。因此,也就诞生了使用蒙特卡洛方法去近似贝尔曼方程的最优解。而蒙特卡罗方法求解的时候只需要无脑的采样(也就是让智能体在环境中执行动作,获得奖励,执行动作,获得奖励…………结束),然后根据采样到的结果,取平均,就能得到一个估计值,并且这个估计值是无偏估计(也就是估计值与真实值的方差随着采样数量的增加,而趋于0)。     这里说一句,需要使用环境的模型去求解最优解的算法称为Model-Based方法。不需要知道环境的信息就可以求解最优解的算法称为Model-Free方法。

蒙特卡罗方法的介绍

    使用蒙特卡罗方法的时候,采样的数据是以一幕一幕(一个episode被称为一幕)划分的。什么叫一幕呢?比如玩一把游戏,玩一次迷宫,完好之后,我们可以统计出这样的序列出来,这样的序列称为一幕。 s 1 , a 1 , r 2 , s 2 , a 2 , r 3 , . . . , . . . , s t − 1 , a t − 1 , r t , s t , a t , r t + 1 , t e r m i n a l s_1,a_1,r_2,s_2,a_2,r_3,...,...,s_{t-1},a_{t-1},r_t,s_t,a_t,r_{t+1},terminal s1​,a1​,r2​,s2​,a2​,r3​,...,...,st−1​,at−1​,rt​,st​,at​,rt+1​,terminal

    蒙特卡罗方法分为First-Visit Monte-Carlo Policy Evaluation(首次访问型蒙特卡罗策略估计)和Every-Visit Monte-Carlo Policy Evaluation(每次访问型蒙特卡罗策略估计)。它们的区别在于在采样的时候,在计算样本数量的时候,每次访问型蒙特卡罗策略估计的方法在一幕中,出现几次的要统计的量,那就统计几次。而首次访问型蒙特卡罗策略估计在一幕中只会统计一次要统计的量,尽管出现了多次。

First-Visit Monte-Carlo Policy Evaluation(首次访问型蒙特卡罗策略估计)

    举个例子来说,假如我们现在要用“首次访问型蒙特卡罗策略估计”去估算动作状态 q ( s 0 , a 0 ) q(s_0,a_0) q(s0​,a0​)的价值。一共采样了 N N N幕,其中共有 N ( s ) N(s) N(s)幕出现了动作状态 q ( s 0 , a 0 ) q(s_0,a_0) q(s0​,a0​),那么这个时候,按以下方法去计算动作状态 q ( s 0 , a 0 ) q(s_0,a_0) q(s0​,a0​)的价值。 (1)记录每一幕中,第一次出现动作状态 q ( s 0 , a 0 ) q(s_0,a_0) q(s0​,a0​)开始,直到该幕结束的reward。然后将每一幕reward相加求和,记为 S ( s ) S(s)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3