Convergence

損失沒有減少,但性能正在改善

  • November 15, 2017

我正在 OpenAI 健身房的 SpaceInvaders 環境中訓練 DQN 的自定義實現。劇集獎勵不斷增加,大約達到了 DQN 在此環境下獲得的最大劇集獎勵。然而,最奇怪的是,最初損失增加了,然後它一直在快速振盪,而沒有顯示出任何持續的減少?

這怎麼解釋?我的第一個猜測是 DQN 中的移動目標,但在其他遊戲(例如 Pong)中,可以觀察到平滑的逐漸下降?很明顯,學習率的降低可能會修復振盪。但是,我有興趣解釋圖像中的具體結果,特別是如果損失沒有減少,它是如何學習的。

注意:環境絕對與原始 DQN 論文中使用的環境相同。下面繪製的損失是 L2 損失,沒有像原始 DQN 論文中那樣在其上應用 huber 損失。相反,所有梯度都被截斷為範數 10。

在此處輸入圖像描述

這對於強化學習來說並不罕見,並不表示有任何問題。隨著智能體玩得更好,估計獎勵確實變得更加困難(因為它不再總是 0)。此外,隨著獎勵越來越高,平均劇集長度越來越長,獎勵的方差量也會越來越大,因此即使防止損失增加也具有挑戰性。您提到的第三個因素是,不斷變化對 Q 網絡構成“移動目標”問題。

我猜為什麼 Pong 不會發生這種情況,因為 Pong 是一種比 Space Invaders 更簡單且更容易預測的遊戲。

引用自:https://stats.stackexchange.com/questions/313876

comments powered by Disqus