第七讲 · 强化学习与 Q-learning

Views: --

监督学习会告诉模型“这道题的正确标签是什么”;强化学习通常只在行动后给出奖励。智能体必须一边尝试,一边从延迟反馈中学会:处于某个状态时,采取哪个动作能让长期总回报最大。

课件从 AlphaGo 引入强化学习。AlphaGo 的完整系统还包含策略网络、价值网络和蒙特卡洛树搜索;本讲真正展开的是一个更通用、更容易手算的算法:Q-learning。

一、智能体怎样与环境交互

一次交互可以写成循环:

StAtEnvironmentRt+1,St+1Agent.S_t\xrightarrow{A_t}\text{Environment} \xrightarrow{R_{t+1},S_{t+1}}\text{Agent}.
  • 状态 StS_t:智能体现在所处的情形,例如机器人位于房间 B;
  • 动作 AtA_t:智能体可以做的选择,例如从 B 走到 D;
  • 奖励 Rt+1R_{t+1}:环境对这次转移给出的即时反馈;
  • 策略 π(as)\pi(a\mid s):在状态 ss 选择动作 aa 的规则;
  • 回报:从现在起所有未来奖励的折扣和。

回报常写成

Gt=Rt+1+γRt+2+γ2Rt+3+,0γ<1.G_t=R_{t+1}+\gamma R_{t+2}+\gamma^2R_{t+3}+\cdots,\qquad 0\le\gamma<1.

γ\gamma 是折扣因子:越接近 0 越在意眼前奖励,越接近 1 越重视长远结果。

状态、动作、转移概率和奖励共同构成马尔可夫决策过程。马尔可夫性仍然表示:给定当前状态和动作后,下一状态的分布不需要再查看更早历史。

二、Q 值到底表示什么

动作价值函数

Qπ(s,a)=Eπ[GtSt=s,At=a]Q^\pi(s,a) =\mathbb E_\pi[G_t\mid S_t=s,A_t=a]

表示:在状态 ss 先做动作 aa,之后继续按策略 π\pi 行动,预期能获得多少折扣回报。

最优动作价值 QQ^* 满足 Bellman 最优方程:

Q(s,a)=E[Rt+1+γmaxaQ(St+1,a)St=s,At=a].Q^*(s,a) =\mathbb E\left[R_{t+1} +\gamma\max_{a'}Q^*(S_{t+1},a') \mid S_t=s,A_t=a\right].

它把一个长期问题拆成两部分:这一步的即时奖励,加上到达下一状态后能够取得的最佳未来价值。

有了 QQ^*,决策非常直接:

π(s)=argmaxaQ(s,a).\pi^*(s)=\arg\max_aQ^*(s,a).

注意:奖励 R(s,a)R(s,a) 只评价“一步”,Q 值评价“这一步加上后续”。即使某条边的即时奖励为 0,只要它通往目标,Q 值仍可以是正数。

三、Q-learning 更新公式

真实环境的转移和最优 Q 值通常未知。Q-learning 用每次实际经历到的样本

(s,a,r,s)(s,a,r,s')

进行时序差分更新:

Q(s,a)Q(s,a)+α[r+γmaxaQ(s,a)Q(s,a)].Q(s,a)\leftarrow Q(s,a) +\alpha\left[ r+\gamma\max_{a'}Q(s',a')-Q(s,a) \right].

方括号内是时序差分误差

新目标旧估计.\text{新目标}-\text{旧估计}.
  • α(0,1]\alpha\in(0,1] 是学习率,控制一次相信新样本多少;
  • γ\gamma 是折扣因子,控制未来价值传播多少。

课件的导航算例使用简化更新

Q(s,a)R(s,a)+γmaxaQ(s,a),Q(s,a)\leftarrow R(s,a)+\gamma\max_{a'}Q(s',a'),

它相当于令 α=1\alpha=1,直接用新目标覆盖旧值。课件把 γ\gamma 标作“学习率”,但从公式中的位置和作用看,它承担的是未来回报折扣系数;一般形式会把 α\alphaγ\gamma 分开。

四、探索与利用

训练时如果始终选当前 Q 值最大的动作,初始偶然发现的路线可能让其他动作永远得不到尝试;如果一直随机,又无法稳定利用已经学到的知识。

一种简单平衡方式是 ε\varepsilon-greedy:

  • 以概率 1ε1-\varepsilon 选择当前 Q 值最大的合法动作;
  • 以概率 ε\varepsilon 随机选择一个合法动作。

训练早期可以让 ε\varepsilon 较大,随后逐渐减小。Q-learning 的更新目标使用 maxQ(s,a)\max Q(s',a'),与实际采样下一动作可以不同,因此它是离策略算法。

五、房间导航:把平面图变成奖励矩阵

课件把房间 A 到 E 与出口 F 建模为图:房间是状态,能直接穿过的门是动作。到达出口 F 的转移奖励为 100,普通合法移动奖励为 0,不能直接到达的位置记为非法。

当前状态 / 下一状态ABCDEF
A0
B0100
C0
D000
E00100
F00100

横轴既可以理解为“选择去哪个状态”,也就是在当前图结构下的动作。目标是让机器人从任意房间最终到达 F。

训练从全零 Q 矩阵开始,课件取 γ=0.8\gamma=0.8

第一次示例更新:B 到 F

在 B 选择动作“去 F”,初始时 F 行的 Q 值全为 0:

Q(B,F)=R(B,F)+0.8maxaQ(F,a)=100+0.8×0=100.Q(B,F) =R(B,F)+0.8\max_{a'}Q(F,a') =100+0.8\times0 =100.

第二次示例更新:D 到 B

现在 B 的最佳已知动作是去 F,价值为 100,所以

Q(D,B)=R(D,B)+0.8maxaQ(B,a)=0+0.8×100=80.Q(D,B) =R(D,B)+0.8\max_{a'}Q(B,a') =0+0.8\times100 =80.

尽管 D 到 B 的即时奖励为 0,“B 已经知道怎样出去”的价值仍向前传到了 D。继续随机选择起点和合法动作并迭代,目标信息会逐步传播到整张图。

六、稳定后的 Q 矩阵与路径

课件给出的稳定 Q 矩阵为

Q=ABCDEFA400B320500C320D400256400E320320500F400400500.Q= \begin{array}{c|rrrrrr} &A&B&C&D&E&F\\\hline A&-&-&-&-&400&-\\ B&-&-&-&320&-&500\\ C&-&-&-&320&-&-\\ D&-&400&256&-&400&-\\ E&320&-&-&320&-&500\\ F&-&400&-&-&400&500 \end{array}.

为什么最大值是 500 而不是 100?因为课件允许 F 到 F,并且每次都获得 100。固定点满足

Q(F,F)=100+0.8Q(F,F),Q(F,F)=100+0.8Q(F,F),

所以

Q(F,F)=10010.8=500.Q(F,F)=\frac{100}{1-0.8}=500.

把所有值除以 5,只是为了显示得更直观,不改变每行的最大值动作:

Q^=ABCDEFA80B64100C64D805180E6464100F8080100.\widehat Q= \begin{array}{c|rrrrrr} &A&B&C&D&E&F\\\hline A&-&-&-&-&80&-\\ B&-&-&-&64&-&100\\ C&-&-&-&64&-&-\\ D&-&80&51&-&80&-\\ E&64&-&-&64&-&100\\ F&-&80&-&-&80&100 \end{array}.

例如从 C 出发:

  1. C 只有动作 D,所以走到 D;
  2. D 行最大值为 80,对应 B 和 E;
  3. 从 B 或 E,最大值动作都是去 F。

因此有两条同样最优的路线:

CDBF,C\rightarrow D\rightarrow B\rightarrow F, CDEF.C\rightarrow D\rightarrow E\rightarrow F.

这也解释了为什么“最优路径”不一定唯一。若多个动作拥有相同最大 Q 值,可以任取一个,也可以保留随机选择。

七、完整训练流程

把导航例推广为通用 Q-learning,可以写成:

  1. 初始化 Q(s,a)Q(s,a),非法动作不参与选择;
  2. 每个回合重置到一个初始状态 ss
  3. 用探索策略选择动作 aa
  4. 执行动作,观察奖励 rr 和下一状态 ss'
  5. 用时序差分公式更新 Q(s,a)Q(s,a)
  6. sss\leftarrow s',直到回合终止;
  7. 重复多个回合,直到 Q 值或评估回报趋于稳定。

对有限状态和动作问题,如果每个状态-动作对都被充分访问、学习率满足合适的递减条件,并且环境平稳,表格型 Q-learning 可以收敛到最优动作价值。实际任务中状态空间过大时,无法存一张完整 Q 表,才会进一步用神经网络近似 Q(s,a)Q(s,a)

课件把同样的建模方式延伸到机器人和无人机导航:位置、姿态或传感器摘要成为状态,控制指令成为动作,安全到达目标、耗时和碰撞代价共同构成奖励。任务规模变大后,状态表示和奖励设计往往比写出更新公式更难。

八、三个 sanity check

  1. 只在合法动作里取最大值。把非法位置初始化成 0 后若也参与选择,它可能与合法的零价值动作混淆;实现时应使用动作掩码或负无穷。
  2. 先明确目标是终止还是继续。本课件让 F 自环且持续奖励,所以 Q 值累积到 500;若“到达 F 就结束回合”,F 不再产生后续回报,数值会改变,但指向出口的策略仍可一致。
  3. 别混淆 α\alphaγ\gamma。学习率决定更新速度,折扣因子决定未来奖励的权重,它们控制的是不同问题。

本讲速记

  • 强化学习从“状态—动作—奖励—下一状态”的交互中学习长期策略。
  • R(s,a)R(s,a) 是一步奖励,Q(s,a)Q(s,a) 是这一步及以后可获得的累计价值。
  • Q-learning 用 r+γmaxQ(s,)r+\gamma\max Q(s',\cdot) 作为更新目标;一般形式还通过学习率 α\alpha 混合新旧估计。
  • 导航例中,目标奖励从 F 逐步反向传播到 B、E、D、C、A。
  • 训练时需要探索,部署时通常直接选每行 Q 值最大的合法动作。

评论