用 Gaussian Process 建模 state-action 空間相關性,加速 Multi-Fidelity RL

2023-04-16 15:01:10



全文快讀

  • 題目:Multi-fidelity Reinforcement Learning With Gaussian Processes: Model-Based and Model-Free Algorithms
  • 連結:https://ieeexplore.ieee.org/abstract/document/9069479
  • IEEE Robotics & Automation Magazine 是 robotics 頂刊。
  • main idea:
    • 基於 14 年的最初的那篇 MFRL 論文本站部落格),
    • 利用相鄰 state-action 的空間相關性來加速學習,用 gaussian processes 建模 env dynamics(model-based)/ Q function(model-free),從而得到 model-based model-free 兩種 MFRL 演演算法。
    • 演演算法結構跟 14 年的 MFRL 基本一致。
  • 全文沒有數學證明。

1 intro

  • 利用相鄰 state-action 的空間相關性來加速學習:通過 Gaussian Process(GP)作為函數逼近器。
  • 主要貢獻:兩個演演算法。
    • model-based MFRL 演演算法 GP-VI-MFRL,估計轉換函數,然後使用 value iteration 計算最優策略。
    • model-free MFRL 演演算法 GPQ-MFRL,直接估計最優 Q 值以及隨後的最優策略。

3 背景

4 method

4.1 model-based 演演算法:GP-VI-MFRL

image-20230416114107971
  • 結構:包括 1 model learner、2 planner。
    • model learner 使用 GP regression 學 env transition: s_{t+1} = f(s_t,a_t),使用高斯分佈的形式。
    • 使用 value iteration 作為 planner,用學到的 env transition 計算出最優策略。
  • 演演算法:
    • 在執行一個 action 前,agent 檢查(第 8 行)它是否對當前 state-action pair 在前一個模擬器 Σi-1 中的 transition function 有足夠準確的估計(方差小於 σ_th)。
      • 如果不是,並且如果當前環境中的 transition model 發生了變化,它就會切換到 Σi-1,並在 Σi-1 中執行 action 。
    • 跟蹤當前模擬器中,最近存取的 L 個 state-action 對的方差。若方差和低於閾值 σ_th^sum(第 15 行),表明 agent 對當前模擬器很有信心,可以推進到下一個模擬器。
      • 在最初的工作中 [2],agent 遇到一定數量的已知 state-action 對後,就會切換到更高保真度的模擬器。
    • (第 7 行)如果一個 state-action pair 的後驗方差下降到閾值 σ_th 以下(即 agent 對該 transition 有足夠準確的估計),當前環境的模型就會改變,即 change = TRUE。
    • 第 10 - 13 行描述了演演算法的主體, agent 執行貪婪地選擇的 action(第 6 行),並在 Di 中記錄觀察到的 transition (第 11 行)。 transition function 的 GP 模型在每一步之後被更新(第 12 行)。每次更新 transition function 後,都會計算新的 Q 值估計(第 13 行)。
      • 對每個模擬器,使用一個單獨的 GP 來估計它的 transition function 。
    • 終止條件(第 5 行):步數限制、價值函數的變化、最大的 env 切換次數…
    • planner 利用上級(第 26 - 28 行)和下級模擬器(第 25 行)的轉換知識,鼓勵當前模擬器的探索。
      • 對於每一個 state-action pair (s,a),planner 尋找最大保真度的模擬器(第 26 行遍歷所有模擬器),這個模擬器對 (s,a) 的 transition 有一個已知的估計(第 28 行),使用這個估計在當前模擬器中進行規劃(第 28 行)。
        • 如果方差低於一個閾值,那麼一個估計值就被稱為「已知」。
      • 如果沒有這樣的模擬器,那麼它就使用在前一個模擬器中學到的 Q 值,再加上一個保真度引數 β(第 25 行),這個引數是連續的模擬器中最佳 Q 值之間的最大可能差異。
    • 必須進行狀態空間離散化,以規劃 action 。然而,學到的 transition function 是連續的。

4.2 model-free 演演算法:GPQ-MFRL

image-20230416114222956
  • 直接使用 GPs 學習最佳 Q 值,而非學習 env model。
    • 基本假設:附近的 state-action pair 產生類似的 Q 值。
    • GPs 使用 squared-exponential kernel。
    • 同樣,每個模擬器使用單獨的 GP。
  • 演演算法:
    • 使用類似的閾值(σ_th 和 σ_th^sum)來確定何時切換到低保真或高保真模擬器。
    • GPQ-MFRL 檢查 agent 在前一個模擬器中是否對最佳 Q 值有足夠準確的估計(第 8 行),如果沒有,切換到前一個模擬器。
    • 第 10 - 15 行描述了演演算法的主體,agent 將 transition 存入 Di(第 11 行),然後為每個 Di 中的 transition 更新目標值(第 14 行)(batch training)。GP 模型在每一步後被更新(第 16 行)。
    • agent 利用在上級模擬器中收集的經驗(第 25 - 27 行)來選擇當前模擬器中的最佳行動(第 6 行),利用最高已知 Q 值((s,a) 的後驗方差小於閾值 σ_th)的模擬器(第 27 行),來選擇當前模擬器的下一個動作。
      • 如果不存在這樣的高保真模擬器,則使用低一層模擬器的 Q 值(第 24 行),使用保真度引數 β。
    • 每當 agent 在模擬器中收集到新的樣本時,GPQ-MFRL 就會進行一次 batch re-training(第 13 - 15 行),使用新樣本的知識,更新以前訓練資料的 y 值。
    • 然後,用這些更新的 y 值,來訓練 GPs 形式的 Q 值(第 16 行)。
      • 更新 GP 的計算成本是資料量的三次方;然而,我們可以使用稀疏 GP 技術 [6] 對資料集進行修剪,即,只用一小部分資料來 fit GP。
    • 不容易選擇置信度界限的值。在目前的實驗中,我們選擇 σ_th^sum 為可能的最大 Q 值的 10%,σ_th 為 σ_th^sum 的 1/5。

5 experiment

  • 寫的蠻清楚的。
  • GP-MFRL 比 14 年最初的 MFRL 效果更好(用的 high-fidelity 樣本更少)。
  • GP-VI-MFRL(model-based)在訓練最開始時比 GPQ-MFRL(model-free)表現更好,與傳統 RL 經驗一致,即 model-based>model-free。

6 討論與展望

  • 未來可以將 MFRL 技術與 sim2real 方法進行比較 [1]。
    • 與 sim2real 不同的是,MFRL 技術明確決定何時在模擬器之間切換,並使用兩層以上的模擬器。
    • 或許可以將這兩個想法結合起來:使用 MFRL 來利用一些更便宜 / 更快的模擬器;使用引數化的模擬器,來引入領域適應 / 隨機化(domain adaptation/randomization),以獲得更好的 generalization。
  • 可改進的地方:在目前的方法中,進行 GP 迴歸時,來自不同模擬器的資料沒有結合起來。
    • 1 使用多工 GPs,它可以同時產生多個輸出,分別對應於每個保真度模擬器。
    • 2 使用 deep GP ,將不同保真度的資料 拿來訓同一個 NN。
    • 對以上兩種情況,我們希望直接學習不同環境下的數值之間的相關性。