

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS DeepRacer 訓練演算法
<a name="deepracer-how-it-works-reinforcement-learning-algorithm"></a>

**近端政策最佳化 (PPO) 與軟執行器條件 (SAC)**  
演算法 SAC 和 PPO 同時學習政策和價值函數，但其策略有三種值得注意的方式：


| PPO | SAC | 
| --- | --- | 
|  適用於離散和連續的動作空間  |  在連續動作空間中運作  | 
|  政策上  |  政策外  | 
|  使用熵正規化  |  將熵新增至最大化目標  | 

**穩定與資料忙碌**  
探索環境時，PPO 和 SAC 演算法政策所學到的資訊使用方式不同。PPO 使用政策上學習，這表示它從探索環境的目前政策所做的觀察中學習其值函數。SAC 使用政策外學習，這表示它可以使用先前政策探索環境所做的觀察。政策外和政策上學習之間的權衡通常是穩定性與資料效率的比較。政策上演算法往往更穩定，但資料很忙碌，而政策外演算法往往相反。

**探索與利用**  
探索與利用是 RL 中的關鍵挑戰。演算法應該利用先前經驗的已知資訊來實現更高的累積獎勵，但還需要探索以獲得新的體驗，以便在未來尋找最佳政策。由於政策經過多次反覆運算的訓練，並進一步了解環境，因此對於為特定觀察選擇動作會更確定。不過，如果政策不夠探索，即使資訊未處於最佳狀態，它仍可能會遵守已學習的資訊。PPO 演算法使用熵正規化來鼓勵探勘，這可防止客服人員收斂至本機光暈。SAC 演算法透過將熵新增至其最大化目標，在探勘和利用之間取得卓越的平衡。

**Entropy**  
在這種情況下，「熵」是衡量政策中不確定性的指標，因此可以解釋為衡量政策在為指定狀態選擇動作時的可信度。熵較低的政策對於選擇動作非常有信心，而熵較高的政策不確定要選擇哪個動作。

SAC 演算法的熵最大化策略具有與 PPO 演算法使用熵作為正規化器類似的優點。與 PPO 一樣，它鼓勵更廣泛的探索，並透過鼓勵代理程式選擇具有較高熵的動作，避免收斂至錯誤的本機最佳。與熵調節不同，熵最大化具有獨特的優勢。它傾向於放棄選擇不承諾行為的政策，這是 SAC 演算法傾向於比 PPO 更具資料效率的另一個原因。

使用 SAC Alpha 超參數來調校 SAC 中的熵數量。最大 SAC alpha 熵值 (1.0) 有利於探勘。最小值 (0.0) 會復原標準 RL 目標，並中和激勵探索的熵獎勵。開始使用 進行實驗的良好 SAC Alpha 值為 0.5。在模型上反覆運算時相應地調校。

嘗試 PPO 和 SAC 演算法、試驗其超參數，並在不同的動作空間中探索它們。