游乐游手机版
首页/AI教程/文章详情

图解强化学习之手算马尔可夫随机过程

时间:2026-06-06 16:31
在强化学习的世界里,有几个核心概念是绕不开的基石。从最基本的“看”(马尔可夫观测过程)到“做”(马尔可夫决策过程)再到“想”(马尔可夫奖励过程),这三个层次构成了理解智能体如何与环境交互的完整框架。下面我们逐一拆解。 马尔可夫观测过程(看) 未来的状态,只取决于当前状态,和过去无关。这就是马尔可夫性

在强化学习的世界里,有几个核心概念是绕不开的基石。从最基本的“看”(马尔可夫观测过程)到“做”(马尔可夫决策过程)再到“想”(马尔可夫奖励过程),这三个层次构成了理解智能体如何与环境交互的完整框架。下面我们逐一拆解。

马尔可夫观测过程(看)

未来的状态,只取决于当前状态,和过去无关。这就是马尔可夫性的精髓。本小节讨论的马尔可夫观测过程,本质上就是马尔可夫过程(Markov Process)。

马尔可夫性

简单说就是:未来状态的条件概率分布,只依赖于当前状态。比如一个学生现在正在上第二节课,接下来会发生什么(去上第三节课还是刷朋友圈),只取决于“他现在处于第二节课”这个状态,跟他怎么到这一步的——是认真听讲一路过来,还是打瞌睡混过来的——没有半点关系。只要当前状态是C2(第二节课),从C2出发的下一步转移概率就是固定的。

比如:

P(C3 | C2) = 0.8
P(FB | C2) = 0.2

80% 的概率去上第三节课,20% 的概率去刷朋友圈。就这么简单直接。

状态空间(S)

状态空间就是智能体所有可能状态构成的集合。可以分为两类:
离散状态空间:状态是有限或可数的,比如迷宫里的格子、学习过程中的各个阶段。
连续状态空间:状态是连续取值的,比如机器人的位置坐标、速度、温度。

拿学生的一天来说:状态包括C1(第一节课)、C2(第二节课)、C3(第三节课)、Pass(通过考试)、Pub(去酒吧)、FB(刷朋友圈)、Sleep(睡觉,这也是终止态)。

状态转移矩阵(P)

状态转移矩阵就是把所有状态之间的转移概率打包成一张表。比如第1行就是从状态s1出发,到所有其他状态的概率。它完整刻画了环境动态。

学生一天的状态变化过程,可以看作马尔可夫过程产生的一条轨迹(trajectory),也叫样本路径(sample path)。如果从强化学习的视角看,从初始状态到终止状态(Sleep)的完整过程,就是一个episode(回合)。

马尔可夫决策过程(MDP)(做)

到这里,智能体不再只是被动地“看”世界,而是可以通过动作来影响环境。动作空间和策略,是MDP引入的两个核心概念。

动作空间

动作空间定义了智能体在每个状态下可以选择的动作。比如学生可以:Study(学习)、Facebook(刷朋友圈)、Pub(去酒吧)、Sleep(睡觉)、Quit(放弃)。

策略

策略是在状态s下选择动作a的概率分布。给定策略,我们就可以算出从s到s'的总转移概率。

马尔可夫奖励过程(MRP)(想)

有了动作,智能体还需要知道“做得好不好”。奖励函数、回报和价值函数,就是用来量化“好坏”的工具。

奖励函数

奖励函数有两种常见形式。状态奖励函数R(s):只要智能体进入状态s,就获得对应奖励。比如:
R(C1) = -2, R(C2) = -2, R(C3) = -2, R(Pass) = +10, R(Pub) = +1, R(FB) = -1, R(Sleep) = 0。

动作奖励函数R(s,a):由当前状态s和动作a共同决定。比如:R(C2, study) = -1, R(C2, browse) = -2, R(C2, skip) = -3。

选择状态奖励还是动作奖励,取决于任务的性质和特点。

回报 Return

回报就是从某个时间点开始,沿着后续轨迹获得的累计奖励。如果是完整回合,从初始状态开始算,回报就是这一整个回合的总奖励。

价值函数

在理解价值函数之前,需要先明确两个概念:期望和回合。

期望可以理解为加权平均,即每种结果乘以对应概率,然后全部加起来。比如60%概率得10分,40%概率得1分,期望就是0.6×10+0.4×1=6.4。

回合指的是智能体从初始状态开始与环境交互,直到终止状态的完整过程。比如学生的一个回合可以是:C1 → C2 → C3 → Pass → Sleep。

状态价值函数 V(s)

状态价值函数V(s)的定义是:从当前状态s开始,一直走到任务结束,未来能够获得的回报的期望值。数学上写为V(s) = E[G_t | S_t = s],其中G_t是从当前时刻t开始的回报,E是对所有可能轨迹做加权平均。

用学生的例子来说,计算C1状态下的价值,实际上就是在问:如果一个学生现在处于第一节课,按照图中的概率一直走下去,他这轮学习过程平均能获得多少分?这里不是问某一条路线能得多少分,而是所有可能路线的回报平均是多少。

从C1出发,可能有很多条轨迹,比如:C1→C2→C3→Pass→Sleep,C1→C2→C3→Pub→Sleep,C1→FB→Pub→Sleep,C1→FB→Sleep等等。每条轨迹都有自己的回报和发生概率。

所以C1的价值就是:所有可能轨迹的回报乘以该轨迹发生的概率,然后全部加起来。也可以说,C1的价值等于未来所有可能收益的折现加权平均值。

轨迹概率怎么得到?以轨迹C1→C2→C3→Pass→Sleep为例:P(C2|C1)=0.5, P(C3|C2)=0.8, P(Pass|C3)=0.6, P(Sleep|Pass)=1.0,所以P(轨迹)=0.5×0.8×0.6×1.0=0.24。

动作价值函数 Q(s,a)

动作价值函数Q(s,a)回答的是:在状态s下,如果先选择动作a,然后再继续走下去,未来平均能获得多少回报?数学上写为Q(s,a) = E[G_t | S_t = s, A_t = a]。它用来评价在某个状态下选择某个动作到底好不好。Q函数可以直接用来指导智能体选动作:在状态s下,选择Q(s,a)最大的那个动作。

为什么需要贝尔曼方程?

理论上,可以通过枚举所有可能轨迹来计算价值。但现实中,轨迹可能多到数不清,甚至无穷多。手动列出一万条轨迹再加权平均,显然不现实。所以我们需要贝尔曼方程,它提供了递归求解价值的方法。

贝尔曼方程的形式是:V(s) = R(s) + γ Σ P(s' | s) V(s')。简单说就是:当前状态的价值,等于当前状态的即时奖励,加上折扣因子乘以下一状态价值的加权平均。

以C3为例,假设R(C3) = -2, P(Pass|C3)=0.6, P(Pub|C3)=0.4, γ=1,那么V(C3) = -2 + 0.6V(Pass) + 0.4V(Pub)。

贝尔曼方程

状态价值函数

一个状态的价值,等于你现在能拿到的奖励,加上你下一步所在状态价值的折现。

矩阵形式的贝尔曼方程

贝尔曼方程是线性方程,可以直接求解。但这种方法只适合“小世界”。如果迷宫有几百万个格子,计算矩阵逆的开销会大到让电脑崩溃。对于大规模MRP问题,可以采用迭代或基于数据的方法,比如动态规划、蒙特卡洛估计、时间差分学习。

策略价值函数

在给定策略下,状态s的价值等于所有可能采取的动作及其对应动作价值的加权平均数。

动作价值函数

一个动作的价值等于现在的即时反馈加上未来所有可能状态的平均价值。

强化学习的分类

强化学习主要研究三类函数:状态转移函数(环境会怎么变化)、策略函数(智能体会怎么选动作)、价值函数(状态或动作到底有多好)。根据不同的侧重点,可以有不同的分类方式。

按是否学习环境模型分类

有模型 Model-based

有模型强化学习会尝试学习或使用一个环境模型。这个模型可以预测:在状态s下采取动作a,下一步可能到达哪个状态s',会获得多少奖励r。智能体不只是直接在真实环境中试错,还额外拥有一个“虚拟环境”,可以在脑子里提前模拟未来,然后选择更好的动作。代表算法包括World Models、MuZero、基于模型预测控制的方法。

无模型 Model-free

无模型强化学习不显式学习环境转移模型。它不去建模P(s'|s,a),而是直接通过和环境交互获得经验:我做了动作a,环境给了我奖励r,我进入了新状态s',然后根据这些反馈改进策略或价值函数。可以理解为,机器人不知道世界规则,只能一步一步试,根据真实反馈慢慢学。代表算法包括Q-learning、Sarsa、DQN、Policy Gradient、PPO。

按主要学习的函数分类

基于价值 Value-based

基于价值的方法主要学习价值函数,比如V(s)或Q(s,a),显式计算“某个状态或动作有多好”。策略本身通常是隐式的,即算法没有直接输出一个完整策略,而是根据Q值选动作:选择Q(s,a)最大的动作。代表算法包括Q-learning、DQN。这种方法适用于动作空间离散、动作数量有限的情况。

基于策略 Policy-based

基于策略的方法直接学习策略函数π(a|s),即在状态s下选择动作a的概率。它不一定先计算每个动作的Q值,而是直接输出动作概率。代表算法包括Policy Gradient、REINFORCE。这种方法适用于连续动作空间。

两者兼顾 Actor-Critic

Actor-Critic同时学习策略函数和价值函数。Actor是演员,负责选择动作(学习策略π);Critic是评论家,负责评价动作好不好(学习价值函数V或Q)。代表算法包括A2C、A3C、DDPG、PPO、SAC。

按学习数据与当前策略的关系分类

同策略 On-policy

同策略学习指的是:用当前策略采集的数据,来改进当前策略。也就是,我现在怎么行动,就用我现在行动产生的经验来学习。代表算法包括Sarsa、Policy Gradient。PPO通常也属于On-policy风格。

异策略 Off-policy

异策略学习指的是:学习用的数据,不一定来自当前要优化的策略。它可以使用过去的数据、别的策略产生的数据,甚至随机探索产生的数据。代表算法包括Q-learning、DQN、DDPG、SAC。

来源:https://developer.aliyun.com/article/1739135
上一篇ECCV 2022某机构计算机视觉研究全景解析 下一篇不懂编程也能用AI做扫雷游戏 Vibe Coding经验
本站内容用于信息整理与展示,如有侵权或内容问题请及时联系处理。

相关推荐

补充同频道和同主题内容,方便继续浏览更多相关内容。

同类最新

继续查看同栏目最近更新的文章。

更多
Kimi App手机电脑联动下载安装及浏览器兼容教程
AI教程 · 2026-06-09

Kimi App手机电脑联动下载安装及浏览器兼容教程

本文介绍了Kimi智能助手从手机端到电脑端的下载与安装方法,重点阐述了不同平台(包括iOS、Android、Windows、macOS)的获取途径。同时,详细说明了如何通过浏览器直接访问网页版,并针对主流浏览器的兼容性进行了分析,旨在帮助用户根据自身设备选择最便捷、稳定的使用方式。

HeyGen稳定安装步骤:先配置创意团队环境再注册开通
AI教程 · 2026-06-09

HeyGen稳定安装步骤:先配置创意团队环境再注册开通

HeyGen的稳定安装与高效使用,关键在于前期团队环境的统一规划与后期账号流程的顺畅完成。团队需明确设计规范、素材管理及权限分工,为工具运行打下基础。随后,通过官方渠道完成注册、验证及订阅开通,确保服务稳定。最后进行基础功能测试与团队培训,即可快速投入实际创作流程。

Mochi 1从零搭建本地服务与工作流导入指南
AI教程 · 2026-06-09

Mochi 1从零搭建本地服务与工作流导入指南

本文介绍了在成功完成Mochi1本地服务的基础搭建后,如何继续处理工作流导入这一关键后续步骤。内容涵盖工作流文件准备、导入操作的具体流程、常见问题的排查与解决,以及导入后的配置优化与测试验证,旨在帮助用户将预设的自动化流程顺利集成到本地环境中,确保工具发挥完整效能。

InvokeAI Linux用户安装配置与节点处理指南
AI教程 · 2026-06-09

InvokeAI Linux用户安装配置与节点处理指南

本文详细介绍了在Linux系统上安装和配置InvokeAI的完整流程。内容涵盖从环境准备、依赖安装到模型下载与加载的关键步骤,并重点解析了核心组件“处理节点”的安装与使用方法。指南旨在帮助用户顺利完成部署,并理解其工作流程,以便更好地利用这一AI图像生成工具进行创作。

Dify保姆级部署指南:服务安装与模型接入下载
AI教程 · 2026-06-09

Dify保姆级部署指南:服务安装与模型接入下载

本文详细介绍了开源AI应用开发平台Dify的部署流程。内容涵盖从服务器环境准备、Docker安装、Dify核心服务启动,到如何接入OpenAI、Azure等云端大模型API,以及如何配置Ollama等本地模型。最后,还提供了使用ModelScope社区下载特定模型文件并集成到本地环境中的具体操作方法,旨在帮助用户快速搭建属于自己的AI应用开发与测试平台。