深度強化學習課程文件

引入截斷替代目標函式

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

引入截斷替代目標函式

回顧:策略目標函式

我們來回顧一下強化學習中要最佳化的目標是什麼

Reinforce

其思想是,透過對這個函式進行梯度上升步驟(相當於對這個函式的負值進行梯度下降),我們將**推動我們的智慧體採取能帶來更高獎勵的行動,並避免有害的行動。**

然而,問題出在步長上

  • 太小,**訓練過程太慢**
  • 太高,**訓練中變異性太大**

對於 PPO,其思想是使用一個稱為*截斷替代目標函式*的新目標函式來約束我們的策略更新,該函式將**使用一個截斷限制策略變化的範圍。**

這個新函式**旨在避免破壞性的大權重更新**

PPO surrogate function

讓我們研究一下每個部分,以瞭解它是如何工作的。

比率函式

Ratio

該比率計算如下

Ratio

這是採取行動的機率at a_t 在狀態st s_t 在當前策略中,除以舊策略的相同值。

正如我們所見,rt(θ) r_t(\theta) 表示當前策略與舊策略之間的機率比

  • 如果rt(θ)>1 r_t(\theta) > 1 ,則**動作at a_t 在狀態st s_t 在當前策略中比在舊策略中更有可能。**
  • 如果rt(θ) r_t(\theta) 在 0 和 1 之間,**當前策略的動作比舊策略的動作可能性小**。

因此,這個機率比是**估計舊策略和當前策略之間差異的簡單方法。**

截斷替代目標函式的未截斷部分

PPO

該比率**可以替代我們在策略目標函式中使用的對數機率**。這為我們提供了新目標函式的左半部分:將比率乘以優勢。

PPO
近端策略最佳化演算法

然而,如果沒有約束,如果所採取的行動在當前策略中比在舊策略中更有可能,**這將導致顯著的策略梯度步長**,從而導致**過度的策略更新。**

截斷替代目標函式的截斷部分

PPO

因此,我們需要透過懲罰導致比率遠離 1 的變化來約束這個目標函式(在論文中,比率只能在 0.8 到 1.2 之間變化)。

透過截斷比率,我們確保不會有太大的策略更新,因為當前策略不能與舊策略相差太大。

為此,我們有兩種解決方案

  • TRPO(信任區域策略最佳化)在目標函式之外使用 KL 散度約束來約束策略更新。但這種方法**實現複雜且計算時間較長。**
  • PPO 透過**截斷替代目標函式**直接在目標函式中截斷機率比。
PPO

這個截斷部分是一個版本,其中rt(θ) r_t(\theta) 被截斷在[1ϵ,1+ϵ] [1 - \epsilon, 1 + \epsilon] .

使用截斷替代目標函式,我們有兩個機率比,一個未截斷,一個在[1ϵ,1+ϵ] [1 - \epsilon, 1 + \epsilon] 範圍內的截斷比率,epsilon 是一個超引數,幫助我們定義這個截斷範圍(在論文中ϵ=0.2 \epsilon = 0.2 .).

然後,我們取截斷目標和未截斷目標的最小值,**因此最終目標是未截斷目標的下界(悲觀界)。**

取截斷目標和未截斷目標的最小值意味著**我們將根據比率和優勢情況選擇截斷目標或未截斷目標**。

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.