English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

访客
1 / ?
返回课程列表

锁定问题

一个持续获胜的 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 步花费在坏焦点配置上,然后强制重新掷骰。


Dice Phase Timeline

阶段长度统计

ANDREA 从 {7, 14, 21, 28, 42} 中均匀随机挑选阶段长度。计算 (a) 期望(平均)阶段长度,(b) 最大阶段长度,(c) 超过 1,000 个阶段,期望总步数。展示你的算术。

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 估计的诚实性。

骰子结果概率

在 1d3 骰子(2-eye 配置)下,可能结果 {0, 1, 2, 3} 等概率,计算 (a) 完全随机阶段的概率(dice=0),(b) 至少有一个 UCB 臂的概率(dice >= 1),(c) 在 100 个阶段中,完全随机阶段的期望数量。然后在 1d4(3-eye 配置)下,给出 (d) 完全随机阶段的概率。展示你的推理。

限制伤害

一个糟糕的阶段最多损失 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 步轻松超过重建时间。

关于上限的推理

ANDREA 完成了一个 1,000 步的训练运行。强盗在第 800 步选择了坏的焦点臂。没有 42 步上限,那个坏臂可能持续任意长的时间。有 42 步上限的情况下,从第 800 步开始的最坏情况浪费步数是多少?然后用两句话解释:(a) 为什么更长的上限(例如 200 步)会更糟,& (b) 为什么更短的上限(例如总是 7 步)也会更糟。

接下来

你已经学到的

基于阶段的骰子控制用三条保护规则包裹 UCB1:可变阶段长度 (7-42)、随机臂优先、骰子驱动的随机阶段 (25-33% 纯随机)。42 步上限限制损害;随机阶段防止锁定;可变长度混合反应速度与估计稳定性。


剩余内容

驱动 UCB 的奖励信号实际上从哪里来?活动 78 (奖励归因) 展示了 CUDA 如何每步报告每个来源的损失、每个来源的 EMA 如何跟踪奖励,以及为什么 ANDREA 在喂给 UCB1 之前将原始奖励缩放 1000 倍。


地板与纪元惩罚(活动 79)在强盗的输出之上进一步叠加保护规则,确保小型来源不会被饿死,大型来源不会被重复到记忆化。


参考文献

ANDREA 白皮书,第 3.2 节。