第 28 天|C51:不只预测平均回报,还预测回报分布
原论文与版本:A Distributional Perspective on Reinforcement Learning,2017。原论文。
先接住前作的问题
DQN把每个动作的未来压缩为一个平均值,Dueling改进这个值的表示,仍没有表达结果分布。C51直接扩展学习对象为随机回报分布,并保留按期望选动作的控制接口。
五个前置概念
- 回报分布:累计奖励可能取值的概率。
- 原子支撑:固定的离散回报位置。
- 分布Bellman:传播整个随机回报。
- 投影:把移动后的概率映射回固定网格。
- Wasserstein距离:考虑取值位置的分布距离。
一、问题设定:相同平均回报背后的不同结果,怎样进入价值学习
一个动作总得1分,另一个动作一半得0、一半得2,平均价值相同却有不同结果结构。C51让网络输出固定支撑点上的概率,随后必须解决一个实际问题:奖励平移和折扣压缩以后,新的概率质量通常不再落在原来的网格上。
| 要素 | 本文设定 |
|---|---|
| 研究场景 | 基于价值、off-policy、离散动作的分布式RL |
| 状态/观测 | 状态或Atari图像 |
| 动作 | 按分布期望选离散动作 |
| 奖励或学习信号 | 环境随机回报的分布 |
| 终止/边界 | 终止时分布集中到实际奖励后再投影 |
二、对整个回报分布做Bellman变换与投影
均值价值把多种未来压缩为一个数。C51学习随机回报Z的分布,使Bellman更新作用于整个随机变量:即时奖励平移分布,折扣压缩分布,再混合后继状态和动作的不确定性。
实现选择固定51个支持点,网络只输出各点概率。更新后支持点通常落到原网格之间,先裁到边界,再把每点概率线性分摊给相邻格点,得到可用交叉熵拟合的目标分布。这个投影是算法组成,不是可省略的绘图步骤。
理论与控制要区分:固定策略的分布Bellman算子有Wasserstein收缩性质,控制中的最大化算子并不继承同样的一般结论。C51实际行动仍按分布期望选最大Q,所以学习了分布不等于已经采用风险规避效用,也不是对模型参数认知不确定性的完整后验。
逐原子分配质量并处理整数落点
目标 ,训练交叉熵 。Φ为支撑投影,不能只取最近原子丢失质量。
把投影写成可检查的质量分配。支撑为 ,其中 。一个后继原子 带概率 ,先移动并裁剪得到 ,再令 、、。当 时
两份质量相加仍为 ;若 ,则全部加到该原子,不能把两项都乘零。这个整数落点处理由原文§4.2投影式(7)的质量守恒直接得到,也是把Algorithm 1转成代码时必须检查的边界。终止时所有后继原子先集中到实际奖励,再按同样规则投影。
投影前后要同时检查概率和与期望
每个原子的两端权重相加为1,只保证概率质量不丢失;期望保持还要求没有边界裁剪。测试时应把这两条断言分开,避免总概率等于1就误判所有价值信息都被保留。
检查三点投影保持期望的条件
以下是可手算的教学构造,不是论文实验。
为便于手算仅用支持点(0,1,2)。后继分布在1和2各有0.5质量,奖励0、γ=0.5,更新后位置为0.5和1。把0.5处质量均分给0与1,投影结果为(0.25,0.75,0),期望0.75,等于原期望1.5乘0.5。
若加奖励使支持超出2,边界裁剪可能改变期望。有限支持范围因此不仅影响尾部形状,也可能影响动作排序。
三、搬移原子并守住概率质量
固定支撑z_1…z_51
网络为每个动作输出softmax概率
用期望Σp*z选择动作并收集经验
每批更新:
选择目标下一动作
将其目标分布的各原子按r+γ*z移动
截到支撑范围并将质量分到左右邻点
真终止时只保留奖励分布
最小化目标概率与当前概率的交叉熵
输出:分布以及用于决策的均值Q
实现要点:固定支撑会截断尾部,控制算子不能直接继承评价的压缩性。
四、读支持点数量、评估选择与训练速度
| 实验要素 | 原文设定与证据范围 |
|---|---|
| 环境与任务 | 理论MDP与Atari |
| 数据来源与规模 | 环境replay |
| 对比基线 | 标量DQN等原文基线 |
| 训练预算与资源 | 原子数51;全部帧/种子配置见实验节,本文未完整核实 |
| 指标及其含义 | 游戏分数、分布性质 |
| 随机性与不确定性 | 主排行榜选训练中最佳评估;附录另给3种子结果,统计口径不同 |
| 实际验证的假设 | 预测分布是否给深度价值学习更有用信号 |
实验解读(本文分析):§5.1比较支持点数量,§5.2排行榜还降低训练ε并按训练中最佳评估分数汇总;附录另给3种子训练表现,不能混称同一统计。作者报告51原子实现约为DQN训练速度的75%,因此同样环境帧收益更高与同样墙钟更快不是同一结论。
区分最佳评估汇总与三种子训练统计

图3把支持原子数从5、11、21增加到51,与Bernoulli和DQN对照;横轴是百万训练帧,纵轴是各游戏原始分数。增加原子数在Seaquest等任务更有影响,在Pong已接近饱和时差异很小;曲线经过五百万帧移动平均,不能把平滑程度当作独立随机种子的置信区间。
策略评价理论在特定Wasserstein度量中给出分布Bellman压缩,控制时贪心动作选择则不继承这一简单保证。图1从下一状态回报分布出发,依次展示折扣缩放、奖励平移和固定支撑投影,先分清这些操作才可理解C51目标。Atari成绩支持这种近似在所测任务中有用,但既没有把风险约束加进动作选择,也没有证明收益完全来自更准确的尾部信息。 查看原文。

依次看a到d:下一状态回报分布经折扣收缩,再加上奖励平移,最后投影到固定支持点。前三步对应分布Bellman更新,最后一步才是C51离散表示额外引入的近似。
五、分布预测不等于风险偏好或控制收缩保证
固定策略的分布Bellman收缩性质不直接覆盖控制最大化。支撑之外的收益会被裁剪,尾部风险与动作排序尤其需要检查;多输出的实验收益也不足以唯一确认是哪种监督机制起作用。
继续追问:支撑范围、投影与不确定性
1. 固定支撑不含真实高收益时会怎样?
落在固定支撑外的 Bellman 目标质量会被压到边界原子,尾部信息丢失,期望也可能被系统性截断。扩大支撑可以减少截断,却在原子数固定时降低分辨率;增加原子数则提高计算。应统计目标落在边界外的比例与边界质量,并检验奖励尺度和终止条件,而不能仅凭51个原子认为所有回报分布都可准确表达。
2. 为什么分布更丰富不自动等于更安全?
原 C51 仍通常按回报期望选择动作,没有自动优化失败概率、CVaR或安全约束;近似分布还可能在稀有尾部失准。它刻画的是给定策略与环境下的回报随机性,也不自动等于参数认知不确定性。安全结论需要明确风险目标、尾部校准及约束违规评测,不能从“输出一整个分布”直接推出更安全。
3. 策略评价的收敛结论为何难搬到控制?
固定策略下,分布 Bellman 算子在适当 Wasserstein 度量中具有折扣压缩性质。控制时动作由当前分布的期望决定,小估计变化可能切换贪心动作,使目标分布不连续地改变,原评价压缩证明不能直接套用。再加入有限支撑投影和网络逼近,又有额外误差;理论必须注明是策略评价、控制还是具体近似算法。
六、把分布目标接到多步与优先回放
模块组合:Rainbow。分布目标可以接上多步奖励、双估计与优先回放;这些接口必须保持折扣、选择动作和投影一致。
标量对照:DQN。比较时先固定行为选择规则,才能把分布训练收益与风险偏好变化分开。
原论文与图表入口。分布Bellman算子;Algorithm 1投影;§5.1—5.2与附录C—D。
自测两题
第一题考查核心机制,第二题考查边界与辨析。建议先自行作答,再对照参考答案。以下数值小例子均为教学构造。
问题 1:最终按平均 Q 选动作,为什么还学习回报分布?
参考答案:分布包含均值之外的随机结构,为表示学习与自举提供更丰富的训练信号。例如固定获得 5,与等概率获得 0 或 10,均值相同但结果结构不同。不过,仍按均值决策时,不能自动称为风险规避策略。
问题 2:固定 51 个支撑点有什么代价?
参考答案:Bellman 更新后的分布通常不落在固定网格上,需要投影;超出支撑范围的回报还会被截到边界,丢失尾部信息。另外,策略评价中的分布算子理论性质,不能不加条件地移植到不断取贪心动作的控制过程。