第 01 天|早期 Actor–Critic:让行动者拥有一个评价者
原论文与版本:Neuronlike Adaptive Elements That Can Solve Difficult Learning Control Problems,1983。原论文。
阅读范围:原始资料限于摘要与书目信息,全文尚未可靠获取。现代 Actor–Critic 公式与伪代码用于解释两类组件的作用,并非 1983 年 ASE/ACE 更新规则的精确复刻;实验曲线与数值尚未核实。
先接住前作的问题
这是本系列的起点。Day 0阅读路线先给出状态、动作与回报的阅读坐标,本篇从一个更具体的缺口开始:环境只在倒杆时报告失败,没有逐步正确动作标签。随后TD(λ)会把评价器中的预测问题单独拿出来。这里的衔接是教学与历史背景,不能把后来的策略梯度公式当成1983年原始ASE/ACE的推导。
五个前置概念
- Actor:选择行为的组件。
- Critic:估计行为前景的组件。
- 延迟强化:后果在多步之后才显现。
- 状态编码:把传感器信息变成学习器输入。
- TD:以相邻预测之差学习。
一、问题设定:失败到来之前,行动该从哪里得到反馈
假设小车已经走了很多步,最后杆倒下了。失败信号说明整段控制出了问题,却没有指出早先哪个动作应该改变。行动搜索需要及时反馈,而及时反馈又只能先依赖对未来失败的预测;ASE与ACE的分工正是在这个缺口中提出的。
| 要素 | 本文设定 |
|---|---|
| 研究场景 | 在线、单智能体、无模型的倒立摆控制 |
| 状态/观测 | 小车与杆的运动状态及其编码 |
| 动作 | 对小车施加方向性作用力 |
| 奖励或学习信号 | 越界或倒杆时的失败信号 |
| 终止/边界 | 杆倾斜超过阈值或小车到轨道端点 |
二、把迟到失败拆成行动搜索与学习评价
把时间退回 1983 年,问题不是“如何训练一个大 Actor 网络”,而是失败很晚才发生,行动搜索如何知道早先哪些选择值得保留。原文的 ASE 搜索输入与输出的联系,ACE 学习比二值失败信号更有信息的评价。两者不是两份独立标签的监督学习:评价会改变行为,行为又决定评价器见到的数据。
用现代记号做一个教学拆解:若 预测未来折扣回报(失败给予负奖励), 是观察到一步新信息后的预测;减去旧预测才得到“意外程度”。单独用 奖励动作,会把本来就容易的状态与动作贡献混在一起;差值则问“是否比原先预计更好”。这是连接预测与控制的直觉,不是声称原文已证明现代策略梯度恒等式。
原始元件的资格迹、随机输出规则、状态编码与现代 softmax 网络不能一一互换。下列公式和代码明确保留“现代教学对应”标签;从本篇走到 A3C 或 PPO,继承的是分工问题,不是把现代损失倒写进历史。
用预测之差表示比预期更好或更坏
现代教学对应:,,。V 是预测,δ 是比预期更好或更坏;这组公式不是所选原文符号的转录。
现代教学式的两种步长控制不同对象
改变评价参数对当前残差的响应, 改变动作概率的响应;把二者设成同一数值不是分工成立的条件。计算Actor权重时把 当固定数,才能避免把评价网络的误差反传误当成动作概率梯度。这仍是现代教学对应。
验算失败回合为何也会出现正反馈
以下是可手算的教学构造,不是论文实验。
一段两步过程最终失败。设中间无奖励、终止奖励为 −1,,旧预测 。第一步 ,第二步 。
为什么失败回合里第一步仍可能被鼓励?因为评价器先前过于乐观地看待 。学习要先纠正 ,后续访问才能把坏消息传播给 。这说明密集反馈不等于真值,也说明资格迹为何有价值。
三、按现代教学对应更新两种角色
stop_gradient 表示停止向目标量传播梯度。
输入:环境;教学版 Actor π 与 Critic V
循环:
s ← 当前观测
a ← π(s) 采样
r,s_next,done ← 环境反馈
v_next ← 0 if done else V(s_next)
δ ← stop_gradient(r+γ*v_next-V(s))
Critic 沿 δ*∇V(s) 更新
Actor 沿 δ*∇logπ(a|s) 更新
若 done 则重置环境
输出:学习后的行为和评价函数
实现要点:现代代码只解释两种角色;把它称为原文的精确算法会混淆历史实现。
四、分清倒立摆史料与原创误差示意
| 实验要素 | 原文设定与证据范围 |
|---|---|
| 环境与任务 | 倒立摆,摘要可确认 |
| 数据来源与规模 | 环境交互;总数量本文未核实 |
| 对比基线 | 具体比较方法本文未核实 |
| 训练预算与资源 | 计算资源、更新预算本文未核实 |
| 指标及其含义 | 平衡控制表现;精确成功门槛未核实 |
| 随机性与不确定性 | 独立训练次数及误差条未核实 |
| 实际验证的假设 | 只有稀疏失败反馈是否足以训练控制系统 |
实验解读(本文分析):可读的一手摘要确认倒立摆、未知运动方程和失败反馈,却不能判断控制是否依赖人工状态分箱、各组件有多少独立收益。成功演示和现代基准排名是不同证据。此轮尝试原PDF、作者目录链接及镜像,全文仍未可靠提取,因此不新增控制时长、成功率或消融数字。
读两步轨迹中的正负误差,而非控制成绩
沿上方轨迹看,最终失败不妨碍第一步得到正TD误差:旧评价器把中间状态看得过好。两条算式解释局部预测误差如何暂时给错反馈;这是现代教学对应,原始全文及实验图仍未可靠取得,不能将本图当作1983年控制成绩。
这里能核实的是问题与分工:一手摘要把任务限定为未知运动方程、稀疏失败反馈的倒立摆控制,ASE负责动作搜索、ACE提供评价。它支持“评价可以帮助延迟强化”的历史路线,却没有给当前可读材料足够信息来隔离状态编码、资格迹和两组件的独立收益。原PDF本轮仍返回502,不能展示原实验图,也不据此补成功率或控制时长。 查看原文。
五、评价变密之后仍要追查它是否正确
密集评价仍可能把Critic的错误传给Actor;状态编码与控制频率也会改变控制难度。原始全文与实验曲线未可靠取得,无法隔离资格迹、状态编码和两组件的独立贡献,也不能补写成功门槛、重复次数或控制时长。
继续追问:失败检测、样本代价与历史更新
1. 如何区分学会平衡与利用终止判定漏洞?
把评价从“程序没触发 done”拆成可独立测量的物理量:杆角、角速度、小车位置、接触力和连续存活时间;用另一套终止检测离线复算,并改变积分步长、边界容差和初始状态。若策略只在某个检测频率或阈值下成功,或者已越界却仍被计为存活,应判为评测漏洞。原文摘要不足以完成这项排查,不能据历史成功演示断言已排除奖励投机。
2. 不用评价者,仅最终失败信号会增加多少样本成本?
没有任务无关的固定倍数。最终回报式估计不依赖 Critic 的自举误差,却通常把同一失败信号分给很长的动作序列;差值评价可能降低信用分配方差,也可能因错误估值增加样本量。应固定状态编码、探索、终止规则与调参预算,对比仅终局强化、ACE 辅助和理想评价器,报告达到同一独立测试成功率所需真实交互及多种子区间;原文未核实的消融不能补成数字。
3. 现代策略梯度版与原始 ASE 的更新差异有哪些?
现代随机策略梯度明确优化期望回报,以 配合回报或优势估计更新;Critic 通常以 TD 或回归学习。历史 ASE/ACE 使用神经样自适应元件、随机动作输出与资格迹,不能直接等同于 softmax 网络加反向传播。二者共同点是行动与评价分工;要逐项比较精确更新、迹的衰减与归一化,仍需原始全文,本文不以现代公式填补这项史料缺口。
六、从评价预测走向现代策略更新
历史与教学承接:TD(λ)。评价信号从哪里来还未被单独解释,下一篇固定产生轨迹的过程,研究预测怎样利用相邻差分。
后来的模块对应:A3C。行动与评价分工继续存在,但神经网络、多步梯度与并行执行属于后来的实现,不能倒写回ASE/ACE。
原论文与图表入口。本次仅复查摘要级来源,原PDF仍返回502,未新增原始算法或实验数值。
自测两题
第一题考查核心机制,第二题考查边界与辨析。建议先自行作答,再对照参考答案。以下数值小例子均为教学构造。
问题 1:只有倒立摆倒下时才得到负奖励,Critic 怎样帮助 Actor 学习倒下之前的动作?
参考答案:Critic 学习预测未来是否容易失败。即使当前没有奖励,只要下一状态的预测比当前更差,就能产生负的 TD 误差,给 Actor 提供较及时的反馈。用现代教学记号表示:
Actor 据此调整动作倾向。这里解释的是评价与行动分工的思想,并非精确复刻 1983 年算法。
问题 2:Critic 给出的反馈比终局奖励密集,是否意味着它一定更可靠?
参考答案:不一定。终局奖励来自实际结果,Critic 的反馈包含估计。如果 Critic 错把危险状态评价为有利,Actor 就可能被引向错误行为。Actor–Critic 用估计换取更及时、通常方差更低的信号,同时引入了评价误差传播的问题。