强化学习公式与符号说明
目录
强化学习公式与符号说明
0. 一句话理解
强化学习公式是严格的数学公式,但其中不只有“数”,还有函数、随机变量、状态对象、动作对象、概率与期望。
1. 强化学习公式到底是不是数学公式
是数学公式,不是“只有抽象含义没有数值对应”的假公式。
但要注意:
RL 里的符号类型很多,不是每个字母都代表单个数字。
例如:
- $s$:状态对象
- $a$:动作对象
- $r$:奖励数值
- $\pi$:策略函数
- $V^\pi$:价值函数
- $V^\pi(s)$:函数在状态 $s$ 上的取值,是一个数
这和普通代数式不同,更接近“函数 + 概率 + 随机变量”的数学写法。
2. $\pi$ 到底是什么
$\pi$ 不是动作
$\pi$ 表示策略(policy),即“在状态下如何选动作”的规则。
两种常见写法
确定性策略
$$ a=\pi(s) $$
这时 $\pi(s)$ 直接输出一个动作。
随机策略
$$ \pi(a\mid s) $$
这时表示:
在状态 $s$ 下采取动作 $a$ 的概率。
所以需要区分:
- $\pi$:策略函数本体
- $\pi(s)$:确定性策略输出的动作
- $\pi(a\mid s)$:一个数值概率
3. $s_{t+1}$ 与 $s'$ 的区别
$s_{t+1}$
表示某条实际轨迹中第 $t+1$ 时刻真正发生的状态。
$s'$
表示泛指“某个可能下一状态”的占位符,常出现在求和、积分、期望中。
例如:
$$ P(s'\mid s,a) $$
表示从 $s,a$ 出发到不同可能下一状态的概率分布。
因此可记成:
- 下标形式:具体时刻、具体发生
- 撇号形式:泛指变量、公式中枚举
动作也是同理:
- $a_t$:第 $t$ 时刻真实采取的动作
- $a'$:枚举中的某个可能动作
4. 常见符号的“对象类型”表
| 符号 | 含义 | 类型 |
|---|---|---|
| $s$ | 状态 | 对象 / 变量 / 可能是向量 |
| $a$ | 动作 | 对象 / 标签 / 可能是向量 |
| $r$ | 奖励 | 数值 |
| $\gamma$ | 折扣因子 | 数值 |
| $\pi$ | 策略 | 函数 |
| $\pi(a\mid s)$ | 动作概率 | 数值 |
| $V^\pi$ | 状态价值函数 | 函数 |
| $V^\pi(s)$ | 状态价值 | 数值 |
| $Q^\pi$ | 动作价值函数 | 函数 |
| $Q^\pi(s,a)$ | 动作价值 | 数值 |
| $P$ | 转移规律 | 函数 |
| $P(s'\mid s,a)$ | 转移概率 | 数值 |
| $G_t$ | 回报 | 数值(随机变量取值) |
5. 状态和动作一定是数字吗
不一定。
离散情况下
状态和动作更像“标签”或“类别”: - 状态:某个格子位置 - 动作:左 / 右 / 上 / 下
连续情况下
状态和动作也可以是向量: - 状态:位置、速度、角度的拼接向量 - 动作:机械臂关节控制量向量
所以不要把 $s$、$a$ 强行理解成单个实数。
6. 为什么 $V^\pi(s)$、$Q^\pi(s,a)$ 是数值
因为它们是函数值。
例如:
- $V^\pi$ 是函数
- 输入 $s$ 后,得到 $V^\pi(s)$,它是一个数,表示该状态的长期期望回报
同理: - $Q^\pi$ 是函数 - 输入 $(s,a)$ 后,得到 $Q^\pi(s,a)$,它也是一个数
7. 用代码视角理解最容易
可以把它们理解成函数调用:
def pi(a, s):
# 返回在状态 s 下选动作 a 的概率
...
def V(s):
# 返回状态 s 的价值
...
def Q(s, a):
# 返回状态 s 下动作 a 的价值
...
那么:
$$ V^\pi(s)=\sum_a \pi(a\mid s)Q^\pi(s,a) $$
就像:
V(s) = sum(pi(a, s) * Q(s, a) for a in action_space)
这里:
- pi(a, s) 是数值
- Q(s, a) 是数值
- V(s) 是数值
- a 是动作枚举项
8. 易混淆点
$\pi$ 不等于 $\pi(a\mid s)$
前者是函数本体,后者是函数取值。
$Q^\pi$ 不等于 $Q^\pi(s,a)$
前者是函数,后者是数值。
$s'$ 不等于 $s_{t+1}$
前者是枚举变量,后者是具体轨迹上的真实状态。
9. 我的理解(可补充)
学习 RL 公式时,不要老问“这是不是一个数字”,而要先问:
这个符号到底代表哪类数学对象?
只要对象类型分清,大部分符号障碍都会消失。
10. 复习问题
- $\pi$、$\pi(s)$、$\pi(a\mid s)$ 分别是什么?
- 为什么说 RL 公式是数学公式,但不一定每个字母都代表一个数?
- $s'$ 与 $s_{t+1}$ 的区别是什么?
- $V^\pi$ 与 $V^\pi(s)$ 的区别是什么?