锁定问题
一个持续获胜的 Bandit
Vanilla UCB1 每步重新计算分数。挑选一个臂。拉动它。更新 n_k 和 mean_reward(k)。重复。在长训练运行中带有多个来源时,一个臂可能收集一连串高奖励,推动其均值上升,并变得几乎不可能被击败。其他臂停滞在低 n_k 和陈旧均值上。锁定。
锁定以两种方式伤害 ANDREA:
1. 多样性崩溃。 一个模型在90%的步骤上训练于单一来源,会学习该来源的风格特征。生成样本会偏向于重复模式,匹配主导来源。
2. 陈旧探索。 具有陈旧均值的臂无法恢复。即使模型现在已具备足够的容量从该臂中提取奖励,早先均值下降的臂仍会卡在那个均值上。
阶段购买时间
解决方案:在阶段(多个步骤)中保持固定的焦点臂集合,然后重新评估。一个14步的阶段意味着14次前向传递击中相同的焦点臂。均值奖励稳定。随机噪声被平均掉。然后强盗重新抽取。
可变阶段长度
ANDREA 在每个阶段边界从 {7, 14, 21, 28, 42} 步中随机挑选阶段长度。五种值,均匀随机。短阶段(7)对坏选择快速反应;长阶段(42)让稳定的焦点集充分利用。上限限制了损害:最多 42 步花费在坏焦点配置上,然后强制重新掷骰。
阶段长度统计
1d3(2-eye)& 1d4(3-eye)
骰子记号
桌面游戏记号:NdM 表示掷 N 个每面有 M 面的骰子。1d3 掷一个 3 面骰,返回 {1, 2, 3} 中的值。1d4 掷一个 4 面骰,返回 {1, 2, 3, 4} 中的值。ANDREA 还允许结果为 0,这是惯例:掷出 0 表示完全随机阶段(无 UCB 聚焦臂)。
2-Eye 与 3-Eye 配置
ANDREA 的训练配置选择两种骰子模式之一:
2-eye 配置 (1d3)。 可能的焦点臂数量:{0, 1, 2, 3}。结果 0 保留用于随机阶段。
3-eye 配置 (1d4)。 可能的焦点臂数量:{0, 1, 2, 3, 4}。更大的池允许更集中的阶段。
先随机,后 UCB
无论骰子如何滚动,ANDREA 都会分两轮填充焦点槽:
1. 先随机臂。 从所有可用臂中均匀随机挑选一部分焦点槽。这会强制每个阶段产生组合多样性,而不受 UCB 排名的影响。
2. UCB 填充剩余槽位。 计算尚未选择的臂的 UCB1 分数。选取排名最高的剩余臂,直到焦点槽位数量填满。
随机优先很重要。如果 UCB 先选,连续领先者总是会占据一个槽位。有了随机优先,即使最好的 UCB 臂也可能在一轮中被排除。多样性得到保证。
纯随机阶段
当骰子掷出 0 时,整个焦点集来自随机选取。UCB 毫无贡献。大约 25% 的阶段(1d4)或 33% 的阶段(1d3)落入此处。纯随机阶段迫使 bandit 刷新其对低拉取臂的样本,保持整个臂池的 mean_reward 估计的诚实性。
骰子结果概率
限制伤害
一个糟糕的阶段最多损失 42 步
假设 UCB 排名选择了一个真实均值远低于其观测均值的焦点臂。该阶段会锁定这个臂。整个阶段奖励保持低位。直到 bandit 纠正需要多久?
最大阶段长度:42 步。42 步后,阶段结束,骰子重新掷出,焦点臂重新洗牌。糟糕的选择无法持续超过 42 次前向传递。
为什么是 42(而不是 100,也不是 1000)
长的阶段让 mean_reward 估计值稳定。统计理论:n 个样本均值的方差以 1/n 缩小。从 7 个样本到 42 个样本,提供 6 倍样本数,sqrt(6) 约 2.45 倍更紧的标准误差。42 个样本后,mean_reward 大致在其真实值的 +/-15% 范围内(取决于奖励方差)。
超过 42 个样本后,收益缩小:100 个样本 vs 42 个样本 = 2.4 倍更多,sqrt(2.4) 约 1.55 倍更紧的标准误差。边际收益下降,而糟糕锁定的成本增加。42 步平衡了两者。
多样性 vs 收敛
短阶段(7步):奖励估计保持噪声,但坏选择成本低。长阶段(42步):估计精确,但坏选择成本更高。ANDREA 均匀混合阶段长度,因此两种状态在每次训练运行中都会出现。
Btok 重建成本
每个阶段边界都会为焦点臂触发 btok 文件重建。Btok 重建在后台线程运行;CUDA 在 mtime 更改时热重载。重建需要几秒钟;阶段必须运行足够长,以使重建开销保持较小。以 ANDREA-120M 训练速度,42 步轻松超过重建时间。
关于上限的推理
接下来
你已经学到的
基于阶段的骰子控制用三条保护规则包裹 UCB1:可变阶段长度 (7-42)、随机臂优先、骰子驱动的随机阶段 (25-33% 纯随机)。42 步上限限制损害;随机阶段防止锁定;可变长度混合反应速度与估计稳定性。
剩余内容
驱动 UCB 的奖励信号实际上从哪里来?活动 78 (奖励归因) 展示了 CUDA 如何每步报告每个来源的损失、每个来源的 EMA 如何跟踪奖励,以及为什么 ANDREA 在喂给 UCB1 之前将原始奖励缩放 1000 倍。
地板与纪元惩罚(活动 79)在强盗的输出之上进一步叠加保护规则,确保小型来源不会被饿死,大型来源不会被重复到记忆化。
参考文献
ANDREA 白皮书,第 3.2 节。