监督学习会告诉模型“这道题的正确标签是什么”;强化学习通常只在行动后给出奖励。智能体必须一边尝试,一边从延迟反馈中学会:处于某个状态时,采取哪个动作能让长期总回报最大。
课件从 AlphaGo 引入强化学习。AlphaGo 的完整系统还包含策略网络、价值网络和蒙特卡洛树搜索;本讲真正展开的是一个更通用、更容易手算的算法:Q-learning。
一、智能体怎样与环境交互
一次交互可以写成循环:
StAtEnvironmentRt+1,St+1Agent.
- 状态 St:智能体现在所处的情形,例如机器人位于房间 B;
- 动作 At:智能体可以做的选择,例如从 B 走到 D;
- 奖励 Rt+1:环境对这次转移给出的即时反馈;
- 策略 π(a∣s):在状态 s 选择动作 a 的规则;
- 回报:从现在起所有未来奖励的折扣和。
回报常写成
Gt=Rt+1+γRt+2+γ2Rt+3+⋯,0≤γ<1.
γ 是折扣因子:越接近 0 越在意眼前奖励,越接近 1 越重视长远结果。
状态、动作、转移概率和奖励共同构成马尔可夫决策过程。马尔可夫性仍然表示:给定当前状态和动作后,下一状态的分布不需要再查看更早历史。
二、Q 值到底表示什么
动作价值函数
Qπ(s,a)=Eπ[Gt∣St=s,At=a]
表示:在状态 s 先做动作 a,之后继续按策略 π 行动,预期能获得多少折扣回报。
最优动作价值 Q∗ 满足 Bellman 最优方程:
Q∗(s,a)=E[Rt+1+γa′maxQ∗(St+1,a′)∣St=s,At=a].
它把一个长期问题拆成两部分:这一步的即时奖励,加上到达下一状态后能够取得的最佳未来价值。
有了 Q∗,决策非常直接:
π∗(s)=argamaxQ∗(s,a).
注意:奖励 R(s,a) 只评价“一步”,Q 值评价“这一步加上后续”。即使某条边的即时奖励为 0,只要它通往目标,Q 值仍可以是正数。
三、Q-learning 更新公式
真实环境的转移和最优 Q 值通常未知。Q-learning 用每次实际经历到的样本
(s,a,r,s′)
进行时序差分更新:
Q(s,a)←Q(s,a)+α[r+γa′maxQ(s′,a′)−Q(s,a)].
方括号内是时序差分误差:
新目标−旧估计.
- α∈(0,1] 是学习率,控制一次相信新样本多少;
- γ 是折扣因子,控制未来价值传播多少。
课件的导航算例使用简化更新
Q(s,a)←R(s,a)+γa′maxQ(s′,a′),
它相当于令 α=1,直接用新目标覆盖旧值。课件把 γ 标作“学习率”,但从公式中的位置和作用看,它承担的是未来回报折扣系数;一般形式会把 α 与 γ 分开。
四、探索与利用
训练时如果始终选当前 Q 值最大的动作,初始偶然发现的路线可能让其他动作永远得不到尝试;如果一直随机,又无法稳定利用已经学到的知识。
一种简单平衡方式是 ε-greedy:
- 以概率 1−ε 选择当前 Q 值最大的合法动作;
- 以概率 ε 随机选择一个合法动作。
训练早期可以让 ε 较大,随后逐渐减小。Q-learning 的更新目标使用 maxQ(s′,a′),与实际采样下一动作可以不同,因此它是离策略算法。
五、房间导航:把平面图变成奖励矩阵
课件把房间 A 到 E 与出口 F 建模为图:房间是状态,能直接穿过的门是动作。到达出口 F 的转移奖励为 100,普通合法移动奖励为 0,不能直接到达的位置记为非法。
| 当前状态 / 下一状态 | A | B | C | D | E | F |
|---|
| A | — | — | — | — | 0 | — |
| B | — | — | — | 0 | — | 100 |
| C | — | — | — | 0 | — | — |
| D | — | 0 | 0 | — | 0 | — |
| E | 0 | — | — | 0 | — | 100 |
| F | — | 0 | — | — | 0 | 100 |
横轴既可以理解为“选择去哪个状态”,也就是在当前图结构下的动作。目标是让机器人从任意房间最终到达 F。
训练从全零 Q 矩阵开始,课件取 γ=0.8。
第一次示例更新:B 到 F
在 B 选择动作“去 F”,初始时 F 行的 Q 值全为 0:
Q(B,F)=R(B,F)+0.8a′maxQ(F,a′)=100+0.8×0=100.
第二次示例更新:D 到 B
现在 B 的最佳已知动作是去 F,价值为 100,所以
Q(D,B)=R(D,B)+0.8a′maxQ(B,a′)=0+0.8×100=80.
尽管 D 到 B 的即时奖励为 0,“B 已经知道怎样出去”的价值仍向前传到了 D。继续随机选择起点和合法动作并迭代,目标信息会逐步传播到整张图。
六、稳定后的 Q 矩阵与路径
课件给出的稳定 Q 矩阵为
Q=ABCDEFA−−−−320−B−−−400−400C−−−256−−D−320320−320−E400−−400−400F−500−−500500.
为什么最大值是 500 而不是 100?因为课件允许 F 到 F,并且每次都获得 100。固定点满足
Q(F,F)=100+0.8Q(F,F),
所以
Q(F,F)=1−0.8100=500.
把所有值除以 5,只是为了显示得更直观,不改变每行的最大值动作:
Q=ABCDEFA−−−−64−B−−−80−80C−−−51−−D−6464−64−E80−−80−80F−100−−100100.
例如从 C 出发:
- C 只有动作 D,所以走到 D;
- D 行最大值为 80,对应 B 和 E;
- 从 B 或 E,最大值动作都是去 F。
因此有两条同样最优的路线:
C→D→B→F,
C→D→E→F.
这也解释了为什么“最优路径”不一定唯一。若多个动作拥有相同最大 Q 值,可以任取一个,也可以保留随机选择。
七、完整训练流程
把导航例推广为通用 Q-learning,可以写成:
- 初始化 Q(s,a),非法动作不参与选择;
- 每个回合重置到一个初始状态 s;
- 用探索策略选择动作 a;
- 执行动作,观察奖励 r 和下一状态 s′;
- 用时序差分公式更新 Q(s,a);
- 令 s←s′,直到回合终止;
- 重复多个回合,直到 Q 值或评估回报趋于稳定。
对有限状态和动作问题,如果每个状态-动作对都被充分访问、学习率满足合适的递减条件,并且环境平稳,表格型 Q-learning 可以收敛到最优动作价值。实际任务中状态空间过大时,无法存一张完整 Q 表,才会进一步用神经网络近似 Q(s,a)。
课件把同样的建模方式延伸到机器人和无人机导航:位置、姿态或传感器摘要成为状态,控制指令成为动作,安全到达目标、耗时和碰撞代价共同构成奖励。任务规模变大后,状态表示和奖励设计往往比写出更新公式更难。
八、三个 sanity check
- 只在合法动作里取最大值。把非法位置初始化成 0 后若也参与选择,它可能与合法的零价值动作混淆;实现时应使用动作掩码或负无穷。
- 先明确目标是终止还是继续。本课件让 F 自环且持续奖励,所以 Q 值累积到 500;若“到达 F 就结束回合”,F 不再产生后续回报,数值会改变,但指向出口的策略仍可一致。
- 别混淆 α 与 γ。学习率决定更新速度,折扣因子决定未来奖励的权重,它们控制的是不同问题。
本讲速记
- 强化学习从“状态—动作—奖励—下一状态”的交互中学习长期策略。
- R(s,a) 是一步奖励,Q(s,a) 是这一步及以后可获得的累计价值。
- Q-learning 用 r+γmaxQ(s′,⋅) 作为更新目标;一般形式还通过学习率 α 混合新旧估计。
- 导航例中,目标奖励从 F 逐步反向传播到 B、E、D、C、A。
- 训练时需要探索,部署时通常直接选每行 Q 值最大的合法动作。