2、马尔可夫决策过程:MDP五元组、状态转移概率、奖励函数、折扣因子、策略和价值函数
好,咱们正式开始啃强化学习里最核心的一块骨头——马尔可夫决策过程,简称 MDP。
说实话,我刚开始接触强化学习那会儿,看了不少论文,满篇的公式和符号,头都大了。后来我发现,MDP 其实就是一套描述“智能体怎么跟环境打交道”的数学框架。你把它想明白了,后面什么 Q-learning、策略梯度,理解起来就顺了。
2.1 MDP 五元组:一个完整的决策故事
一个 MDP 可以用五个要素来定义,也就是我们常说的五元组。我个人习惯把它记作 (S, A, P, R, γ),咱们一个一个拆开看。
| 符号 | 含义 | 大白话解释 |
|---|---|---|
S |
状态空间 (State Space) | 智能体当前所处的所有可能情况 |
A |
动作空间 (Action Space) | 智能体可以做的所有操作 |
P |
状态转移概率 (State Transition Probability) | 做了动作后,环境会变成什么样 |
R |
奖励函数 (Reward Function) | 这一步做得好不好,给个分数 |
γ |
折扣因子 (Discount Factor) | 未来的奖励,现在值多少钱 |
你想想看,机器人路径规划里,状态 S 就是机器人当前的位置坐标,动作 A 就是“往前走一步”、“向左转”这些指令。环境根据你的动作,告诉你新位置在哪,这就是 P。如果撞墙了,给个负奖励,这就是 R。
2.2 状态转移概率:环境的不确定性
状态转移概率 P(s' | s, a) 描述的是:你在状态 s 执行了动作 a 之后,环境会把你带到状态 s' 的概率。
这里有个坑,我必须要提醒你。很多初学者以为动作是确定性的,比如“我让机器人往前走一步,它肯定往前走一步”。但现实世界不是这样的。
所以,P 必须是一个概率分布。比如:
P(s' = 前方格子 | s = 当前格子, a = 前进) = 0.8
P(s' = 左侧格子 | s = 当前格子, a = 前进) = 0.1
P(s' = 右侧格子 | s = 当前格子, a = 前进) = 0.1
嗯,这才符合真实情况。
2.3 奖励函数:告诉智能体什么是对的
奖励函数 R(s, a, s') 是智能体学习的“指挥棒”。说白了,你设计什么样的奖励,智能体就学会什么样的行为。
我见过不少项目,算法本身没问题,但奖励函数设计得一塌糊涂,结果智能体学会了“钻空子”。比如你让机器人去送快递,奖励只给“到达目的地”,它可能学会了原地转圈,因为转圈也能触发某些奖励信号。
- 到达目标点:+100
- 撞到障碍物:-10
- 每走一步:-1(鼓励走最短路径)
2.4 折扣因子:未来的钱不值钱
折扣因子 γ ∈ [0, 1] 决定了智能体有多“短视”。
γ = 0:只看眼前利益,只关心下一步的奖励。γ = 1:目光长远,未来的奖励和现在一样重要。γ = 0.9:比较折中,未来的奖励会打点折扣。
为什么会这样?因为很多任务里,你希望智能体不要只顾眼前。比如路径规划,如果 γ 太小,机器人可能选择一条“先撞墙再绕路”的路径,因为撞墙的负奖励是未来的,它不在乎。
我建议初学者先设 γ = 0.95 或 0.99,效果一般都不错。
2.5 策略:智能体的行为准则
策略 π(a | s) 就是智能体的“大脑”。它告诉智能体:在状态 s 下,你应该选择哪个动作 a。
策略分两种:
- 确定性策略:
π(s) = a,给定状态,动作是唯一的。比如“看到红灯就刹车”。 - 随机性策略:
π(a | s)是一个概率分布。比如“有 80% 概率前进,20% 概率左转”。
路径规划里,我常用确定性策略做最终部署,但训练时用随机性策略,让机器人多探索探索。
2.6 价值函数:评估状态的好坏
价值函数是 MDP 里最核心的概念之一。它回答一个问题:“我现在这个状态,到底值多少钱?”
价值函数分为两种:
| 名称 | 符号 | 含义 |
|---|---|---|
| 状态价值函数 | V(s) |
从状态 s 开始,按照策略 π 行动,能获得的累计折扣奖励的期望 |
| 动作价值函数 | Q(s, a) |
在状态 s 执行动作 a 后,再按照策略 π 行动,能获得的累计折扣奖励的期望 |
公式长这样:
V(s) = E[ R_t + γ * V(s_{t+1}) | s_t = s ]
Q(s, a) = E[ R_t + γ * max_{a'} Q(s_{t+1}, a') | s_t = s, a_t = a ]
别被公式吓到。说白了,V(s) 就是“站在这个位置,未来能拿多少分”。Q(s, a) 就是“在这个位置,做这个动作,未来能拿多少分”。
V(s) 或 Q(s, a),然后根据这些价值函数来改进策略 π。
嗯,到这里,MDP 的五元组、状态转移、奖励、折扣、策略和价值函数,咱们都过了一遍。你想想看,其实整个强化学习就是在玩这个框架:定义好 (S, A, P, R, γ),然后想办法找到最优的 π。
下一章,咱们会聊怎么求解这个 MDP,也就是传说中的“动态规划”和“贝尔曼方程”。到时候你会发现,今天这些概念,一个都跑不掉。