19

我正在學習增強學習和閱讀薩頓的大學課程的書。除了經典的PD,MC,TD和Q-Learning算法之外,我正在閱讀關於策略梯度方法和遺傳算法以解決決策問題。 我以前從未有過這方面的經驗,而且我在理解什麼時候技術應該比其他技術更優先。我有一些想法,但我不確定他們。有人可以簡單地解釋或告訴我一個來源,我可以找到有關應該使用某些方法的典型情況的信息嗎?據我所知:何時使用某種強化學習算法?

  • 只有當MDP幾乎沒有動作和狀態,模型是已知的,因爲它是非常昂貴的,應該使用動態規劃和線性規劃。但是當DP比LP好?
  • 當我沒有問題的模型,但我可以生成樣本時使用蒙特卡羅方法。它沒有偏見,但有很大的差異。
  • 當MC方法需要太多的樣本具有低方差時,應使用時間差分方法。但是什麼時候我應該使用TD和Q-Learning?
  • 政策梯度和遺傳算法適用於連續的MDP。但是當一個比另一個更好時?

更確切地說,我認爲要選擇學習方法程序員應該問himlself以下問題:

  • 沒有代理學習在線還是離線?
  • 我們可以分開探索和開發階段嗎?
  • 我們可以進行足夠的探索嗎?
  • 是MDP有限還是無限的視界?
  • 是狀態和動作是否連續?

但我不知道這些問題的細節如何影響學習方法的選擇。 我希望有些程序員已經有一些關於RL方法的經驗,並且可以幫助我更好地理解他們的應用程序。

回答

4

簡述:

並代理在線或離線學習?可幫助您決定使用在線還是離線算法。 (例如在線:SARSA,離線:Q-learning)。在線方法有更多的侷限性,需要更多的關注。

我們可以分開探索和開發階段嗎?這兩個階段通常處於平衡狀態。例如,在epsilon-greedy動作選擇中,您使用(ε)概率進行探索,並使用(1-epsilon)概率進行探索。您可以將這兩者分開,並首先詢問算法(例如,選擇隨機動作)然後利用。但是,當你正在脫機學習並可能使用模型來描述系統的動態時,這種情況是可能的。這通常意味着提前收集大量樣本數據。

我們可以進行足夠的探索嗎?探索的程度可以根據問題的定義來決定。例如,如果您在內存中具有問題的模擬模型,那麼您可以根據需要進行探索。但真正的探索僅限於你擁有的資源量。 (例如能量,時間......)

是狀態和動作是否連續?考慮到這個假設有助於選擇正確的方法(算法)。有針對RL開發的離散和連續算法。一些「連續」算法在內部離散狀態或動作空間。

+2

我不同意關於脫機案例的Q-Learning。 Q-Learning可以很容易地在線完成,從我所看到的,它可以很好地融合到在線案例中。 – Alejandro

+0

我不同意。正如你現在所說的,Q-learning是一種非政策方法。這意味着它在執行當前策略時更新另一個策略。另一方面,SARSA是一種政策上的方法,它更新了它正在更新的相同政策。因此,像SARSA這樣的算法正在被用於控制目的,而他們正在學習一項任務。你可以在下面閱讀更多關於它的內容:'強化學習:簡介' – NKN

+1

我沒有明確指出SARSA不在線,因爲我在評論中沒有提到SARSA。我只是說在這兩種情況下都可以使用Q-learning。 – Alejandro