Machine-Learning

強化學習中的actor-critic損失函數

  • January 2, 2018

在強化學習的actor-critic學習中,我知道你有一個“actor”來決定要採取的行動,還有一個“critic”然後評估這些動作,但是,我對損失函數實際上在告訴什麼感到困惑我。

在薩頓和巴頓的書第 274 頁(pdf 的 292 頁)中找到http://ufal.mff.cuni.cz/~straka/courses/npfl114/2016/sutton-bookdraft2016sep.pdf

他們描述了算法。

我可以理解您想通過合併有關狀態值的信息(由評論家確定)來更新演員。這是通過價值來完成的其中包含上述信息,但我不太明白為什麼它正在查看狀態值函數的梯度?

我不應該查看一些我希望最小化的目標函數的梯度嗎?在本章的前面,他指出我們可以將策略的性能簡單地視為它的價值函數,在這種情況下,我們所做的只是朝著最大化每個狀態價值的方向調整參數?我認為這應該通過調整政策來完成,而不是通過改變我們評估狀態的方式來實現。

謝謝

讓我們首先嘗試建立對什麼的堅實理解方法。也許您知道所有這些,但是在我看來,無論如何都可以回顧一下。

讓我們從學期。該術語是處於狀態的價值,由評論家在當前參數化下估計. 這個狀態值本質上是我們期望從這一點開始獲得的所有獎勵的折扣總和。

具有非常相似的含義,唯一的區別是它是下一個狀態的值而不是之前的狀態. 如果我們乘以,並添加觀察到的獎勵對此,我們得到等式右邊在減號之前的部分:. 這基本上具有相同的含義(它是對處於先前狀態的價值的估計),但這次是基於一些新觀察到的信息() 以及對下一個狀態的值的估計,而不是僅僅對整個狀態的估計。

所以,是估計完全相同值的兩種不同方法之間的差異,其中一部分(減號的左側)被認為是一個稍微更可靠的估計,因為它基於更多一些已知正確的信息().

如果從到給予更大的回報比評論家預期的要小,如果它小於評論家的預期,則為負數(基於當前參數化).


我不應該查看一些我希望最小化的目標函數的梯度嗎?在本章的前面,他指出我們可以將策略的性能簡單地視為它的價值函數,在這種情況下,我們所做的只是朝著最大化每個狀態價值的方向調整參數?我認為這應該通過調整政策來完成,而不是通過改變我們評估狀態的方式來實現。

是的,應該這樣做,這正是以下行所做的:

但是,這不是我們要更新的唯一內容。

我可以理解您想通過合併有關狀態值的信息(由評論家確定)來更新演員。這是通過包含所述信息的 δ 值來完成的,但我不太明白為什麼它要查看狀態值函數的梯度?

我們也想這樣做,因為評論家應該總是對狀態值給出盡可能好的估計。如果是非零的,這意味著我們在critic中犯了一個錯誤,所以我們也想更新critic以變得更準確。

引用自:https://stats.stackexchange.com/questions/321234

comments powered by Disqus