深度強化學習課程文件

貝爾曼方程:簡化我們的價值估計

Hugging Face's logo
加入 Hugging Face 社群

並獲得增強的文件體驗

開始使用

貝爾曼方程:簡化我們的價值估計

貝爾曼方程簡化了我們的狀態價值或狀態-動作價值計算。

Bellman equation

根據我們目前所學,我們知道,如果計算V(St)V(S_t)(一個狀態的價值),我們需要計算從該狀態開始的收益,然後永遠遵循該策略。(我們在以下示例中定義的策略是貪婪策略;為簡化起見,我們不折現獎勵)。

因此,要計算V(St)V(S_t),我們需要計算預期獎勵的總和。因此

Bellman equation
計算狀態 1 的價值:如果代理從該狀態開始,並在所有時間步遵循貪婪策略(採取導致最佳狀態價值的行動),則獎勵的總和。

然後,要計算V(St+1)V(S_{t+1}),我們需要計算從該狀態開始的收益St+1S_{t+1}.

Bellman equation
計算狀態 2 的價值:如果代理從該狀態開始,並在所有時間步遵循策略,則獎勵的總和。

所以你可能已經注意到,我們正在重複計算不同狀態的價值,如果你需要對每個狀態值或狀態-動作值都這樣做,這可能很繁瑣。

與其計算每個狀態或每個狀態-動作對的預期收益,不如使用貝爾曼方程。 (提示:如果你知道什麼是動態規劃,這非常相似!如果你不知道,別擔心!)

貝爾曼方程是一個遞迴方程,其工作方式如下:不是從頭開始計算每個狀態的收益,我們可以將任何狀態的價值視為

即時獎勵Rt+1R_{t+1}+ 下一個狀態的折現價值 (γV(St+1)\gamma * V(S_{t+1}) ) .

Bellman equation

如果我們回到我們的例子,我們可以說狀態 1 的價值等於我們從該狀態開始的預期累積收益。

Bellman equation

計算狀態 1 的價值:如果代理從狀態 1 開始,並在所有時間步遵循策略,則獎勵的總和。

這等同於V(St)V(S_{t})= 即時獎勵Rt+1R_{t+1}+ 下一個狀態的折現價值γV(St+1)\gamma * V(S_{t+1})

Bellman equation
為簡化起見,這裡我們不折現,所以伽馬 = 1。

為簡單起見,這裡我們不折現,所以伽馬 = 1。但是你將在本單元的 Q-Learning 部分學習一個伽馬 = 0.99 的例子。

  • 的價值V(St+1)V(S_{t+1}) = 即時獎勵Rt+2R_{t+2}+ 下一個狀態的折現價值 (gammaV(St+2)gamma * V(S_{t+2}) ).
  • 等等。

總而言之,貝爾曼方程的思想是,我們不是將每個價值計算為預期收益的總和(這是一個漫長的過程),而是將價值計算為即時獎勵 + 下一個狀態的折現價值的總和。

在進入下一部分之前,思考一下伽馬在貝爾曼方程中的作用。如果伽馬值非常低(例如 0.1 甚至 0)會發生什麼?如果伽馬值是 1 會發生什麼?如果伽馬值非常高,例如一百萬,會發生什麼?

< > 在 GitHub 上更新

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