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

news2025/4/17 3:54:33

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

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

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

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

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

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

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

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

  • 不管是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.coloradmin.cn/o/2331841.html

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

相关文章

虚幻5的C++调试踩坑

本地调试VS附加调试 踩坑1 预编译版本的UE5没有符号文件,无法调试源码 官方代码调试所需要的符号文件bdp需要下载导入。我安装的5.5.4是预编译版本,并非ue5源码。所以不含bdp文件。需要调试官方代码则需要通过EPIC中下载安装。右键UE版本,打…

通信协议详解(十):PSI5 —— 汽车安全传感器的“抗干扰狙击手”

一、PSI5是什么? 一句话秒懂 PSI5就像传感器界的“防弹信使”:在汽车安全系统(如气囊)中,用两根线同时完成供电数据传输,即便车祸时线路受损,仍能确保关键信号准确送达! 基础概念…

从零开始学Python游戏编程18-函数3

《从零开始学Python游戏编程17-函数2》中,通过代码重构的方式将游戏的主要代码写入到自定义函数runGame()中。对于runGame()中的代码,可以继续对其进行重构,以达到简化代码结构的目的。 1 自定义函数askPlayer() 1.1 函数作用 自定义函数a…

Spring事务传播机制

Spring 事务传播机制定义了在多个事务方法相互调用时,事务如何在这些方法间传播。它决定了一个事务方法调用另一个事务方法时,新的事务是如何开启、是否要加入已有的事务等情况。Spring 提供了 7 种事务传播行为,下面是详细介绍。 解释说明&…

Java常用工具算法-5--哈希算法、加密算法、签名算法关系梳理

1、哈希算法 数学本质:将任意长度输入(明文)映射为固定长度输出(哈希值,也称摘要)。主要特点: 不可逆性:无法通过哈希值反推原始输入。雪崩效应:输入的微小变化导致哈希…

python之安装PaddlePaddle和PaddleX解析pdf表格

目录标题 飞桨PaddlePaddle本地安装教程1-1. 基于 Docker 安装飞桨1-2. 基于 pip 安装飞桨2. 我两个环境 都选择的是pip 安装10. 如果报错10. 离线安装 飞桨PaddlePaddle本地安装教程 源码下载:https://github.com/PaddlePaddle/PaddleX/blob/release/3.0-beta1/do…

【11408学习记录】英语语法核心突破:揭秘表语从句结构与通知写作实战技巧

表语从句与通知写作 英语语法总结——主从复合句表语从句语句结构系动词表语从句的位置 写作通知写作第二段第三段落款 每日一句词汇第一步:找谓语第二步:断句第三步:简化第一句第二句第三句第四句第五句 英语 语法总结——主从复合句 表语…

封装红黑树实现map和set

前言: 之前我们学习了set与map容器的如何使用,红黑树的实现。接下来我们来看看如何通过封装红黑树,实现我们自己的set与map 相关文章:oi!让我来给你唠唠咋实现红黑树☝️-CSDN博客 超详细介绍map&…

解码AI大脑:Claude的思维显微镜与语言炼金术

(前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站)。 一、多语言思维实验:Claude的“概念空间”如何运转? 跨语言谜题:反义词的…

中科岩创基坑自动化监测解决方案

1.行业现状 城市基坑开挖具有施工风险高、施工难度大等特点。由于地下土体性质、荷载条件、施工环境的复杂性,单根据地质勘察资料和室内土工试验参数来确定设计和施工方案,往往含有许多不确定因素,对在施工过程中引发的土体性状、环境、邻近建…

机器学习01-支持向量机(SVM)(未完)

参考浙大 胡浩基老师 的课以及以下链接: https://blog.csdn.net/m0_74100344/article/details/139560508 https://blog.csdn.net/2301_78630677/article/details/132657023 https://blog.csdn.net/lsb2002/article/details/131338700 一、一些定义 T是倒置&…

[ctfshow web入门] web32

前置知识 协议相关博客:https://blog.csdn.net/m0_73353130/article/details/136212770 include:include "filename"这是最常用的方法,除此之外还可以 include url,被包含的文件会被当做代码执行。 data://&#xff1a…

鸿蒙开发中的并发与多线程

文章目录 前言异步并发 (Promise和async/await)多线程并发并发能力选择耗时任务并发执行场景常见业务场景 常驻任务并发执行场景常见业务场景 传统共享内存并发业务长时任务并发执行场景常见业务场景 并发任务管理线程间通信同语言线程间通信(ArkTS内)线…

TCP和UDP的区别是什么?

1. 基本特性: TCP: 面向连接:在数据传输开始前,TCP需要在通信双方建立连接(三次握手)。可靠性:TCP保证数据的可靠传输,通过确认应答、重传机制、数据包顺序等确保数据无误到达。流量控制和拥塞…

MySQL 函数(入门版)

目录 一、字符串函数 1、常用的字符串函数 2、函数演示 3、具体案例 二、数值函数 1、常用的数值函数 2、函数演示 3、具体案例 三、日期函数 1、常用的日期函数 2、函数演示 3、具体案例 四、流程函数 1、常用的流程函数 2、函数演示 3、具体案例 在MySQL中&a…

Simulink中Signal Builder在新版中找不到怎么办

在较新的MATLAB版本中,新版Simulink中的Signal Builder用Signal Editor作为替代工具。 signal builder not shown in matlab - MATLAB Answers - MATLAB Central signalBuilderToSignalEditor 1.打开上面第二个链接 2.点击拷贝 3.然后在命令行中粘贴 4.然后就会…

SvelteKit 最新中文文档教程(19)—— 最佳实践之身份认证

前言 Svelte,一个语法简洁、入门容易,面向未来的前端框架。 从 Svelte 诞生之初,就备受开发者的喜爱,根据统计,从 2019 年到 2024 年,连续 6 年一直是开发者最感兴趣的前端框架 No.1: Svelte …

Cursor编程-从入门到精通__0409

早期的Github Copilot 最近更新了,支持Agent编程,字节跳动Trae使用(免费),但成熟程度不如Cursor,Cursor前50次免费 Copilot VS Cursor*** 1,Cursor VSCode 二次开发,IDE级别 2&…

VSCode、clangd、mingw 配置与使用

1.安装 安装如下软件: VSCodeclangd 扩展mingw-w64 2.配置 配置好 mingw-w64 到用户环境中。 在项目中设置 .clangd 扩展,设置 argument //setting.json"clangd.arguments": ["--query-driverD:\\Development\\Tools\\mingw64\\bin…

深度学习处理文本(14)

使用Transformer进行序列到序列学习 正是序列到序列学习让Transformer真正大放异彩。与RNN相比,神经注意力使Transformer模型能够处理更长、更复杂的序列。要将英语翻译成西班牙语,你不会一个单词一个单词地阅读英语句子,将其含义保存在记忆中,然后再一个单词一个单词地生…