Actor-Critic 強化學習方法



什麼是 Actor-Critic 方法?

Actor-critic 演算法是一種強化學習型別,它將基於策略的技術與基於價值的方法相結合。這種結合是為了克服單獨使用每種技術的侷限性。

在 Actor-critic 框架中,代理(Actor)制定決策策略,而價值函式(Critic)評估 Actor 所採取的動作。同時,Critic 透過評估這些動作的質量和價值來分析這些動作。這種雙重作用允許該方法透過利用策略和價值函式的優勢來保持探索和利用之間的平衡。

Actor-Critic 方法的工作原理

Actor-critic 方法是基於策略和基於價值的技術的組合,主要旨在學習一種可以提高預期累積獎勵的策略。所需的兩個主要元件是:

  • Actor - 此元件負責根據當前策略選擇動作。它通常表示為 Πθ(a|s),表示在狀態 s 中採取動作 a 的機率。
  • Critic - Critic 透過估計價值函式來評估 Actor 所採取的動作。它用 V(s) 表示,計算預期回報。

Actor-Critic 方法的分步工作原理

Actor-critic 方法的主要目標是 Actor 選擇一個動作(策略),而 Critic 評估這些動作的質量(價值函式),並將此反饋用於改進 Actor 的策略和 Critic 的價值評估。以下是 Actor-critic 方法的偽演算法:

Working of Actor-Critic Method
  • 從初始化 Actor 的策略引數、Critic 的價值函式、環境以及選擇初始狀態 s0 開始。
  • 使用 Actor 網路中的策略 Πθ 對 {s_t,a_t} 進行取樣。
  • 評估優勢函式。它被稱為 TD誤差 δ。在 Actor-critic 演算法中,優勢函式由 Critic 網路生成。
  • 評估梯度。
  • 更新策略引數 (θ)
  • 根據基於價值的強化學習調整 Critic 的權重。δt 表示優勢函式。
  • 依次重複上述步驟以找到最優策略。

Actor-Critic 方法的優勢

Actor-critic 方法提供了多種優勢:

  • 提高樣本效率 - Actor-critic 演算法的整合方法導致了更好的樣本效率,需要更少的與環境互動才能達到最佳效能。
  • 更快的收斂速度 - 該技術能夠同時更新策略和價值函式,從而在訓練過程中實現更快的收斂速度,從而能夠更快地適應學習任務。
  • 動作空間的靈活性 - Actor-Critic 模型可以有效地管理離散和連續的動作空間,為各種強化學習挑戰提供適應性。
  • 離策略學習 - 從過去的經驗中獲取知識,即使它不嚴格遵守當前的策略。

Actor-Critic 方法的挑戰

Actor-critic 方法的一些關鍵挑戰需要解決:

  • 高方差 - 即使使用優勢函式,Actor-critic 方法在估計梯度時仍然存在高方差問題。可以使用廣義優勢估計 (GAE) 等方法來解決此挑戰。
  • 訓練穩定性 - Actor 和 Critic 的同時訓練可能導致不穩定,尤其是在 Actor 的策略與 Critic 的價值函式之間存在較差的一致性時。可以使用信任區域策略最佳化 (TRPO) 和近端策略最佳化 (PPO) 等技術來解決此挑戰。
  • 偏差-方差權衡 - 計算策略梯度時偏差和方差之間的平衡有時會導致收斂速度變慢,這在強化學習領域是一個相當大的挑戰。

Actor-Critic 方法的變體

Actor-critic 方法的一些關鍵變體包括:

  • 優勢 Actor-Critic (A3C) - A2C(優勢 Actor-critic)是 Actor-critic 演算法的一種變體,它結合了優勢函式的概念。
  • 非同步優勢 Actor-Critic (A3C) - 這種方法使用多個並行執行的代理來改進共同的策略和價值函式。它還有助於穩定訓練並提高效率。
  • 軟 Actor-Critic (SAC) - SAC 是一種離策略方法,它結合了熵正則化以促進探索。其目標是最佳化預期回報和策略的不確定性。SAC 的關鍵特徵包括透過向獎勵新增熵項來平衡探索和利用。
  • 深度確定性策略梯度 (DDPG) - DDPG 旨在用於包含連續動作空間的環境。它將 Actor-critic 方法與確定性策略梯度相結合。DDPG 的關鍵特徵包括使用確定性策略和目標網路來穩定訓練。
  • Q-Prop - Q-Prop 是另一種 Actor-critic 方法。在之前的方法中,實現了時間差分學習以減少方差,從而導致偏差增加。Q-Prop 透過使用控制變數的想法,在不引入偏差的情況下減少了梯度計算中的方差。

優勢 Actor-Critic (A2C)

A2C(優勢 Actor-critic)是 Actor-critic 演算法的一種變體,它結合了優勢函式的概念。該函式評估與給定狀態下的平均動作相比,一個動作在多大程度上更好。透過包含此優勢資訊,A2C 將學習過程引導到比在該狀態下通常執行的動作更有價值的動作。

A2C 演算法

A2C 演算法中涉及的步驟包括:

  • 初始化策略引數、價值函式引數和環境。
  • 代理根據當前策略與環境互動,並獲得回報。
  • 根據當前策略和價值估計計算優勢函式 A(s,a)
  • 同時使用策略梯度更新 Actor 的引數,並使用基於價值的方法更新 Critic 的引數。

非同步優勢 Actor-Critic (A3C)

非同步優勢 Actor-Critic (A3C) 演算法由 Volodymyr Mnih 及其同事於 2016 年提出。它主要用於利用來自多個並行代理的非同步更新,這有助於克服傳統強化學習演算法中發現的穩定性和樣本效率問題。

A3C 演算法

A3C 演算法的分步分解:

  • 初始化全域性網路。
  • 啟動併發工作器,每個工作器都配備了自己的本地網路。這些工作器與環境互動以收集經驗(狀態、動作、獎勵、下一個狀態)。
  • 在每一輪訓練的每個步驟中,工作程序都會觀察狀態,根據當前策略選擇動作,並接收獎勵和下一狀態。此外,工作程序還會計算優勢函式,以衡量預測值與預期實際獎勵之間的差異。
  • 更新評論家(價值函式)和演員(策略)。
  • 當一個工作程序重新整理其本地模型時,來自多個工作程序的梯度會非同步地組合起來以修改全域性模型。這將使每個工作程序的更新相互獨立,從而減少相關性並導致更穩定、更有效的訓練。

優勢演員-評論家 (A2C) 與非同步優勢演員-評論家 (A3C)

下表展示了**A2C(優勢演員-評論家)**和**A3C(非同步優勢演員-評論家)**之間的關鍵區別 -

特徵 A2C(優勢演員-評論家) A3C(非同步優勢演員-評論家)
並行性 它使用單個工作程序(代理)來更新模型;因此稱為單執行緒。 它使用多個工作程序並行探索完整環境,因此稱為多執行緒。
模型更新 更新同步執行,使用來自工作程序的梯度。 更新在各個工作程序之間非同步發生,每個工作程序獨立更新全域性模型。
學習速度 應用標準梯度下降,並在每個步驟之後更新模型。 非同步更新能夠實現更規律和分散式的模型修改,這可能提高穩定性並加速收斂。
穩定性 穩定性較差,因為同步更新可能導致模型收斂過快。 由於來自各個工作程序的非同步更新,相關性降低,因此穩定性相對較高。
效率 效率較低,因為只有一個工作程序探索環境。 取樣效率更高,因為多個工作程序並行探索環境。
實現 易於實現。 相對複雜,因為它必須管理多個代理。
收斂速度 收斂速度較慢,因為一次只有一個代理從經驗中學習。 由於並行代理同時探索環境的不同部分,因此收斂速度更快。
計算成本 計算成本較低。 計算成本較高。
用例 適用於計算資源較少的簡單環境。 適用於需要並行性和更穩健探索的更復雜的環境。
廣告