2017-05-24 37 views
0

您有一個政策,實際上是我所有州的行動的概率分佈。價值函數決定了獲得最高回報的最佳行動方案。瞭解政策和價值功能強化學習

所以我有一個隨機策略。我獲得了價值函數。我根據價值函數更新我的策略,併發布新的分配。我得到這個新的更新政策的價值功能,並再次重新評估。

從這個定義中,我很難理解價值迭代將如何工作,我認爲這是來自對價值函數的誤解。

價值函數不是最好的行爲方式,它只是一個決定獎勵的行爲過程?政策迭代是否僅僅尋找一個價值函數,它提供的回報高於當前的回報,然後立即更新,這爲我的狀態(新政策)提供了新的行動分配,然後對其每個狀態迭代地執行此操作,直到收斂?

在這種情況下,值迭代尋找序列中每個狀態的單個最佳可能動作(而不是一個更好)?我在這裏掙扎瞭解爲什麼一個不會更新策略?

我對政策和價值功能等方面的理解是否正確?

非常感謝!

我認爲我對政策的理解肯定是不正確的:如果政策只是對我所有州可能採取的行動進行分配,那麼我不完全確定它的「更新」意味着什麼。如果它只是更新分佈,那麼如果值迭代使用「更差」的分佈,那麼值迭代究竟如何工作,因爲初始化時不是最初隨機的策略?我不明白這些會如何匯合並同樣好?

+0

你問多個帖子中的多個問題,而不是一個單一的問題。 – vin

回答

0

編輯:Wikipedia解釋這一切非常好https://en.wikipedia.org/wiki/Markov_decision_process#Value_iteration

薩頓也有解釋優於下方以及有關這個主題的一個偉大的資源:

http://incompleteideas.net/sutton/book/ebook/node34.html 
http://incompleteideas.net/sutton/book/ebook/node43.html 
http://incompleteideas.net/sutton/book/ebook/node44.html 

我真的不能被告訴措辭,但我認爲你的價值功能和政策混在一起。

值函數爲您提供每個狀態的值。用bellman方程,它看起來像這樣。

V(S) = max_a[R(s,a) + gamma * ∑_s'T(s,a,s')V(s')]

其中特定狀態的值是最大的動作,讓你的獎勵,加上折扣獎勵。注意它有一個max而不是argmax。這是因爲它給你的價值。

另一方面,該政策是根據政策給予預期折扣獎勵的最大值。該策略返回最佳行爲,而值函數則給出狀態的值。策略函數的樣子:

optimal_policy(s) = argmax_a ∑_s'T(s,a,s')V(s')

的最優政策將大大有助於產生最高價值,因爲你可以用argmax看到的動作。記住

就這樣,值迭代將開始對每個狀態的初始效用,然後運行:

V_t+1(s) = R(s) + gamma * max_a (∑_s'T(s,a,s')V_t(s'))

其中t爲時間步長,和s'是下一個可能的狀態。這將會收斂,因爲獎勵是國家的「真理」,將我們拉向正確的方向。有定理證明了這一點,但這超出了問題的範圍。在另一方面

策略迭代看起來是這樣的:

optimal_policy_t+1(s) = argmax_a (∑_s' T(s,a,s')V_t(s')

其中a是所有可能採取的行動和V_T是值。更新值看起來類似:

V_t+1(s) = R(s) + gamma * max_a(∑_s' T(s,policy_t(s),s')V_t(s')

,因爲政策是當時步最好的行動。策略迭代的運行時間是O(N^3)。

1

你有一個策略,它實際上是我所有狀態的行爲的概率分佈。

值函數確定的行動,以實現最高獎賞當然最好。

號值函數告訴你,對於給定的政策,什麼樣的採取行動a狀態s預期累積回報的。

暫時忘掉價值迭代和策略迭代。你應該嘗試理解的兩件事是政策評估和政策改進。

  • 在政策評估,你找出一個給定的政策狀態值函數(它告訴你你的預期累積回報爲一個狀態,然後此後根據政策採取行動)。對於每個州,您查看所有鄰居州,並計算該州政策的預期值(按政策概率加權的鄰居價值總和)。你必須循環遍歷所有狀態。這會收斂到該政策的真實狀態 - 價值函數的極限(實際上,當變化變小時您就停止)。

  • 在政策改進中,您會檢查一個狀態值函數,並在每個狀態下詢問根據值函數我可以採取的最佳措施是什麼?當前政策採取的行動可能不會導致最高價值的鄰居。如果不這樣做,我們可以通過採取行動來達成更好的鄰居,從而制定更好的政策。產生的新政策更好(或者最差,相同)。

策略迭代只是重複的策略評估和策略改進。

在值迭代中,您截斷了評估步驟。因此,您不必按照完整的評估流程進行趨同,只需要查看鄰國的一個步驟,而不是根據政策採取預期,而是通過存儲最大相鄰值來立即改進政策。評估和改進一起被污染。你重複這個模糊的步驟,直到數值的變化非常小。爲什麼這種趨同的主要想法是一樣的;你正在評估這項政策,然後對其進行改進,直至不再能夠改進。

有許多方法可以幫助您理解策略和值迭代。您可以在強化學習:簡介第二版閱讀更多有關此評估和改進框架。我已經省略了一些有關折扣的重要細節,但希望現在總體情況更清晰。