图解强化学习|手算无模型学习:蒙特卡罗与时序差分

在线体验各类最新模型,更有模型 免费Token 额度领取!
立即体验
简介: 这篇博客介绍了强化学习在21点游戏中的应用,重点讲解了蒙特卡罗和时序差分两种无模型算法。游戏规则方面,详细说明了21点的观测状态、动作空间(要牌/停牌)、胜负判定和奖励机制。算法部分,蒙特卡罗方法通过完整对局后反向更新价值函数,而时序差分则采用单步更新策略,结合即时奖励和下一状态估值进行动态调整。文章通过具体示例展示了两种算法的计算流程,包括回报累加、Q值更新和策略优化过程,适合强化学习初学者理解基础概念。

  image.gif

21 点(Blackjack)

观测是三元组: (玩家点数, 庄家明牌点数, 是否有可用Ace);Ace 可记 11 点(可用)或 1 点,优

先按 11 计算,爆牌时自动转为 1 点。

仅两个选择:0=停牌(不再要牌)、1=要牌(再抽一张牌),牌池为有放回抽样。

开局双方各发两张牌;玩家先决策,持续要牌直到停牌或点数超 21(爆牌),对局提前结束。

玩家停牌后,庄家亮暗牌并按固定规则补牌:点数不足 17 必须要牌,≥17 则停牌。

                玩家点数>庄家 / 庄家爆牌:玩家胜,奖励+1

                玩家爆牌 / 玩家点数<庄家:玩家负,奖励-1

               点数一致:平局,奖励0

对局中途即时奖励均为0,仅对局结束后结算奖惩。

                                     玩家选择停牌;或玩家要牌后点数超过 21。


蒙特卡罗算法

核心思想

无模型学习无法获取环境转移概率,只能依靠与环境交互得到的完整对局(Episode) 估计价值。

蒙特卡洛方法 是最直观的无模型算法:必须跑完一整局游戏,拿到最终胜负奖励后,再反向更新

每一步的价值与策略。

手算过程

假设我们现在已经玩完了一局游戏,对局轨迹如下:

image.gif

本局为首次对局,所有的动作价值 (Q(s,a))回报(G)列表初始值均为 0 /空列表。

image.gif

步骤 1:逆序遍历轨迹,逐点计算(MC 核心)

image.gif

初始化累积回报:G_sum= 0      首先处理的最后一步(t=1)      

累加累积回报:       G=G_sum+r1=0+1.0=1.0

存入历史回报列表:   此时我们选择的是动作0,所以rewards(s1,0)=[1.0,.......]

更新Q值:   此时我们选择的是动作0,所以Q(s1,0)=mean([1.0,.......])=1.0

然后再更新策略

然后处理(t=0)    

累加累积回报(沿用前面总和): G=G_sum+r2=1.0+0=1.0

存入历史回报列表:   此时我们选择的是动作1,所以rewards(s0,1)=[1.0,.......]

更新Q值:   此时我们选择的是动作1,所以Q(s0,1)=mean([1.0,.......])=1.0

然后再更新策略

image.gif

数学公式

image.gif

时序差分算法

核心思想

                   用 “现实得到的奖励 + 预估未来价值”,去修正 “我之前的估计”。

时序差分 TD = 走一步就更新一步,不用等游戏结束,用 “眼前奖励 + 下一个状态的估计价值” 来更

新当前价值。

手算过程

image.gif

数学公式

image.gif

目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 网络架构
深度解析:Transformer 的“灵魂”——QKV 变换的物理直觉
本文用图书馆检索等生活隐喻,从物理意义与认知科学角度解析Transformer中QKV设计的精妙本质:解耦查询(q)、键(k)、值(v)三重角色,实现语义分离、避免自注意力“自恋”,模拟人类动态信息路由的认知过程。(239字)
418 13
|
1月前
|
存储 搜索推荐 大数据
优路教育借助阿里云Flink+StarRocks+Paimon湖仓一体化构建职业教育业务全链路实时数据服务平台
优路教育大数据团队携手阿里云,基于实时计算 Flink + EMR Serverless StarRocks + DLF(Paimon) 构建了全链路实时数据服务平台,从学员画像、营销筛选到题库关联查询,实现了从“分钟级延迟”到“秒级响应”的质变,为成人教育行业的数据化转型提供了标杆实践。
|
1月前
|
人工智能 机器人 芯片
人工智能|YOLOv8实战
本内容为安全帽检测实战项目,基于YOLOv8模型,涵盖Kaggle数据获取、自定义yaml配置、模型训练(yolo_train.py)与测试(yolo_test.py),并提供服务器(FastAPI+Docker)、边缘(Jetson+TensorRT)及国产嵌入式(RK3588+RKNN)三类部署方案,支持工业场景实时智能识别。(239字)
341 1
|
1月前
|
SQL 安全 程序员
《ZAKU渗透论:卓伊凡的2026渗透工程》第三章:Web攻击原理(上)——注入与SQL注入
本章详解Web攻击核心——注入与SQL注入。通过“小明输入‘小明’OR‘1’=‘1’秒变管理员”的生动案例,揭示攻击本质:程序混淆数据与代码,导致恶意SQL被执行。深入剖析万能密码、数据窃取、权限绕过等危害,并指出漏洞长期存在的根源:历史代码、意识不足与修复成本。
291 2
|
1月前
|
机器学习/深度学习 数据可视化 决策智能
基于神经网络、强化学习、模糊逻辑和小波相结合的混合方法控制欠驱动系统
MATLAB实现展示了如何结合神经网络(NN)、强化学习(RL)、模糊逻辑(FL)和小波变换(WT)来控制欠驱动系统(以倒立摆小车系统为例
150 7
|
1月前
|
机器学习/深度学习 自动驾驶 PyTorch
PyTorch深度学习实战 |SegNet
CamVid_11是面向自动驾驶的语义分割数据集,含700+张精准标注图像,划分为训练/验证/测试集。涵盖道路、车辆、行人等11类场景目标(含背景共12类),支持SegNet等模型训练与评估。
182 3
|
1月前
|
机器学习/深度学习 数据采集 人工智能
田间杂草检测数据集分享(适用于YOLO系列深度学习分类检测任务)
本数据集含4000张真实农田图像(小麦/玉米/水稻田),YOLO格式标注杂草目标,覆盖多天气、光照与视角,适用于YOLO系列等目标检测模型训练,助力智能除草与精准农业研究。(239字)
374 16
|
1月前
|
机器学习/深度学习 人工智能 分布式计算
基于NSGA-III进化算法的多目标电路优化器
基于NSGA-III进化算法的多目标电路优化器
347 122
|
1月前
|
监控 API Windows
WGCLOUD v3.6.8 正式更新
WGCLOUD v3.6.8发布:修复CPU/内存等指标偶现为0、大屏离线数据不显示等Bug;新增Windows系统服务列表及开放API;优化告警脚本执行与SNMP设备运行时间兼容性。升级方式详见官方图示。
|
1月前
|
存储 运维 监控
《告别日志排查:OpenClaw如何修复工具错误指南》
传统工具调用系统依赖预先枚举的错误码,面对异构工具的指数级参数组合和隐蔽语义错误时彻底失效,只能靠人工排查海量日志救火。本文深入拆解OpenClaw的革命性设计,它彻底抛弃被动防御思路,构建了语法校验、语义验证、目标对齐三层递进的语义自愈体系。通过异常语义化建模、工具间协同纠错、动态粒度控制和自学习闭环,将异常转化为系统进化的养分,实现95%以上常见异常的自主修复。这套机制为通用智能体的鲁棒性提供了全新技术路径,重新定义了工具调用的可靠性标准。
237 9