進階策略優化
自適應 KL 懲罰(adaptive KL penalty)
當你用懲罰、而不是硬約束來執行信賴域時,會碰到一個調參的頭痛問題:KL 係數該多大?設太高,策略幾乎不動;設太低,它又會衝過可信任的區域。麻煩在於正確的值會在訓練中漂移。自適應 KL 懲罰乾脆不去固定這個係數——它改成為每次更新訂一個目標 KL,再讓一個簡單的控制器調整係數去命中它。
規則是一條溫和的回饋迴圈。每次更新後,量測新舊策略之間實際達到的 KL。若它明顯高於目標,代表步子太衝,就調高係數、下次收緊一點;若明顯低於目標,代表太膽小,就調低係數、容許更大的移動。如此一來,即使損失地貌不斷改變,散度仍能維持在想要的預算附近;這也是 RLHF 讓語言模型與其參考模型保持受控距離的標準做法。
\beta\leftarrow\begin{cases}\beta/2,&\text{if } D_{\mathrm{KL}}<\tfrac{1}{1.5}\,d_{\text{targ}}\\[2pt]2\beta,&\text{if } D_{\mathrm{KL}}>1.5\,d_{\text{targ}}\end{cases}
把 KL 係數減半或加倍,使量得的 KL 趨近目標值。
又称
另见