SARSA 強化學習



SARSA 代表 **狀態-動作-獎勵-狀態-動作**,它是 Q 學習演算法 的改進版本,其中目標策略與行為策略相同。兩個連續的狀態-動作對以及智慧體從第一個狀態轉換到下一個狀態時接收的即時獎勵決定了更新後的 Q 值,因此這種方法被稱為 SARSA。

什麼是 SARSA?

狀態-動作-獎勵-狀態-動作 (SARSA) 是一種 強化學習 演算法,它解釋了學習過程中一系列事件。它是智慧體在各種情況下做出正確選擇的有效 **“策略上”** 學習技術之一。SARSA 背後的主要思想是反覆試驗。智慧體在一個情境中採取行動,觀察結果,並根據結果修改其計劃。

例如,假設您正在教機器人如何走迷宮。機器人從特定位置開始,這就是 **“狀態”**,您的目標是找到到達迷宮盡頭的最佳路線。機器人可以在每個步驟中選擇不同的方向移動,這被稱為 **“動作”**。機器人會收到獎勵形式的反饋,無論是正面的還是負面的,以指示它的表現如何。

SARSA 演算法中更新語句的方程式如下:

SARSA Equation

SARSA 的組成部分

SARSA 演算法的一些核心組成部分包括:

  • **狀態 (S)** - 狀態反映了環境,包含關於智慧體當前情況的所有細節。
  • **動作 (A)** - 動作代表智慧體根據其當前情況做出的決定。它從庫中選擇的動作導致從當前狀態到下一個狀態的改變。這種轉變是智慧體如何與環境互動以產生預期結果的方式。
  • **獎勵 (R)** - 獎勵是由環境提供的變數,是對智慧體在特定狀態下采取的行動的回應。此反饋訊號顯示智慧體選擇的即時結果。獎勵透過顯示哪些行動在某些情況下是可取的來幫助智慧體學習。
  • **下一個狀態 (S')** - 當智慧體在一個特定狀態下采取行動時,它會導致轉變到一個不同的情況,稱為“下一個狀態”。這個新狀態 (s') 是智慧體更新後的環境。

SARSA 演算法的工作原理

SARSA 強化學習演算法允許智慧體透過使用狀態-動作-獎勵-狀態-動作序列隨著時間的推移最大化累積獎勵來學習並在環境中做出決策。它涉及與環境互動的迭代迴圈、從過去事件中獲得見解以及增強決策策略。讓我們分析 SARSA 演算法的工作原理:

  • **Q 表初始化** - SARSA 透過初始化 Q(S,A) 開始,它表示將狀態-動作對設定為任意值。在此過程中,確定起始狀態 (s),並透過採用根據當前 Q 值做出回應的 epsilon-greedy 演算法策略來選擇初始動作 (A)。
  • **探索與利用** - 利用涉及使用之前估計的已知值來提高在學習過程中獲得獎勵的機會。另一方面,探索涉及選擇可能帶來短期利益但可能有助於在未來發現更好行動和獎勵的行動。
  • **動作執行和反饋** - 一旦選擇的動作 (A) 被執行,它就會產生獎勵 (R) 並轉換到下一個狀態 (S')。
  • **Q 值更新** - 當前狀態-動作對的 Q 值根據接收到的獎勵和新狀態進行更新。下一個動作 (A') 從 Q 表中更新的值中選擇。
  • **迭代和學習** - 以上步驟重複進行,直到狀態終止。在整個過程中,SARSA 透過考慮狀態-動作-獎勵的轉換來不斷更新其 Q 值。這些改進增強了演算法預測狀態-動作對未來獎勵的能力,引導智慧體從長遠來看做出更好的決策。

SARSA 與 Q 學習

SARSA 和 Q 學習是強化學習中的兩種演算法,都屬於基於值的演算法。SARSA 遵循當前策略,而 Q 學習不遵循當前策略。這種差異會影響每種演算法調整其動作值函式的方式。一些差異如下表所示:

特徵 SARSA Q 學習
策略型別 策略上 策略外
更新規則 Q(s,a) = Q(s,a) + ɑ(r + γmaxaQ(s',a)-Q(s,a)) Q(s,a) = Q(s,a) + ɑ(r + γ Q(s',a')-Q(s,a))
收斂性 收斂到最優策略的速度較慢。 通常收斂到最優策略的速度更快。
探索與利用 探索直接影響學習更新。 探索策略可能與學習策略不同。
策略更新 根據實際採取的行動更新動作值函式。 更新動作值函式,假設始終採取最佳行動。
用例 適用於需要穩定性的環境。 適用於需要效率的環境。
示例 醫療保健、交通管理、個性化學習。 遊戲、機器人技術、金融交易
廣告