鎖定問題
持續獲勝的盜匪
Vanilla UCB1 每步重新計算分數。選擇一個手臂。拉動它。更新 n_k & mean_reward(k)。重複。在長時間訓練運行中帶有多個來源,一個手臂可能收集一連串高獎勵,將其平均值推高,& 變得幾乎不可能被擊敗。其他手臂停滯在低 n_k 與陳舊平均值。鎖定。
鎖定以兩種方式傷害 ANDREA:
1. 多樣性崩潰。 在一個來源上訓練 90% 步驟的模型會學到該來源的風格特徵。生成樣本會偏向重複模式,符合主導來源。
2. 陳舊探索。 具有陳舊平均值的臂無法恢復。即使模型現在已具備足夠容量從該臂中提取獎勵,早先平均值下降的臂仍會卡在該平均值。
階段購買時間
解決方案:在一個階段(多個步驟)中固定一組焦點臂,然後重新評估。一個 14 步驟的階段意味著 14 次前向傳遞擊中相同的焦點臂。平均獎勵穩定。隨機噪聲平均化。然後 bandit 重新擲骰。
變動階段長度
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 config (1d3)。 可能的焦點臂數:{0, 1, 2, 3}。結果 0 保留用於隨機階段。
3-eye config (1d4)。 可能的焦點臂數:{0, 1, 2, 3, 4}。更大的池允許更集中的階段。
隨機優先,UCB 其次
無論骰子結果如何,ANDREA 會以兩輪填滿焦點槽:
1. 隨機臂優先。 從所有可用臂中均勻隨機挑選一部分焦點槽。這會強制每個階段產生組合多樣性,無論 UCB 排名如何。 [BLOCK_TYPE SECTION/STEP] __BLOCK_N__ <translated content>
2. UCB 填滿剩餘槽位。 計算尚未選擇的臂的 UCB1 分數。依序選取排名最高的剩餘臂,直到焦點槽位數量填滿。
隨機優先很重要。如果 UCB 先選,一個連勝領先者將總是佔據一個槽位。有了隨機優先,即使最佳 UCB 臂也可能在一個階段中被排除。多樣性得以保證。
純隨機階段
當骰子擲出 0 時,整个焦點集合完全來自隨機選擇。UCB 毫無貢獻。大約 25% 的階段(1d4)或 33% 的階段(1d3)會落入此處。純隨機階段迫使 bandit 刷新其低拉取臂的樣本,保持整個臂池的平均獎勵估計值誠實。
骰子結果機率
限制損害
糟糕階段最多損失 42 步
假設 UCB 排名選中一個真實平均值遠低於觀測平均值的焦點臂。階段會鎖定該臂。整個階段獎勵保持低水準。強盜要多久才能修正?
最大階段長度:42 步。超過 42 步後,階段結束,骰子重新擲出,焦點手臂重新洗牌。糟糕的選擇無法持續超過 42 次前向傳遞。
為什麼是 42(而不是 100,也不是 1000)
長階段讓 mean_reward 估計值穩定。統計理論:n 個樣本平均值的變異數隨著 1/n 縮減。從 7 個樣本到 42 個樣本,提供 6 倍樣本數,sqrt(6) 約 2.45 倍更緊密的標準誤差。42 個樣本後,mean_reward 大約落在其真實值的 +/-15% 內(取決於獎勵變異數)。
超過 42 個樣本後,收益縮減:100 個樣本相對於 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 節。