深度強化學習課程文件
兩種基於值的方法
並獲得增強的文件體驗
開始使用
兩種基於值的方法
在基於值的方法中,我們**學習一個價值函式**,它將**狀態對映到處於該狀態的預期價值。**
狀態的價值是代理在**該狀態下開始並按照我們的策略行動**所能獲得的**預期折扣回報**。
請記住,**強化學習代理的目標是擁有一個最優策略 π*。**
為了找到最優策略,我們學習了兩種不同的方法:
- 基於策略的方法:**直接訓練策略**來選擇在給定狀態下采取什麼行動(或在該狀態下行動的機率分佈)。在這種情況下,我們**沒有價值函式。**
策略將狀態作為輸入,並輸出在該狀態下要採取的行動(確定性策略:給定狀態輸出一個行動的策略,與輸出行動機率分佈的隨機策略相反)。
因此,我們**不會手動定義策略的行為;它的定義將由訓練來完成。**
- 基於值的方法:**透過訓練一個價值函式間接地**,該函式輸出狀態或狀態-行動對的價值。給定這個價值函式,我們的策略**將採取行動。**
由於策略沒有經過訓練/學習,**我們需要指定其行為。**例如,如果我們想要一個策略,在給定價值函式的情況下,它將採取總是導致最大獎勵的行動,那麼我們將**建立一個貪婪策略。**
因此,無論你使用哪種方法來解決你的問題,你**都將擁有一個策略**。在基於值的方法中,你不需要訓練策略:你的策略**只是一個簡單的預設函式**(例如,貪婪策略),它使用價值函式給出的值來選擇其行動。
所以區別在於:
- 在基於策略的訓練中,**最優策略(表示為 π*)是透過直接訓練策略來找到的。**
- 在基於值的訓練中,**找到一個最優價值函式(表示為 Q* 或 V*,我們將在下面研究其區別)將導致擁有一個最優策略。**
事實上,在大多數情況下,在基於值的方法中,你會使用**一個 Epsilon-貪婪策略**來處理探索/利用的權衡;我們將在本單元第二部分討論 Q-學習時談到這一點。
如上所述,我們有兩種基於值的函式:
狀態價值函式
我們這樣寫策略 π 下的狀態價值函式:
對於每個狀態,狀態價值函式輸出代理在**該狀態下開始**並隨後永久遵循策略(如果你願意,可以在所有未來時間步長)的預期回報。
行動價值函式
在行動價值函式中,對於每個狀態和行動對,行動價值函式會**輸出預期回報**,即代理在該狀態下開始,採取該行動,然後永久遵循策略。
在狀態下采取行動的價值在狀態在策略下是
我們看到區別在於
- 對於狀態價值函式,我們計算**狀態 的價值**
- 對於行動價值函式,我們計算**狀態-行動對 ( ) 的價值,因此是該狀態下采取該行動的價值。**
無論哪種情況,無論我們選擇哪種價值函式(狀態價值函式或行動價值函式),**返回的值都是預期回報。**
然而,問題在於,**要計算狀態或狀態-行動對的每個價值,我們需要將代理在該狀態下開始可以獲得的所有獎勵相加。**
這可能是一個計算成本高昂的過程,而這正是**貝爾曼方程幫助我們的地方。**
< > 在 GitHub 上更新