强化学习的所有理论,都建立在一个统一的数学框架上,叫做 马尔可夫决策过程 (MDP, Markov Decision Process)
强化学习基本概念
MDP 的五元组 (S,A,P,R,γ)(S, A, P, R, \gamma)(S,A,P,R,γ)
任何一个标准的 MDP 都由以下五个核心元素组成:
1. SSS (State Space,状态空间):
环境在某一时刻的所有可能情况。比如下围棋时的棋盘局面,或者机器人当前的坐标和速度。
2. AAA (Action Space,动作空间):
智能体(Agent)能做的所有事情。比如围棋里的"落子位置",或者机器人的"向左转、向右转"。
3. PPP (Transition Probability,状态转移概率):
P(s′∣s,a)P(s'|s, a)P(s′∣s,a),它的意思是:如果在状态 sss 采取了动作 aaa,有多大的概率会变成状态 s′s's′
这体现了环境的随机性(Stochasticity)。
4. RRR (Reward Function,奖励函数):
R(s,a)R(s, a)R(s,a)。它的意思是:在状态 sss 做了动作 aaa,环境给多少分?
这是强化的来源,告诉智能体好坏。
5. γ\gammaγ (Discount Factor,折扣因子):
γ∈[0,1]\gamma \in [0, 1]γ∈[0,1]。它用来衡量我们通过多大程度看重"未来的奖励"。
如果 γ=0\gamma=0γ=0,智能体就是"短视"的(只看眼前);如果 γ\gammaγ 接近 1,智能体就是"远视"的。
其他概念
6. Return (回报 / 累积奖励, GtG_tGt)
定义 :从 ttt 时刻开始,一直到游戏结束,所有未来奖励的总和。
这是 RL 真正的**"终极目标"**。
公式 :
如果没有折扣:
Gt=Rt+1+Rt+2+Rt+3+⋯+RT G_t = R_{t+1} + R_{t+2} + R_{t+3} + \dots + R_T Gt=Rt+1+Rt+2+Rt+3+⋯+RT
加入折扣因子 (γ\gammaγ) 后 :
Gt=Rt+1+γRt+2+γ2Rt+3+⋯=∑k=0∞γkRt+k+1 G_t = R_{t+1} + \gamma R_{t+2} + \gamma^2 R_{t+3} + \dots = \sum_{k=0}^{\infty} \gamma^k R_{t+k+1} Gt=Rt+1+γRt+2+γ2Rt+3+⋯=k=0∑∞γkRt+k+1
为什么要有折扣?
- 数学收敛 :如果游戏无限长(比如股市),不打折的话 GtG_tGt 会变成无穷大,没法算了。
- 不确定性:未来的承诺不可靠,现在的 100 块比明年的 100 块值钱。
直观理解:
- RRR 是今天的工资。
- GGG 是你这辈子的总资产。
- DQN 里的
Target其实就是在估算这个 GGG。
7.Policy (策略, π\piπ)
定义 :智能体的大脑 。它定义了在某个状态 sss 下,应该采取什么动作 aaa。
两种形式:
-
确定性策略 (Deterministic Policy):
- 公式 :a=π(s)a = \pi(s)a=π(s)
- 含义 :看到墙,一定往左转。
- 例子 :你代码里的
argmax操作,就是确定性策略(选 Q 值最大的那个)。
-
随机性策略 (Stochastic Policy):
- 公式 :π(a∣s)=P(At=a∣St=s)\pi(a|s) = P(A_t=a | S_t=s)π(a∣s)=P(At=a∣St=s)
- 含义 :看到墙,80% 概率往左,20% 概率往右。
- 例子 :你代码里的
epsilon-greedy,在随机探索阶段,就是一种随机策略。
RL 的目的 :找到一个最优策略 π∗\pi^*π∗ ,使得在这个策略下获得的 GtG_tGt 最大。
8. Value Function (价值函数)
这是 RL 中最容易混淆,但也最重要的概念。它用来衡量**"当前局势有多好"**。
它分为两种:V值 和 Q值。
A. 状态价值函数 Vπ(s)V_\pi(s)Vπ(s) (State-Value Function)
- 定义 :当我站在状态 sss,并且通过策略 π\piπ 玩下去,我预期 能拿到的回报 GGG 是多少?
- 通俗 :这个位置好不好?
- 例子 :下围棋时,棋盘当前的局势。虽然还没赢,但大师一看就知道"黑子赢面大",这个"赢面"就是 V(s)V(s)V(s)。
B. 动作价值函数 Qπ(s,a)Q_\pi(s, a)Qπ(s,a) (Action-Value Function)
- 定义 :当我站在状态 sss,强制采取动作 aaa ,然后后续继续用策略 π\piπ 玩下去,我预期能拿到的回报 GGG 是多少?
- 通俗 :在这个位置,这一招出得好不好?
- 关系 :V(s)V(s)V(s) 其实就是 Q(s,a)Q(s, a)Q(s,a) 的平均值(或者最大值)。
V(s)=maxaQ(s,a) V(s) = \max_a Q(s, a) V(s)=amaxQ(s,a) (意思就是:这个位置好不好,取决于在这个位置能做出的最好的那个动作好不好。)
为什么 DQN 选 Q 而不是 V?
- 如果知道 Q(s,a)Q(s, a)Q(s,a),我们只需要选 a=argmaxQ(s,a)a = \arg\max Q(s, a)a=argmaxQ(s,a) 就能决策。
- 如果只知道 V(s)V(s)V(s),我们知道状态 sss 很好,但不知道怎么做 才能进入下一个好状态 s′s's′(除非你知道环境的物理模型)。
9. Bellman Equation (贝尔曼方程)
这是强化学习的**"牛顿第二定律",它描述了 当前价值和未来价值**之间的递归关系。
公式(以 Q 值为例) :
Q(s,a)=R⏟即时奖励+γ⋅maxa′Q(s′,a′)⏟未来的好日子 Q(s, a) = \underbrace{R}{\text{即时奖励}} + \underbrace{\gamma \cdot \max{a'} Q(s', a')}_{\text{未来的好日子}} Q(s,a)=即时奖励 R+未来的好日子 γ⋅a′maxQ(s′,a′)
解读:
- 这就是你代码里
Target = reward + gamma * next_q的数学原型。 - 它告诉我们:不需要等到游戏结束才知道这一步好不好,只要看看眼前拿了多少分 ,再加上下一步那个位置值多少分就行了。
- 自举 (Bootstrapping) :用 Q(s′)Q(s')Q(s′) 去更新 Q(s)Q(s)Q(s),就是基于贝尔曼方程。
总结一张表
| 概念 | 符号 | 含义 |
|---|---|---|
| State | StS_tSt | 现在的环境状况 |
| Action | AtA_tAt | 我做的动作 |
| Reward | RtR_tRt | 这一步环境给的分 |
| Return | GtG_tGt | 未来的总分 (打折后) |
| Policy | π\piπ | 决策逻辑 (怎么选动作) |
| Q-Value | Q(s,a)Q(s,a)Q(s,a) | 这一招的长期价值 |
| Gamma | γ\gammaγ | 远见程度 |
马尔可夫决策过程(Markov Decision Process,简称 MDP)
1. MDP 的核心概念
用一句话概括:MDP 是一个用来描述"决策者"与"环境"进行交互的数学模型。
它将现实世界中复杂的决策问题抽象成一个标准化的过程:你在某个状态 ,做了一个动作 ,环境反馈给你一个奖励 ,并把你带入下一个状态。
关键前提:马尔可夫性质 (The Markov Property)
这是 MDP 名字中"M"的由来,也是最核心的假设:
"未来的状态只取决于当前的状态和当前的动作,而与过去的历史无关。"
数学表达:P(St+1∣St)=P(St+1∣S1,S2,...,St)P(S_{t+1} | S_t) = P(S_{t+1} | S_1, S_2, ..., S_t)P(St+1∣St)=P(St+1∣S1,S2,...,St)
这意味着,只要知道现在的局面(State),就不需要知道你是怎么走到这一步的,依然可以做出最优决策。
2. 提出背景 (Background)
MDP 的概念并非一开始就是为了 AI 提出的,它源于数学和运筹学。
- 马尔可夫链 (Markov Chain): 20 世纪初,俄罗斯数学家安德雷·马尔可夫(Andrey Markov)研究了一种随机过程,即状态在随时间变化,且具有"无记忆性"(即马尔可夫性质)。但这只是描述系统的自然演变,没有人的"干预"。
- 加入"决策" (Decision): 1950 年代,美国数学家 理查德·贝尔曼 (Richard Bellman) 在研究最优控制问题时,在马尔可夫链的基础上加入了"动作"和"奖励"的概念。
- 目的: 当时是为了解决工业生产、库存管理等运筹学问题。比如:仓库里剩多少货(状态),要不要进货(动作),进货需要成本且卖出有利润(奖励)。贝尔曼提出了著名的贝尔曼方程 (Bellman Equation),通过动态规划(Dynamic Programming)来解这类问题。
演变到 AI: 后来,计算机科学家发现这个框架完美契合"让机器自己学习如何做任务"的需求,于是将其作为强化学习的底层数学模型。
3. 为什么 MDP 对强化学习非常重要?
MDP 是强化学习的公理化基础。它的重要性体现在以下几点:
-
通用性(Standardization):
MDP 提供了一个通用的接口 。无论是教机器人走路、训练 AI 打 Dota、还是调节数据中心的冷却系统,本质上都不一样,但都可以被强制映射为 (S,A,P,R,γ)(S, A, P, R, \gamma)(S,A,P,R,γ)。这使得我们要开发一套算法(如 DQN 或 PPO),就可以解决成千上万种不同的问题。
-
可计算性(Computability):
如果没有 MDP 的"马尔可夫性质",智能体就需要记住从出生到现在的所有历史数据才能做决定,这会导致计算量爆炸。MDP 假设"当前状态包含了所有必要信息",极大地简化了计算复杂度。
-
定义了"最优"的标准:
MDP 明确了强化学习的目标不是"乱动",而是最大化累积期望回报。有了 MDP,我们才能写出数学公式来定义什么是"最好的策略(Optimal Policy)"。
4. MDP 在强化学习中的作用
MDP 在 RL 流程中起到了"地图"和"规则书"的作用:
-
环境建模 (Environment Modeling):
它将模糊的现实问题转化为数学问题。
- 例子: 自动驾驶。现实很复杂,但通过 MDP,我们将其定义为:
- SSS: 摄像头图像、雷达数据。
- AAA: 方向盘角度、油门刹车力度。
- RRR: 安全行驶+1,撞车-1000。
- 一旦定义好,RL 算法就可以进场工作了。
- 例子: 自动驾驶。现实很复杂,但通过 MDP,我们将其定义为:
-
推导核心公式 (Deriving Algorithms):
强化学习中所有的核心概念,如策略 (Policy, π\piπ) 、价值函数 (Value Function, V(s)V(s)V(s)) 、动作价值函数 (Q-value, Q(s,a)Q(s,a)Q(s,a)),全部是基于 MDP 的定义推导出来的。
- 如果没有 MDP 中的 PPP(转移概率)和 RRR(奖励),就无法写出贝尔曼方程,也就无法进行迭代更新。
-
处理长期规划 (Long-term Planning):
MDP 通过折扣因子 γ\gammaγ 和状态转移,让智能体学会"延迟满足"。
- 比如下棋,这就好比"弃子争先"。当前这一步(Action)可能导致丢掉一个子(负 Reward),但根据 MDP 的推演,这个状态 SSS 能以很高的概率 PPP 转移到一个能赢棋的优势状态 S′S'S′。MDP 的结构让 AI 能看懂这种长远的利益链条。
总结
- 背景: 源于 1950 年代贝尔曼对运筹学和控制论的研究。
- 概念: 一个五元组 (S,A,P,R,γ)(S, A, P, R, \gamma)(S,A,P,R,γ),描述了在不确定环境下进行序贯决策的过程。
- 作用: 它是强化学习的物理定律。它将"智能"具体化为"在 MDP 图中寻找一条累积奖励最高的路径"。
简单来说:如果你想用强化学习解决一个问题,第一步永远是------"把这个问题定义成一个 MDP"。