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




