深度強化學習課程文件

兩種基於值的方法

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

兩種基於值的方法

在基於值的方法中,我們**學習一個價值函式**,它將**狀態對映到處於該狀態的預期價值。**

Value Based Methods

狀態的價值是代理在**該狀態下開始並按照我們的策略行動**所能獲得的**預期折扣回報**。

但是,按照我們的策略行動是什麼意思呢?畢竟,在基於值的方法中,我們沒有策略,因為我們訓練的是價值函式而不是策略。

請記住,**強化學習代理的目標是擁有一個最優策略 π*。**

為了找到最優策略,我們學習了兩種不同的方法:

  • 基於策略的方法:**直接訓練策略**來選擇在給定狀態下采取什麼行動(或在該狀態下行動的機率分佈)。在這種情況下,我們**沒有價值函式。**
Two RL approaches

策略將狀態作為輸入,並輸出在該狀態下要採取的行動(確定性策略:給定狀態輸出一個行動的策略,與輸出行動機率分佈的隨機策略相反)。

因此,我們**不會手動定義策略的行為;它的定義將由訓練來完成。**

  • 基於值的方法:**透過訓練一個價值函式間接地**,該函式輸出狀態或狀態-行動對的價值。給定這個價值函式,我們的策略**將採取行動。**

由於策略沒有經過訓練/學習,**我們需要指定其行為。**例如,如果我們想要一個策略,在給定價值函式的情況下,它將採取總是導致最大獎勵的行動,那麼我們將**建立一個貪婪策略。**

Two RL approaches
給定一個狀態,我們訓練的行動-價值函式會輸出該狀態下每個行動的價值。然後,我們預定義的貪婪策略會選擇在給定狀態或狀態-行動對下產生最高價值的行動。

因此,無論你使用哪種方法來解決你的問題,你**都將擁有一個策略**。在基於值的方法中,你不需要訓練策略:你的策略**只是一個簡單的預設函式**(例如,貪婪策略),它使用價值函式給出的值來選擇其行動。

所以區別在於:

  • 在基於策略的訓練中,**最優策略(表示為 π*)是透過直接訓練策略來找到的。**
  • 在基於值的訓練中,**找到一個最優價值函式(表示為 Q* 或 V*,我們將在下面研究其區別)將導致擁有一個最優策略。**
Link between value and policy

事實上,在大多數情況下,在基於值的方法中,你會使用**一個 Epsilon-貪婪策略**來處理探索/利用的權衡;我們將在本單元第二部分討論 Q-學習時談到這一點。

如上所述,我們有兩種基於值的函式:

狀態價值函式

我們這樣寫策略 π 下的狀態價值函式:

State value function

對於每個狀態,狀態價值函式輸出代理在**該狀態下開始**並隨後永久遵循策略(如果你願意,可以在所有未來時間步長)的預期回報。

State value function
如果我們取值為 -7 的狀態:它是從該狀態開始並根據我們的策略(貪婪策略)採取行動的預期回報,即右、右、右、下、下、右、右。

行動價值函式

在行動價值函式中,對於每個狀態和行動對,行動價值函式會**輸出預期回報**,即代理在該狀態下開始,採取該行動,然後永久遵循策略。

在狀態下采取行動的價值aa在狀態ss在策略下ππ

Action State value function Action State value function

我們看到區別在於

  • 對於狀態價值函式,我們計算**狀態 StS_t 的價值**
  • 對於行動價值函式,我們計算**狀態-行動對 (St,AtS_t, A_t ) 的價值,因此是該狀態下采取該行動的價值。**
Two types of value function
注意:我們沒有為行動價值函式示例填充所有狀態-行動對。

無論哪種情況,無論我們選擇哪種價值函式(狀態價值函式或行動價值函式),**返回的值都是預期回報。**

然而,問題在於,**要計算狀態或狀態-行動對的每個價值,我們需要將代理在該狀態下開始可以獲得的所有獎勵相加。**

這可能是一個計算成本高昂的過程,而這正是**貝爾曼方程幫助我們的地方。**

< > 在 GitHub 上更新

© . This site is unofficial and not affiliated with Hugging Face, Inc.