預測分布,而不只是平均
動作值(action-value) Q(s, a) 是期望回報——一個把所有風險都平均掉的單一數字。但兩個動作可以共享相同的平均值,其中一個是穩定的細水長流,另一個卻是頭獎與災難之間的擲硬幣。分布式 RL(distributional RL)保留回報的整個分布 Z(s, a),而不把它壓縮成平均值。
一個互動式馬可夫鏈,其狀態之間的機率轉移產生一系列可能的結果。
如果反正照平均值行動,何必多此一舉?因為預測一個更豐富的目標是更好的學習訊號:網路會形成更銳利的內部表徵、梯度更有資訊量,實證上代理學得更快、分數更高——即使最終策略仍是對平均值貪婪。
分布式貝爾曼方程
一般的貝爾曼更新說:期望值等於獎勵加上折扣後的下一步值。分布式貝爾曼方程(distributional Bellman equation)對隨機變數說同一件事:回報分布等於(平移並縮放後的)下一狀態回報分布,Z(s, a) =ᴰ r + γ·Z(s′, a′)。獎勵把分布平移;折扣 γ 把它朝零壓縮。
分布式貝爾曼方程:回報是一個隨機變量,在分布意義下等於獎勵加上折扣後的下一步回報。
C51:類別分布
類別 DQN(Categorical DQN, C51)固定一組 51 個回報「原子」,跨越例如 [−10, +10] 的範圍,並讓網路為每個原子輸出一個機率——一張關於結果的直方圖。套用分布式貝爾曼更新會平移並縮放這張直方圖,結果通常落在原子之間,於是 C51 把它投影回固定格點,再用交叉熵損失訓練。
名稱由來:51 個原子。它的弱點是你得事先猜出數值範圍和區間數——太窄,回報會在邊緣飽和;太粗,直方圖就模糊。
QR-DQN:把座標軸對調
分位數回歸 DQN(Quantile Regression DQN, QR-DQN)把這張圖橫過來看。它不固定數值位置去學機率,而是固定機率(例如第 1、第 3、……第 99 百分位數),去學每個分位數對應的回報值。這樣就沒有預設範圍可猜錯了——支撐集會自動適應遊戲實際的報酬。
訓練使用分位數(彈珠台)損失,本質上就是一個非對稱的絕對誤差——正是這個非對稱性,教每個輸出停在它該在的百分位。它免去了 C51 需要的投影步驟,通常訓練得更穩健。
分位數(彈球)損失:一種不對稱的絕對誤差,其傾斜度 τ 使每個 QR-DQN 輸出鎖定到各自的目標分位點。
噪聲網路:由網路學會的探索
經典的 ε-貪婪(ε-greedy)靠固定比例的隨機行動來探索——沒有方向、且對整個狀態空間一視同仁,當只有少數狀態需要大膽探索時就束手無策。噪聲網路(noisy networks)改成把可學習的高斯雜訊注入網路權重。
由於雜訊大小是個由梯度下降訓練的參數,代理可以學會在陌生狀態裡變吵(探索)、在它早已知道正解的地方安靜(果斷)——這是對探索–利用權衡(exploration–exploitation tradeoff)一個依狀態而定、會自我退火的解法,完全不需要 ε 排程。