深度強化學習課程文件
優勢Actor-Critic (A2C)
並獲得增強的文件體驗
開始使用
優勢Actor-Critic (A2C)
使用 Actor-Critic 方法減少方差
減少 Reinforce 演算法方差並更快更好地訓練代理的解決方案是結合使用基於策略和基於價值的方法:Actor-Critic 方法。
要理解 Actor-Critic,想象你在玩一個影片遊戲。你可以和朋友一起玩,他會給你一些反饋。你是 Actor,你的朋友是 Critic。
一開始你不知道怎麼玩,所以你會隨機嘗試一些動作。Critic 會觀察你的動作並提供反饋。
從這個反饋中學習,你將更新你的策略,並能更好地玩這個遊戲。
另一方面,你的朋友(Critic)也會更新他們提供反饋的方式,以便下次做得更好。
這就是 Actor-Critic 背後的思想。我們學習兩種函式近似
一種策略,它控制著我們代理的行動方式
一個價值函式,透過衡量所採取行動的優劣來輔助策略更新
Actor-Critic 過程
現在我們已經瞭解了 Actor-Critic 的大致情況,接下來我們深入瞭解 Actor 和 Critic 在訓練過程中如何共同改進。
正如我們所見,在 Actor-Critic 方法中,有兩種函式近似(兩個神經網路)
- Actor,一個由 theta 引數化的策略函式
- Critic,一個由 w 引數化的價值函式
讓我們看看訓練過程,瞭解 Actor 和 Critic 如何最佳化
在每個時間步 t,我們得到當前狀態從環境中獲取,並將其作為輸入傳遞給我們的 Actor 和 Critic。
我們的策略接收狀態並輸出一個動作.
- Critic 也將該動作作為輸入,並使用和,計算在該狀態下執行該動作的價值:Q 值。
- 在環境中執行的動作會輸出一個新狀態和一個獎勵 .
- Actor 使用 Q 值更新其策略引數。
由於其更新的引數,Actor 會在給定新狀態.
生成下一個要執行的動作。
在 Actor-Critic (A2C) 中新增優勢
我們可以透過使用優勢函式作為 Critic,而不是動作價值函式來進一步穩定學習。
其思想是優勢函式計算一個動作相對於在某個狀態下其他可能動作的相對優勢:在某個狀態下采取該動作比該狀態的平均價值好多少。它透過從狀態-動作對中減去該狀態的平均價值來計算。
換句話說,這個函式計算的是如果在該狀態下采取這個動作,我們比在該狀態下獲得的平均獎勵多獲得的額外獎勵。
額外獎勵是指超出該狀態預期價值的部分。
- 如果 A(s,a) > 0:我們的梯度朝著該方向推進。
- 如果 A(s,a) < 0(我們的動作表現比該狀態的平均價值差),我們的梯度則朝相反方向推進。
實現這個優勢函式的問題在於它需要兩個價值函式——和。幸運的是,我們可以使用 TD 誤差作為優勢函式的良好估計器。
< > 在 GitHub 上更新