深度强化学习基础 0:通用学习方法

过去自己学习深度强化学习的痛点:

  • 只能看到各种术语、数学公式勉强看懂,没有建立清晰且准确关联

  • 多变量交互关系浮于表面,有时候连环境、代理控制的变量都混淆

  • 模型种类繁多,概念繁杂难整合、对比或复用,无框架分析所有模型

  • 代码实现步骤未清晰划分:环境->定义奖励->创建代理->训练->部署

最根本的原因在于,我们需要一个既能全面表达复杂环境与交互结构,又能统一处理不确定性和动态决策的数学与计算(所有强化学习)框架

概率图模型的“图结构”天然适合分解复杂依赖:

  • 可以把一系列随机变量之间的依赖关系用图的结构直观地呈现出来。

  • 不管是MDP、HMM(隐马尔可夫模型)还是更复杂的POMDP和Bayesian网络,都可以视作是对一系列随机变量之间依赖关系的“图”式表达。

  • 概率图模型以直观的图形方式展示变量之间的因果或条件依赖关系,利于后续的解释或扩展。

强化学习本质:一个序列决策过程,状态 (St)、动作 (At) 以及奖励 (Rt) 随时间演化且相互影响

  • 图模型优势:通过节点和有向边,清晰地展现“谁依赖于谁”,帮助我们明确:

    • 当前时刻状态与动作是如何影响下一个时刻状态与奖励的?

    • 代理(Agent)与环境(Environment)分别控制或决定哪些随机变量?

    • 哪些假设(如马尔可夫性、完全可观测或部分可观测等)在图中如何体现?

概率图模型在统计推断(如Bayesian推断、最大似然估计)方面有完善的理论和工具,因此能与RL中的探索—利用(exploration-exploitation)过程自然结合。

当我们能用一个动态贝叶斯网络或马尔可夫随机场来可视化时,序列之间的关系就变得更加透明。

对于多变量混杂可二分梳理,强化学习中的主体包括“环境”和“代理”。

  • 环境负责提供状态和奖励

  • 代理在环境中采取行动以实现累积收益最大化。

所有强化学习的“通用蓝图”:

没有限定状态空间、动作空间、奖励形式、策略结构、环境类型(确定性/随机性/部分可观测...)。

只展示了宏观的交互关系,而任何“特例”都可以往里套。

环境根据动作(at)和当前状态(st)给出下一时刻状态(st+1)及相应的奖励(rt),然后智能体再继续与环境交互……

  • 状态(st)

    • 抽象了环境在时刻 t 的完整信息;如果不可完全观测,就用观测(ot)或者在 POMDP 框架里再对隐藏状态建模。

    • 不同算法的差别,大多体现在怎样定义或估计这个状态,以及是否需要显式建模环境动力学。

  • 动作(at)

    • 智能体在时刻 t 作出的决策,这个决策可来自直接表格型策略神经网络近似;既可以是离散的也可以是连续的。

    • 但无论用什么表示方法,始终绕不开“在状态下做动作”的这个核心过程。

  • 奖励(rt)

    • 环境对当前状态、动作的一次性反馈,用来指导智能体学习;兼容各种奖励设计(稀疏奖励、密集奖励、多维奖励等)。

    • 强化学习最核心的目标即是最大化“回报”,即从奖励推导的累计收益,这也体现了动态规划的思想。

  • 策略(π(at∣st))

    • 表示智能体在状态 st 下选择动作 at 的概率分布(或确定性函数),正是因为有这个策略才构成了完整的“闭环”。

    • 所有算法都需要“如何表示策略、如何更新/优化策略、如何评价策略的好坏”。

  • 状态转移和观测模型

    • 用概率分布 P(st+1∣st, at) 来刻画环境动力学和不确定性;若有部分可观测,则还要有 P(ot∣st)。

    • 任何随机性、噪声、对未来的不确定,都能融入到这条“状态演化”的概率分布里,并且与奖励、动作紧密结合。

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

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

相关文章

asm汇编源代码之-字库转换程序

将标准的16x16点阵汉字库(下载16x16汉字库)转换成适合VGA文本模式下显示的点阵汉字库 本程序需要调用file.asm中的子程序,所以连接时需要把file连接进来,如下 C:\> tlink chghzk file 调用参数描述如下 C:\> chghzk ; 无调用参数,转换标准库文件(SRC16.FNT)为适合VGA…

uniapp转换markdown

效果 AI智能体 微信小程序 流式 1.安装Node.js 参考:2024最新版Node.js下载安装及环境配置教程(非常详细)_node.js 安装-CSDN博客 2.需要克隆项目到本地或直接到项目地址下载压缩包。 参考:uniapp中解析markdown支持网页和小程序_uniapp ma…

用java代码如何存取数据库的blob字段

一.业务 在业务中我们被要求将文件或图片等转成 byte[] 或 InputStream存到数据库的Blob类型的字段中. 二.Blob类型介绍 在 MySQL 中,Blob 数据类型用于存储二进制数据。MySQL 提供了四种不同的 Blob 类型: TINYBLOB: 最大存储长度为 255 个字节。BL…

qemu(2) -- 定制开发板

1. 前言 qemu支持自定义开发板,本文就记录一下折腾的过程。基于qemu-10.0.0-rc3添加x210vb3s开发板。 2. 添加板卡文件 网上参考了一些文章,有些文章使用的版本和我的不一样,折腾起来费了点时间,最后发现还是直接参考qemu中已有…

Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM)

Python在糖尿病分类问题上寻找具有最佳 ROC AUC 分数和 PR AUC 分数(决策树、逻辑回归、KNN、SVM) 问题模板解题思路1. 导入必要的库2. 加载数据3. 划分训练集和测试集4. 数据预处理5. 定义算法及其参数6. 存储算法和对应指标7. 训练模型并计算指标8. 找…

CPU(中央处理器)

一、CPU的定义与核心作用 CPU 是计算机的核心部件,负责 解释并执行指令、协调各硬件资源 以及 完成数据处理,其性能直接影响计算机的整体效率。 核心功能: 从内存中读取指令并译码。执行算术逻辑运算。控制数据在寄存器、内存和I/O设备间的…

上层 Makefile 控制下层 Makefile 的方法

在复杂的项目中,通常会将项目划分为多个模块或子项目,每个模块都有自己的 Makefile。上层 Makefile 的作用是协调和控制这些下层 Makefile 的构建过程。下面是几种常见的示例,实现上层 Makefile 对下层 Makefile 的控制。 直接调用&#xff1…

prompts提示词经典模板

prompts.py 中的提示词模板详解 文件中定义了两个核心提示词模板:REASON_PROMPT 和 RELEVANT_EXTRACTION_PROMPT。这两个模板在 DeepResearcher 的推理过程中扮演着关键角色。下面我将详细解析这两个模板的结构和功能。 REASON_PROMPT 详解 REASON_PROMPT 是用于指…

使用python获取电脑硬盘信息

import psutil# 获取硬盘信息 disk_partitions psutil.disk_partitions() print(disk_partitions) for partition in disk_partitions:print(f"设备: {partition.device}")print(f"挂载点: {partition.mountpoint}")print(f"文件系统类型: {partitio…

HarmonyOS-ArkUI V2装饰器: @Provider和@Consumer装饰器:跨组件层级双向同步

作用 我们在之前学习的那些控件中,各有特点,也各有缺陷,至今没有痛痛快快的出现过真正能跨组件的双向绑定的装饰器。 比如 @Local装饰器,不能跨组件@Param装饰器呢,能跨组件传递,但是仅仅就是下一层组件接收参数。另外,它是单向传递,不可被重新赋值。如果您非要改值则…

索引下推(Index Condition Pushdown, ICP)

概念 索引下推是一种数据库查询优化技术,通过在存储引擎层面应用部分WHERE条件来减少不必要的数据读取。它特别适用于复合索引的情况,因为它可以在索引扫描阶段就排除不符合全部条件的数据行,而不是将所有可能匹配的记录加载到服务器层再进行…

idea在线离线安装插件教程

概述 对于小白来说,刚使用idea时,还有很多不懂的地方,这里,简单介绍下如何安装插件。让小白能容易上手全盘idea。 1、File -> Settings 2、找到 Plugins -> Marketplace 3、安装 3.1、在线安装 输入想搜索的内容&#x…

豪越赋能消防安全管控,解锁一体化内管“安全密码”

在消防安全保障体系中,内部管理的高效运作是迅速、有效应对火灾及各类灾害事故的重要基础。豪越科技凭借在消防领域的深耕细作与持续创新,深入剖析消防体系内部管理的痛点,以自主研发的消防一体化安全管控平台,为行业发展提供了创…

ES6学习03-字符串扩展(unicode、for...of、字符串模板)和新方法()

一、字符串扩展 1. eg: 2.for...of eg: 3. eg: 二。字符串新增方法 1. 2. 3. 4. 5.

探索Streamlit在测试领域的高效应用:文档读取与大模型用例生成的完美前奏

大模型用例生成前置工作之文档读取——构建你的自动化测试基础 在群友的极力推荐下,开始了streamlit的学习之旅。本文将介绍如何使用Streamlit开发一个多功能文档处理工具,支持读取、预览、格式转换和导出多种测试相关文档(YAML、JSON、DOCX…

flutter 桌面应用之窗口自定义

在开发桌面软件的时候我们经常需要配置软件的窗口的大小以及位置 我们有两个框架选择:window_manager和bitsdojo_window 对比bitsdojo_window 特性bitsdojo_windowwindow_manager自定义标题栏✅ 支持❌ 不支持控制窗口行为(大小/位置)✅(基本…

Cyber Weekly #51

赛博新闻 1、英伟达开源新模型,性能直逼DeepSeek-R1 本周,英伟达开源了基于Meta早期Llama-3.1-405B-Instruct模型开发的Llama-3.1-Nemotron-Ultra-253B-v1大语言模型,该模型拥有2530亿参数,在多项基准测试中展现出与6710亿参数的…

【JS】关于原型/原型链

本文会讲解什么是原型,什么是原型链,以及查找原型的方法,最后会实现一个函数:判断某对象是否有某属性。 定义 原型:函数都有prototype属性,称作原型/原型对象 原型可以放一些方法和属性,共享…

deskflow使用教程:一个可以让两台电脑鼠标键盘截图剪贴板共同使用的开源项目

首先去开源网站下载:Release v1.21.2 deskflow/deskflow 两台电脑都要下载这个文件 下载好后直接打开找到你想要的exe desflow.exe 然后你打开他,将两台电脑的TLS都关掉 下面步骤两台电脑都要完成: 电脑点开edit-》preferences 把这个取…

啥是Spring,有什么用,既然收费,如何免费创建SpringBoot项目,依赖下载不下来的解决方法,解决99%问题!

一、啥是Spring,为啥选择它 我们平常说的Spring指的是Spring全家桶,我们为什么要选择Spring,看看官方的话: 意思就是:用这个东西,又快又好又安全,反正就是好处全占了,所以我们选择它…