LESSON 00 / MICRO A / G0–G1

符号、概率与期望:
读懂 RL 公式的最小工具箱

不证明定理,只建立够用而准确的直觉。读完后,你应能看懂 sₜ、P(s′|s,a)、E[Gₜ],并手算一个随机环境的价值。

PRINCIPLE LAYER · RANDOM TRAJECTORY

为什么 RL 必须学条件概率与期望?因为训练数据本身是策略参与生成的随机轨迹。

一条轨迹 τ 不是独立样本表中的一行;它由初始状态、策略选的动作和环境连续响应共同产生。用 p0 表示初始状态分布、π 表示策略、P 表示环境转移,则一条有限轨迹的概率可以拆成:

pπ(τ) = p0(s0) · ∏t=0T−1 π(at|st) P(st+1,rt+1|st,at)每一项都回答一个条件问题:到了当前状态,策略多大概率选这个动作?已做这个动作,环境多大概率返回这个下一状态与 reward?改变 π,整条数据分布也会变。

RL 的目标可写成 J(π)=Eτ~pπ[G(τ)]:不是让某一条轨迹的 return 最大,而是让策略诱导出的轨迹分布在平均意义上更好。Bellman、Monte Carlo、policy gradient 只是估计或优化这个期望的不同路径。

这也是 RL 与普通监督学习的分界

监督学习通常把 (x,y) 数据集视作已给定;RL 中你改了策略,就改了明天会看到什么数据。后面探索、off-policy、replay buffer 都是在处理这个闭环。

LEARNING TARGET

学完后,你能把“随机环境”读成可计算的语言。

完成目标直接应用后续会在哪反复出现
区分 sₜ、aₜ、rₜ₊₁、s′、π(a|s) 与 P(s′|s,a)。读懂环境 API 返回的 transition,诊断状态/动作/奖励写错的位置。MDP、Q-learning、rollout、LLM agent trajectory。
用期望计算随机动作的平均长期好坏。比较有打滑、失败概率、随机奖励的策略,而非只看“最好一次”。Bellman 方程、value、policy evaluation、风险分析。
你会联想到什么

推荐系统点击、机器人传感器、游戏随机掉落、LLM 工具调用失败,都是“同一动作不一定得到同一结果”的环境;概率和期望让这种不确定性可以被建模。

FIRST PRINCIPLE

公式不是另一种语言,它在压缩一句完整的话。

看到 RL 公式先不要急着算。先问三个问题:谁会变?什么时候变?哪些部分不确定?例如:

sₜ ──aₜ──> rₜ₊₁, sₜ₊₁翻译:在时刻 t,智能体处于状态 sₜ,选择动作 aₜ;环境随后给出奖励 rₜ₊₁ 和下一状态 sₜ₊₁。

下标不是乘法,也不是装饰;它是一条时间轴。奖励写成 rₜ₊₁,是因为它由 t 时刻动作的后果产生。

G0 · READ THE SYMBOLS

五个最常见符号,逐个翻译。

符号读法它表示什么例子
sₜt 时刻的 state当前决策所需的信息。s₂=(1,3):第 2 步站在第 1 行第 3 列。
aₜt 时刻的 action此刻由策略或智能体选的操作。a₂=右。
rₜ₊₁下一时刻收到的 reward执行 aₜ 后环境的局部反馈。向右走一步,r₃=−1。
s′s prime泛指一个候选下一状态,不是固定某一时刻。向右后可到右格,也可能打滑。
π(a|s)给定 s 时选 a 的概率策略在状态 s 的动作分布。π(右|s)=0.8。
符号检查

s 是可能状态的抽象变量;sₜ 是第 t 步实际出现的状态。就像 x 是变量,x₃ 是第 3 次记录到的值。

G1 · PROBABILITY

随机不是“不可理解”,而是结果带概率。

环境随机时,同样的 (s,a) 可以有多个后继。我们写 P(s′|s,a):已知当前状态 s、动作 a 后,下一状态刚好为 s′ 的概率。竖线 | 读作“在……条件下”。

P(s′ | s, a)湿滑地图中,从 s 向右:80% 到右格 g,20% 留在原地。于是 P(g|s,右)=0.8、P(s|s,右)=0.2,所有互斥后继概率相加为 1。
确定性环境

从 s 做 a 永远到同一个 s′。这条后继的概率为 1。

随机环境

同一动作有多个可能结果;策略应比较平均长期后果,而不是只看最好的一次。

G1 · EXPECTATION

期望不是预测某次结果,而是按概率加权的平均。

若随机变量 X 可能取 x₁、x₂、…,对应概率 p₁、p₂、…,则:

E[X] = Σᵢ pᵢxᵢ每种可能结果乘它出现的概率,再全部相加。E 是 expectation,不是“保证”。

掷公平硬币:正面 reward=+2、反面 reward=−2。E[r]=0.5×2+0.5×(−2)=0。单次不会得到 0,但足够多次后的平均会接近 0。

条件期望:只在已知条件下平均。

E[Gₜ | sₜ=s]翻译:已知此刻处于状态 s,未来回报 Gₜ 的平均是多少?这正是状态价值 Vπ(s) 的核心。

WORKED EXAMPLE

手算一个随机动作值。

在状态 s 执行“右”,即时奖励为 0。80% 到宝箱格,V(sgold)=10;20% 到泥潭,V(smud)=−5。取 γ=0.9:

Q(s,右) = 0.8×[0+0.9×10] + 0.2×[0+0.9×(−5)]
= 7.2 − 0.9 = 6.30.8、0.2 是环境转移概率 P;0.9 是任务折扣 γ。它们都是权重,但职责不同。
你在算什么权重来自哪里本例
随机后继的平均环境转移概率 P0.8 与 0.2
未来相对当前的重要性任务折扣 γ0.9
智能体会怎样选动作策略概率 π本例固定选右,不需要 π

CODE READING

把 Σ 映射到最小 Python。

outcomes = [(0.8, 0, 10), (0.2, 0, -5)]
gamma = 0.9
q_right = sum(p * (r + gamma * v) for p, r, v in outcomes)
# q_right == 6.3

这一段没有训练模型。它只是把 Σ 写成 Python 的 sum,把每个可能后继写成一行数据。理解这种映射后,后续 Value Iteration 与 TD 更新就不再是黑箱。

CHECK YOUR UNDERSTANDING

这些错误会贯穿所有后续课。

01 · P(s′|s,a)=0.2 与 π(a|s)=0.2 有什么根本区别?

前者由环境决定:已经选择 a 后会发生什么;后者由策略决定:看到 s 后选不选 a。一个描述世界,一个描述智能体行为。

02 · 为什么 rₜ₊₁ 不写成 rₜ?

常用约定是先处于 sₜ、选 aₜ,再观察 rₜ₊₁ 和 sₜ₊₁。不同教材可用别的记号,关键是全程一致。

03 · 期望为 7,是否代表下一次一定拿到 7?

不代表。7 是重复后的平均;单次可能拿到 10、−5 或其他结果。

NEXT

现在可以进入真正的 RL 地基。