A54

强化学习

点击正文段落选定收藏或划线位置;未选定时使用屏幕内第一段。

课内目录

1 强化学习要建立什么

面对机器学习问题,先问系统需要做什么。给定客户过去 30 天的登录次数、服务时长、投诉次数和套餐类型,预测未来 30 天是否流失,通常是监督学习。输入是特征,目标是已观测的标签,模型可以在固定测试集上接受检验。强化学习,简称 RL,要学习的则是在持续变化的环境里采取动作,让之后获得的累计回报更好。它建立的是决策规则,以及检验这条规则所需的交互过程。

区别不只是标签换成奖励。预测客户流失之后,系统可能选择不干预、发送提醒或安排人工联系。动作会改变后续客户状态,也会改变之后能收集到的数据。如果今天的联系降低了明天的流失风险,却增加了服务成本,决策就需要考虑跨时间的后果。这种问题可能适合 RL,但前提是能说明动作如何执行、结果如何反馈、错误如何约束,并且有可信的试验环境。只有历史客户表格,并不自动具备这些条件。

以公开的 Telco Customer Churn 表格数据为例,任职时长、月费、合约类型等特征可以用于建立流失分类基线。它没有完整记录某种干预由谁随机分配、干预后状态如何连续变化,因此不能直接据此宣称训练出了有效的客户保留策略。模型发现“接受联系的人更容易流失”,可能只是原本风险高的人更容易被联系。预测关系不能直接回答动作的因果效果,增加 RL 算法也不会补齐缺失的证据。

入门时可以使用公开、可重复运行的 CartPole 仿真:小车通过向左或向右施力,尽量让杆保持直立。这里动作确实改变下一时刻的位置、速度和倾角,倒杆会终止当前回合。它适合观察决策与反馈,但成功只能说明策略在指定仿真条件下有效。学习目标是把问题定义、训练记录和验证边界连接起来,避免把漂亮回报误当成现实收益。

从预测任务到序贯决策的适用条件
从预测任务到序贯决策的适用条件

与 RL 比较时,也要保留简单方案。短文本分类可以先用 TF-IDF 特征和线性分类器;图像分类可以先用固定训练集学习类别;小车控制可以比较随机动作或简单规则。只有当动作影响未来、即时指标不足以评价策略,且额外复杂度带来可复现的收益时,RL 才值得进入候选方案。它不是所有机器学习任务的升级按钮。

2 状态、动作与回报

把交互写成可检查的记录:在时刻 t,智能体得到观测,按策略选择动作,环境返回奖励、新观测以及是否终止。智能体是做选择的程序,环境是接收动作并产生反馈的系统。状态描述影响后续变化的信息,观测则是程序实际能拿到的部分。入门示例里可以把观测近似当成状态,但真实任务中,传感器噪声、不可见的客户意愿和延迟反馈都会使这个近似失效。

CartPole 的观测有 4 个数:小车位置、小车速度、杆倾角、杆角速度。动作有 2 个:向左施力和向右施力。常见环境配置按存活步给予奖励,失败或达到时间上限时结束回合。需要记录具体版本、时间上限和奖励定义,因为同名任务在不同配置下的回报未必可比。“每回合 400 分”只有放回这些约定里才有含义。

奖励是单步反馈,回报是多步奖励的累计。例如,某段轨迹的奖励为 1、1、1、0,未折扣总和就是 3。使用折扣因子 γ 时,越远的奖励权重越小,表达为 G = r₁ + γr₂ + γ²r₃ + …。γ 介于 0 和 1 之间,选择它反映我们如何重视延迟结果;它不能替代真实成本和约束的定义。看到 1 次高奖励,也不能证明整段决策更好。

交互记录至少应保留回合编号、步编号、观测、动作、奖励、下一观测和结束原因。尤其要区分任务失败导致的终止与达到采样时间上限导致的截断:它们都结束本段记录,却不一定具有相同的学习含义。本课不展开算法内部如何处理,只要求在数据和报告中明确区分,避免将“跑到时间上限”解释成“任务自然结束”。

状态设计还必须检查时间边界。流失干预若使用了客户取消服务之后才生成的结算字段,就是未来信息泄漏。短文本分流若把人工审核后的处理结果放进输入,也会让离线表现失真。无论监督学习还是 RL,动作发生时不可获得的信息,都不该进入当时的决策特征。先画出时间线,通常比先调模型更能发现问题。

动作与奖励沿时间推进的交互流程
动作与奖励沿时间推进的交互流程

3 策略优化与探索

策略回答“在当前观测下,如何选择动作”。它可以是确定规则,也可以给出各动作的概率。训练时,算法根据采集到的轨迹调整策略,希望之后的累计回报提高。某些方法还估计状态或动作的长期价值,帮助判断选择的好坏;本课只需要理解价值是对未来结果的估计,不把它当成已经兑现的收益,也不展开具体更新公式。

探索是主动尝试尚不确定的动作,利用是倾向选择当前看起来更好的动作。如果小车策略总是重复早期偶然成功的动作,它可能错过更好的控制方式;如果始终随机施力,又很难形成稳定行为。训练需要在两者之间安排取舍。探索概率、动作分布或其他机制都可能改变这种取舍,因此训练记录必须标明探索设置,不能只留下最终模型。

探索有成本。在仿真中,杆倒下可以重置;在现实中,错误联系可能打扰客户,错误控制可能损坏设备。能在仿真里尝试的动作,不代表可以直接在线随机试验。对真实 ML 项目,应先限定动作集合、建立安全退出条件,并由业务和实验负责人确认允许的试验范围。动作权限属于问题定义,奖励中的扣分不能替代执行前的硬约束。

训练策略和评估策略也可能不同。训练时为了探索而随机选择动作,回报会随探索程度变化;评估时通常固定指定的动作选择方式,再在独立环境种子上运行。若最终上线仍使用随机策略,就应按那个随机策略评估。需要报告评估是否保留随机采样、运行多少回合、环境如何重置,使“策略变好”与“探索变少”能够被区分。

监督学习常采用训练、验证、测试划分,RL 也需要同样的隔离意识。训练环境用于更新参数;验证环境用于选配置和检查点;测试环境用于最终检验。它们可以共享任务规则,但应使用独立种子或预留的场景参数。若反复根据测试结果调整奖励和超参数,测试就已经承担了验证功能,应重新准备未参与选择的检验条件。

4 动手:读一条训练回报曲线

先读横轴。环境步数表示实际与环境交互的次数,回合数表示重置后完成了多少段任务,梯度更新次数表示模型参数更新了多少次,墙钟时间表示实际耗时。它们回答不同问题。每回合长度不同、每批数据更新次数不同的实验,即使曲线横轴都写“训练进度”,也不能直接比较。入门实验建议以累计环境步数为主,同时报告运行时间。

可以准备 3 个训练随机种子,每个种子分配 100000 个环境步;每经过 5000 个训练环境步,暂停更新,在独立评估种子上运行 20 个回合。评估交互不计入这 100000 个训练步,但需单独报告开销。训练前固定环境版本、回合上限和策略评估方式,并保留随机策略基线。这里的预算是练习协议,不保证任何算法达到指定成绩。

下面是用于读图的示意记录,不是实测结果。评估均值表示累计训练到该位置时,按同样协议得到的平均回报。失败比例应按预先定义的任务失败统计,不能把所有时间上限截断都算作失败。

累计训练环境步数评估平均回报评估回报标准差任务失败比例
02291.00
2000095480.90
400002401300.65
600001801450.80
800003601100.35
1000003901000.25

读到 60000 步时,先描述事实:均值下降,波动变大,失败比例上升。它可能是更新不稳定、采样差异或评估条件变化,单靠曲线不能确定原因。先检查环境配置、奖励版本和评估动作选择方式是否一致,再检查每个训练种子的结果。不要立刻把这段下降叫作过拟合,更不要只删掉下降区间来呈现持续进步。

训练回报曲线的观察与判断顺序
训练回报曲线的观察与判断顺序

实际绘图时,同时保留原始点和明确标注窗口的平滑线。跨训练种子的均值与离散程度,和同个策略在多个评估回合中的波动,是不同层面的不确定性。3 个种子只是入门预算,不能据此声称已精确估计真实差异。报告中应说明阴影代表标准差、范围还是置信区间,并给出有效样本单位,避免把大量相关步数当作大量独立实验。

读图最后要作选择:如果验证协议预先规定按 80000 步检查点提交,就按该协议进入测试;如果允许根据验证均值选最优检查点,也要记录这条规则。不能看完测试曲线后挑最高点,仍称它为未参与选择的测试成绩。完整结论应同时包含回报、失败情况、预算和波动,而不是“最高到过 500 分”。

5 样本效率与稳定性取舍

样本效率描述用多少环境交互获得多大改进。仿真每秒能生成大量样本时,交互成本可能较低;真实设备运行、人工审核或客户反馈往往昂贵且缓慢。计算效率则关注耗时、内存和更新成本。某方法用更少交互达到目标,却花费更多计算时间,并不矛盾。比较实验应分别报告环境步数与实际耗时,而不是笼统地称“训练更快”。

有些方法主要使用当前策略新采集的轨迹,有些方法可以重复使用历史经验。重复使用有机会提高样本利用率,但旧数据来自旧策略,覆盖范围也可能有限。如果历史里几乎没有向右施力的动作,就难以可靠判断这些动作的长期效果。经验更多不等于覆盖更好;这也是为什么单靠静态历史表格学习新策略,通常需要额外假设与专门验证。

学习率控制每次参数调整的幅度。较大的值可能让早期回报上升更快,也可能造成剧烈振荡;较小的值可能更平稳,也可能在同样预算内进展有限。批量大小、奖励尺度和采样方式也会影响结果,因此不能从“某条曲线很抖”反推出唯一原因。调参时固定其他条件,比较多个随机种子,并记录配置之间真正改变了什么。

滑块展示的是预设的教学曲线,用来练习识别“上升速度、最终水平、种子差异”这 3 个维度,不是可用于预测项目成绩的模拟器。如果较大学习率的最高点更高,但多数种子更早崩溃,是否采用它取决于成功门槛和失败代价。如果较小学习率在预算内始终达不到要求,平稳本身也不足以说明更好。取舍必须回到事先定义的验收标准。

公平比较还需要相近的配置搜索预算。如果方案甲试了 50 组设置,方案乙只试了 1 组,最终优胜可能来自更多选择机会。可以先为各方案分配相同的训练预算和验证次数,再比较达到回报门槛所需的步数、最终失败比例和跨种子差异。若结果差异小于波动,应诚实写成暂未获得明确优势,而不是把小数点后的变化包装成改进。

6 常见坑:奖励设计不当投机

奖励是训练目标的可计算表达,现实目标却往往更复杂。假设用 RL 决定是否把短文本送给人工审核,并仅对“少转人工”给予奖励,策略可能把全部文本直接放行。奖励持续上涨,但有害内容漏检增加。系统是在优化给定的规则,问题出在我们把成本下降误当成完整目标。这种投机不需要模型具有主观意图,也不意味着算法实现一定出错。

可以用公开的 SMS Spam Collection 数据建立文本分类基线,把垃圾短信作为正类,使用词频或 TF-IDF 特征,并在训练、验证、测试集之间隔离重复或近似重复文本。准确率容易被多数类主导,应同时查看 precision、recall、F1;需要概率排序时,可报告明确类型的 ROC-AUC 或 PR-AUC。类别不均衡时,PR 曲线常能更直观地呈现正类检出取舍。

这里的分类器仍是监督学习。如果希望进一步学习“直接处理、转人工、延后处理”的连续决策,就必须额外获得动作反馈、人工成本和后续结果。分类 F1 不能直接换算成策略回报。即使设计了“正确处理加分、人工审核扣分”,也应独立报告漏检率、误报率和人工负担,因为奖励总和可能掩盖不可接受的局部失败。

修正奖励前,先定义外部验收指标和硬约束。例如,对高风险文本设置最低召回要求,对人工量设置每日容量限制,并保留暂停自动处理的条件。若把每次漏检惩罚调得很大,策略又可能把所有文本转人工;若只奖励完成次数,它可能偏好容易样本。奖励系数表达取舍,但并不能保证所有约束都被满足,必须在独立评估里检查真实行为。

还要防止奖励计算本身泄漏答案。训练时用完整标签计算奖励是合理的实验设置,但决策输入不能含有审核后字段;测试标签不能被拿来反复修改奖励。若用自动打分器给文本输出评分,应另设人工抽检或独立质量指标,检查策略是否学会迎合打分器的表面偏好。回报提高后,最有价值的动作常常是查看失败轨迹,而不是继续加大奖励权重。

高回报仍可能失败的排查路径
高回报仍可能失败的排查路径

7 案例:仿真成功现实失败

设想在仿真中训练小车保持杆直立,验证回报已经接近时间上限,跨种子波动也较小。把相同策略接到真实小车后,它却在快速纠偏时失稳。检查发现,仿真默认动作立即生效,真实执行有延迟;仿真观测很干净,真实角度传感器有噪声;实际摩擦、杆质量和电机输出也偏离训练设定。这是环境分布变化,训练曲线无法替代对这些差异的测量。

分析时沿轨迹对齐时间:观测何时采集、动作何时发出、执行何时开始、杆何时超出范围。假如策略依赖极快的左右切换,动作延迟会使原本的纠偏变成反向干扰。仅把失败称为“泛化不好”过于笼统。应该提出可检验的假设,例如“加入测得的延迟后,原策略失败比例是否明显上升”,再在隔离仿真中验证。

可以在训练中变化质量、摩擦和噪声,使策略接触更多条件;也可以限制动作变化速度,或在执行端加入安全控制。这些做法需要符合设备实际范围。随机化范围太窄,可能覆盖不到现实;太宽,又可能使任务过难。先通过真实测量确定合理范围,再保留未参与调参的组合检验鲁棒性。随机化只是扩大训练覆盖,不是现实安全的证明。

类似问题也出现在普通 ML 任务。用 Fashion-MNIST 训练的图像分类器,在固定灰度、居中背景下表现良好,不代表能处理手机拍摄的衣物照片;拍摄角度、背景和光照已改变输入分布。流失模型在随机划分上 AUC 较高,也可能在价格调整后的新月份失效。RL 还多了动作影响未来数据这一层,偏离熟悉状态后,错误可能连续积累。

最终报告应把“训练分布内成功”和“变化条件下成功”分别呈现。对小车报告不同延迟、噪声与物理参数下的回报和失败比例;对分类任务按时间、来源或关键群体拆分指标。出现退化时先确认测量与输入处理,再检验分布差异。真实执行应分阶段扩大范围,并保留停止条件,不能凭仿真均值直接宣布迁移完成。

8 把 RL 假设写进实验方案

实验方案的开头应写成可被推翻的主张。例如:“在固定 CartPole 环境和相同交互预算下,学习策略在独立场景中的平均回报高于随机策略,且任务失败比例下降。”随后写明状态包含的 4 个观测量、允许的 2 个动作、奖励规则、回合上限,以及成功与失败如何判定。这样的表述让团队知道模型究竟在证明什么,也限制了结果可以外推的范围。

基线应覆盖真正可用的替代方案。除了随机策略,还可加入根据倾角和角速度作决定的简单规则,并明确规则是否经过验证集调节。若任务本来只是客户流失预测,就先建立监督学习基线,检查 precision、recall、F1 和 AUC,再说明为什么需要动作优化。不能因为项目标题写了 RL,就跳过“是否存在序贯决策需求”这个问题。

划分方式跟随信息产生过程。客户表格可以按时间划分训练、验证、测试,并避免同个客户的相关记录跨集合;图像需要按原始来源或拍摄对象分组,防止相似图片泄漏;文本要检查模板重复和来源重叠。RL 仿真则预留环境种子与参数组合。比例可以采用 70%/15%/15% 作为起点,但具体边界应服从时间、分组和样本量条件。

在训练前确定主要指标、预算和选择规则。累计回报是直接训练目标,失败比例和约束违反次数用于检查行为代价;达到门槛所需的环境步数用于评价样本效率。记录软件与环境版本、随机种子、全部配置、检查点和轨迹摘要。若奖励版本改变,应作为新实验标记,不能把前后回报接成同条可比曲线。

最后写明什么结果会否定方案:多数种子没有超过简单规则,优势只出现在参与调参的场景,或轻微延迟就引发不可接受的失败,都应触发重新定义问题或停止升级。离线历史数据若缺少动作覆盖和可识别的反馈,就把它写成证据缺口。一个可信方案允许得出“当前不适合 RL”的结论,这比保证一定训练成功更有用。

9 从强化学习走向推理模型与测试时计算(A55)

语言模型中的 RL 同样涉及策略、采样结果和奖励,但环境形式可以不同。对于给定问题,模型生成文本或解题步骤,评分过程根据最终答案、格式或其他可检查条件提供反馈。训练据此调整生成策略。这里的奖励可能较稀疏,也可能来自不完善的评估器;“分数提高是否代表能力提高”的疑问,与前面奖励投机的问题相通。

例如,同一道算术题采样出多份解答,用可执行的答案校验器判断对错,再根据奖励调整这些生成序列的概率。文本逐个词元生成,最终奖励却可能直到答案结束才出现,因此需要把整段结果的反馈分配给生成过程。答对不代表每个中间步骤都正确;如果评分器只匹配末尾数字,策略可能靠猜测或迎合格式获得奖励,错误推导仍被强化。

更新时还可限制策略偏离参考模型的程度,避免少量高分样本使输出分布骤变。限制过强可能难以学到新行为,过弱则可能损害原有能力或造成输出模式收缩。检验时应保留未参与训练的题型,并分别统计答案正确率、推导有效性和重复输出比例,确认奖励提升对应了什么行为变化。

需要区分训练时改参数与推理时增加计算。RL 训练改变模型以后如何生成;测试时计算则可能在参数固定的情况下,让模型生成更多候选、检查答案或进行额外求解。两者可以配合,但不能混作同项成本。训练投入很大不代表每次推理都必须很长,推理过程更长也不自动说明执行了新的 RL 更新。

A55 将进一步讨论,在固定题目、评分规则和计算预算下,如何比较直接作答、增加候选和增加检查过程。本课先保留评估原则:题目必须与调参过程隔离,正确率之外还要记录耗时与计算开销;不能只展示偶然成功的候选。若比较短文本分类器与更复杂的生成方案,也要在同样的测试标签和决策规则下评价。

从小车控制走向语言推理,任务表面变化很大,核心追问却可以迁移:策略能看到什么,能采取什么动作,奖励由谁计算,失败是否被总分遮蔽,独立测试能否支持所声称的收益。先把这些问题写清楚,再研究更复杂的训练机制,才能避免把“用了 RL”误当成性能与可靠性的保证。

放进方案里

在方案中加入“强化学习适用性与验收”段落,先写业务目标,再说明动作如何改变未来状态。如果任务只是按固定特征预测客户流失或文本类别,优先交付监督学习基线;若确实存在连续干预,列出可执行动作、反馈延迟、试验权限和停止条件。历史表格没有记录干预过程时,应明确当前数据只能支持预测分析,尚不能验证新策略的效果。

为首轮可复现实验固定环境版本、观测字段、动作集合、奖励定义与回合上限。采用 3 个训练种子,每个种子使用 100000 个环境步,每隔 5000 步执行 20 个独立评估回合。训练、验证和测试采用隔离的种子或场景组合,检查点只按预先规定的验证规则选择。保留随机策略和简单规则基线,并为候选方法安排相同的配置搜索预算。

验收同时检查累计回报、任务失败比例、约束违反次数和运行成本,报告各训练种子的结果与波动。涉及分类子任务时,补充 precision、recall、F1,并写清 AUC 的类型、正类定义和阈值选择方法。按时间或来源划分数据,检查重复样本、未来字段及类别不均衡,避免把泄漏造成的高分计入收益。

将奖励投机和分布变化列为必须执行的反例检查:抽查高回报轨迹是否利用规则漏洞,在预留的延迟、噪声或来源变化条件下重复评估。所有奖励修改都建立新实验版本。若优势不能跨种子复现,或外部质量指标退化,则返回问题定义并限制使用范围。方案交付物包括配置、曲线、失败轨迹、证据缺口和下一步决策,使结果能够被复核,也允许合理地停止 RL 路线。

10 小结:下一步推理模型与测试时计算(A55)

强化学习通过交互学习决策,评价对象是动作带来的长期结果。读回报曲线时,先确认预算、评估协议和波动,再判断是否优于基线;检查奖励时,始终保留独立质量指标与失败轨迹。

进入 A55 前,可以自测 3 个问题:只有流失标签为什么不足以验证干预策略?平均回报上涨为什么仍可能伴随不可接受的失败?固定参数后增加求解计算,与继续训练有什么区别?能用具体的数据与评估边界回答,就具备了继续讨论推理模型的基础。

同阶段相关课

AI 答疑

默认关闭。启用后,只发送本课标题、最近阅读的屏幕内正文摘录(最多 6000 字)与本次问题。

配置自己的服务