深度強化學習基礎
Huber 損失(Huber loss,於強化學習)
訓練價值網路時,你要最小化它的預測與目標之間的差距。平方誤差是顯而易見的選擇,但在強化學習裡目標是自舉的、帶雜訊的,偶爾出現的巨大誤差——一個出乎意料的獎勵、一次糟糕的自舉——會被平方成一個極大的梯度,把權重猛地一震、破壞訓練穩定。Huber 損失是較為冷靜的替代品:誤差小時它表現得像平方誤差,誤差一旦超過某個門檻就切換成單純的絕對值誤差。
在門檻以下它平滑且為二次,所以靠近目標時梯度會優雅地縮小;在門檻以上損失只線性增長,於是它的梯度飽和在一個常數,單一離群值再也無法主導更新。實際上,它是一種內建於損失中的梯度截斷。DQN 正是為了這份穩健而採用 Huber 損失,它也與獎勵截斷自然搭配,同為讓深度價值學習保持穩定的配方一環。同樣的損失也再度現身於 QR-DQN 之中,用來平滑彈珠台損失。
L_{\delta}(e)=\begin{cases}\tfrac12 e^2 & |e|\le\delta\\[2pt] \delta\big(|e|-\tfrac12\delta\big) & |e|>\delta\end{cases}
靠近零是二次、尾部是線性
另见