3
A
回答
6
PPO是一種簡單的算法,屬於策略優化算法類(與DQN等基於值的方法相反)。如果你「知道」RL基礎知識(我的意思是如果你至少仔細閱讀Sutton's book的一些第一章),那麼第一個邏輯步驟就是熟悉策略梯度算法。您可以閱讀this paper或Sutton's book新版本的第13章。此外,您還可以閱讀關於TRPO的this paper,這是PPO第一作者以前的工作(本文有許多符號錯誤;請注意)。希望有所幫助。 - Mehdi
3
PPO,包括TRPO會嘗試保守地更新策略,而不會在每次策略更新之間對其性能產生不利影響。
要做到這一點,您需要一種方法來衡量每次更新後策略的變化情況。通過查看更新後的政策與舊政策之間的KL分歧來完成此測量。
這成爲一個約束優化問題,我們希望改變政策在最大性能的方向上,遵循我的新政策與舊政策之間的KL分歧不超過某些預定義(或適應性)閾值的限制。使用TRPO,我們計算更新期間的KL約束,並找到此問題的學習速率(通過Fisher矩陣和共軛梯度)。這實施起來有點麻煩。
對於PPO,我們通過將KL偏差從約束轉化爲懲罰項來簡化問題,類似於例如L1,L2權重懲罰(以防止權重增大)。通過硬性限制政策比率(更新政策與舊政策的比率)在1.0左右的小範圍內,其中1.0意味着新政策與舊政策相同,因此PPO進行了額外的修改,無需一起計算KL分歧。
相關問題
- 1. LLVM - 前端做了哪些優化
- 2. 有哪些集成策略?
- 3. 這些不同的dealloc策略有哪些優缺點?
- 4. CUDA中的性能優化 - 我應該使用哪些算法?
- 5. 哪種方法更優化?
- 6. 算法的策略遊戲
- 7. Matlab,忽略優化算法的選擇
- 8. 優化(python)算法的最佳方法?
- 9. CouchApp簡化了哪些$ .couch的所有方法?
- 10. 優化算法
- 11. 算法優化
- 12. 解析HTML有哪些方法可用?
- 13. 算法的優化
- 14. 算法的優化
- 15. SQL中的優化算法
- 16. scipy.optimize.leastsq使用哪種優化算法?
- 17. 爲了提高MCMC算法的性能,if語句有哪些替代方法?
- 18. 簡單的遞歸排序算法,瞭解哪些硬
- 19. 遺傳算法和進化策略有什麼區別?
- 20. 在Python中執行MixIns的優雅方法有哪些?
- 21. LLVM進行哪些優化以及前端必須實現哪些優化?
- 22. 優化方式瞭解最近的對象
- 23. 不同的邊緣檢測算法有哪些優缺點
- 24. 瞭解的算法解決方案
- 25. 策略模式和策略中的方法數量接口
- 26. SciPy優化算法
- 27. 優化WordWrap算法
- 28. 優化pow算法
- 29. 在.net中優化解密方法
- 30. 瞭解SSE3矩陣乘法優化