sheng的学习笔记-AI-蒙特卡罗强化学习

news2024/12/23 9:29:44

AI目录:sheng的学习笔记-AI目录-CSDN博客

强化学习:sheng的学习笔记-AI-强化学习(Reinforcement Learning, RL)-CSDN博客

K-摇臂赌博机(K-armed bandit):https://blog.csdn.net/coldstarry/article/details/142390324

基础知识

什么是免模型学习

亦称“无模型学习”​。在现实的强化学习任务中,环境的转移概率、奖赏函数往往很难得知,甚至很难知道环境中一共有多少状态.若学习算法不依赖于环境建模,则称为“免模型学习”(model-free learning)

在免模型情形下,策略迭代算法首先遇到的问题是策略无法评估,这是由于模型未知而导致无法做全概率展开.此时,只能通过在环境中执行选择的动作,来观察转移的状态和得到的奖赏。

什么是蒙特卡罗强化学习

蒙特卡罗是强化学习中的免模型学习

一种直接的策略评估替代方法是多次“采样”​,然后求取平均累积奖赏来作为期望累积奖赏的近似,这称为蒙特卡罗强化学习。由于采样必须为有限次数,因此该方法更适合于使用T步累积奖赏的强化学习任务。

策略迭代算法估计的是状态值函数V,而最终的策略是通过状态-动作值函数Q来获得。当模型已知时,从V到Q有很简单的转换方法,而当模型未知时,这也会出现困难。于是,我们将估计对象从V转变为Q,即估计每一对“状态-动作”的值函数。

蒙特卡罗强化学习算法通过考虑采样轨迹,克服了模型未知给策略估计造成的困难。蒙特卡罗强化学习算法的本质,是通过多次尝试后求平均来作为期望累积奖赏的近似,但它在求平均时是“批处理式”进行的,即在一个完整的采样轨迹完成后再对所有的状态-动作对进行更新

这样的速度会比较慢

状态-动作值函数预估

在模型未知的情形下,机器只能是从一个起始状态(或起始状态集合)开始探索环境,而策略迭代算法由于需对每个状态分别进行估计,因此在这种情形下无法实现。例如探索种瓜的过程只能从播下种子开始,而不能任意选择种植过程中的一个状态开始。因此,我们只能在探索的过程中逐渐发现各个状态并估计各状态-动作对的值函数。

在模型未知的情形下,我们从起始状态出发,使用某种策略进行采样,执行该策略T步并获得轨迹

对轨迹中出现的每一对状态-动作,记录其后的奖赏之和,作为该状态-动作对的一次累积奖赏采样值。多次采样得到多条轨迹后,将每个状态-动作对的累积奖赏采样值进行平均,即得到状态-动作值函数的估计

策略改进

同策略和异策略

  • 同策略:在执行【策略评估】和【策略提升】的时候,使用的是相同的策略
  • 异策略:在执行【策略评估】和【策略提升】的时候,使用的不是相同的策略。

使用蒙特卡罗方法进行策略评估后,同样要对策略进行改进

“同策略”(on-policy)蒙特卡罗算法

被评估与被改进的是同一个策略,因此称为“同策略”(on-policy)蒙特卡罗强化学习算法。算法中奖赏均值采用增量式计算,每采样出一条轨迹,就根据该轨迹涉及的所有“状态-动作”对来对值函数进行更新。

“异策略”(off-policy)蒙特卡罗算法

 同策略蒙特卡罗强化学习算法最终产生的是-贪心策略。然而,引入-贪心是为了便于策略评估,而不是为了最终使用;实际上我们希望改进的是原始(非-贪心)策略。

能否仅在策略评估时引入-贪心,而在策略改进时却改进原始策略呢。

基于一个分布的采样来估计另一个分布下的期望,称为重要性采样(importance sampling)。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2167976.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【AAOS】CarService -- Android汽车服务

概述 Android Automative OS理解为Android OS + Android Automative Service,而CarService就是提供汽车相关功能的最主要模块。 CarService与Android OS的关系:CarService运行于独立的进程中,其作为原有Android服务的补充,在汽车设备上运行。CarService在整体车载通信中起…

海南聚广众达电子商务咨询有限公司可靠不?

在这个短视频与直播电商风起云涌的时代,海南聚广众达电子商务咨询有限公司以其专业的服务能力和敏锐的市场洞察力,在抖音电商领域脱颖而出,成为了众多商家信赖的合作伙伴。今天,就让我们一同走进海南聚广众达,探索它是…

LLM - 使用 vLLM 部署 Qwen2-VL 多模态大语言模型 (配置 FlashAttention) 教程

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/142528967 免责声明:本文来源于个人知识与公开资料,仅用于学术交流,欢迎讨论,不支持转载。 vLLM 用…

VS Code使用Git Bash终端

Git Bash可以运行linux命令,在VS Code的终端界面,找到号旁边的箭头,就能直接切换了 当然,前提是安装了Git Bash,并且在资源管理器里,能鼠标右键出"Git Bash Here"

【个人笔记】线程和线程池的状态以及转换方式

线程和线程池的状态是不一样的!! 线程有 6 种状态,查看Thread的State枚举类: NEW:创建后没启动的线程就处于这种状态RUNNABLE:正在java虚拟机中执行的线程就处于这种状态BLOCKED:受阻塞并等待…

前端中CSS选择器权重的问题

前言 前端中很重要的CSS,使得网页更加丰满美丽,我们使用CSS时,必不可少的需要使用选择器,选择器也分为简单选择器和复合选择器。而在给选择器中填充内容时,有时候会有一些命令重复,会涉及到优先级的问题&a…

setInterval 实现匀速运动示例【JavaScript】

这段代码利用 setInterval 实现了一个简单的动画&#xff0c;当用户点击按钮时&#xff0c;页面上的方块会向右移动&#xff0c;直到到达一定的边界为止。 实现效果&#xff1a; 代码&#xff1a; <!DOCTYPE html> <html lang"zh"><head><met…

Java搭建法律AI助手,快速实现RAG应用

使用AI4J快速接入RAG应用 | 结合Pinecone实现法律AI助手RAG应用 本博文给大家介绍一下如何使用AI4J快速接入OpenAI大模型&#xff0c;并且结合Pinecone向量数据库实现一个刑法AI助手的RAG应用。 介绍 由于SpringAI需要使用JDK17和Spring Boot3&#xff0c;但是目前很多应用依…

初识 C 语言(一)

目录 一、 第一个 C 程序1. printf() 函数和 stdio.h 头文件2. main() 函数和 return 语句 二、类型和变量1. C 语言中的基本类型2. 变量的创建和命名规则3. 类型和变量的大小 三、printf() 函数和 scanf() 函数1. printf() 函数的使用2. 各种类型的输出格式3. scanf() 函数的使…

屏幕翻译下载哪个?建议试试这5个

国庆假期快到了&#xff0c;计划出国游或享受宅家追更海外剧的你&#xff0c;是否担心语言不通带来的小困扰&#xff1f; 别急&#xff0c;下面这篇文章就为你揭秘5款屏幕翻译免费软件&#xff0c;无论是浏览外国网站、阅读外语文档还是跨越语言障碍&#xff0c;都毫无压力。 …

YOLOv8-pose+streamlit 实现人体关键点检测/姿态估计系统(后续可用于健身时的姿态估计,训练纠正等....)

人体关键点检测系统 一、安装与配置1.1 安装 Streamlit1.2 配置文件1.3 运行Streamlit应用1.4 找模板 二、人体关键点检测算法2.1 关键点序号2.2 YOLOv8-pose图像推理 三、将YOLOv8-pose算法内置到streamlit中3.1 整体结构3.2 常见问题- RGB通道颠倒- Numpy与OpenCV之间的转换 …

java-必会jdk1.8新特性

1:抽象类的变化 前言&#xff1a; 接口里只能做方法定义不能有方法的实现&#xff0c;抽象类的方法不需要继承类必须去实现的一种方式。 定义一个抽象类TestAbstractclass 如下 package com.lm.jdk8.Abstractclass;/*** 抽象类*/ public abstract class Abstractclass {abstrac…

通信工程学习:什么是PNF物理网络功能

PNF:物理网络功能 PNF(Physical Network Function)即物理网络功能,是指支持网络功能的物理设备。以下是关于PNF的详细解释: 一、定义与特点 定义: PNF是网络设备厂商(如Cisco、华为、H3C等)通过专用硬件实体提供软件功能的设备。这些设备直接在物理服务器上运…

java:异常处理

背景 Java中的异常体系基于几个关键的概念和类&#xff0c;主要包括Throwable类、Exception类&#xff08;及其子类&#xff09;和Error类。 异常分类 1. Throwable 类 Throwable 是所有错误与异常的超类。它有两个直接子类&#xff1a;Error 和 Exception。 2. Error 类 …

【OpenAI o1思维链CoT必看论文】谷歌“思维链提示“让AI更懂人类推理

原创 超 超的闲思世界 AI的推理能力正迎来一场重大突破。谷歌大脑团队最新开发的"思维链提示"方法&#xff0c;让大型语言模型在复杂推理任务上展现出惊人的进步。这项创新技术无需对模型进行额外训练&#xff0c;却能显著提升AI的推理能力&#xff0c;让机器的思…

python命令行怎么换行

在命令行中“>>>”是python的输入提示符&#xff0c;按回车键则表示输入结束。那么如何在命令行中换行呢&#xff1f; 换行方法&#xff1a;\ 如&#xff1a; >>> print aaa; \ ... print bbb; \ ... print ccc 注意“&#xff1b;”的使用。python本身语句…

excel单元格增加可选下拉列表

excel单元格增加可选下拉列表 下拉设置&#xff1a;数据–数据验证-选择序列-填写来源&#xff08;来源数据用英文逗号分隔&#xff09;&#xff08;是,否&#xff09;- 区域应用&#xff1a;选定区域-数据验证-是-确认

2024年第十届信息学与商业工程国际会议(ICIBE 2024)将在泰国曼谷召开!

2024年第十届信息学与商业工程国际会议 (ICIBE 2024) 将于2024年12月20日-22日在泰国曼谷举办。ICIBE 2024由泰国兰实大学主办&#xff0c;中国澳门大学和菲律宾马普亚大学提供技术支持。本次会议为来自世界各地的专业人士、科学家、工程师、教育工作者、学生和研究人员提供了一…

tauri程序加载本地图片或者文件在前端页面展示

要想在前端页面中展示本地文件或者文件夹&#xff0c;需要使用convertfilesrc这个api&#xff0c;可以非常方便的展示内容&#xff0c;官方文档&#xff1a;tauri | Tauri Apps convertFileSrc甚至位于invoke之前&#xff0c;但我却一直没有注意到它&#xff0c;一方面是因为&…

街头摊贩检测系统源码分享

街头摊贩检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer Vis…