分层强化学习综述:Hierarchical reinforcement learning: A comprehensive survey
論文名稱:Hierarchical reinforcement learning: A comprehensive survey
論文發表期刊:ACM Computing Surveys
期刊影響因子:10.282(2022年)
論文作者: SHUBHAM PATERIA, Nanyang Technological University BUDHITAMA SUBAGDJA and AH-HWEE TAN, Singapore Management University CHAI QUEK, Nanyang Technological University
發表時間:2021年
當前谷歌學術引用量:32
文章目錄
- 摘要
- 關鍵詞
- 1.Introduction
- 2.Preliminaries
- 2.1 Reinforcement Learning
- 2.2 Hierarchical Reinforcement Learning
- 2.2.1 Formal Definition of a Subtask
- 2.2.2 Formalism of HRL Based on Semi-Markov Decision Process.
- 2.2.3 Problem Definition of HRL
- 2.3 Definitions of Common Terms and Concepts
- 3.Approaches for hierarchical reinforcement learning
- 3.1 Learning Hierarchical Policy (LHP)
- 3.1.1 Feudal Hierarchy Approaches
- 3.1.2 Policy Tree Approaches
- 3.2 Learning Hierarchical Policy in Unification with Subtask Discovery (UNI)
- 3.2.1 Unified Learning of Policy Tree
- 3.2.2 Unified Learning of Feudal Hierarchy
- 3.3 Independent Subtask Discovery (ISD)
- 3.3.1 Discovery of Subgoals
- 3.3.2 Discovery of Diverse Skills
- 3.4 Transfer Learning with HRL (TransferHRL)
- 3.4.1 Transfer + Subtask Policy Distillation
- 3.4.2 Transfer + Agent-space Subtasks
- 3.4.3 Transfer + Meta-learning of Subtasks
- 3.5 Multi-agent Hierarchical Reinforcement Learning (MAHRL)
- 3.6 Key Takeaways from the Survey of Approaches
- 4 Open problems for future research
- 5 Conclusion
摘要
分層強化學習 (HRL) 能夠將具有挑戰性的長期決策任務自主分解為更簡單的子任務。在過去的幾年中,HRL 研究的前景得到了深刻的發展,產生了豐富的方法。要以有組織的方式研究 HRL,需要對這片廣闊的景觀進行全面的概述。我們對各種 HRL 方法進行了調查,這些方法涉及使用 HRL 進行learning hierarchical policies, subtask discovery, transfer learning, and multi-agent learning所面臨的挑戰。該調查是根據一種新穎的方法分類法進行的。在調查的基礎上,提出了一系列重要的開放性問題,以激勵 HRL 的未來研究。此外,我們概述了一些用于評估 HRL 方法的合適任務領域以及 HRL 在補充材料中實際應用的一些有趣示例。
關鍵詞
Hierarchical reinforcement learning, subtask discovery, skill discovery,hierarchical reinforcement learning survey, hierarchical reinforcement learning taxonomy
1.Introduction
人工智能的主要目標之一是開發能夠通過規劃最佳動作序列在環境中執行各種復雜任務的自主agent。強化學習 (RL) 是一種計算范式,用于學習一種策略,該策略在任務環境的各種狀態下采取最佳行動,以最大化agent收到的累積獎勵。為了學習最優策略,agent通過執行狀態-動作-下一個狀態(state-action-next state)的各種序列來探索與任務相關的狀態和動作空間。這種序列的平均長度稱為任務范圍,如果視野很長,而任務涉及大的狀態和動作空間,那么探索空間也會變大。這導致標準 RL 算法在沒有復雜探索技術的情況下在此類長期任務上表現不佳。
Hierarchical Reinforcement Learning 分層強化學習 (HRL) 將長期強化學習任務分解為子問題或子任務的層次結構,以便更高級別的策略通過選擇最佳子任務作為更高級別的操作來學習執行任務。子任務本身可能是一個強化學習問題,需要通過較低級別的策略學習來解決它。這種策略層次共同決定了agent的行為。Task decomposition effectively reduces the original task’s long horizon into a shorter horizon in terms of the sequences of subtasks. This is because each subtask is a higher-level action that persists for a longer timescale compared to a lower-level action, a property that is often referred to as temporal abstraction.(根據子任務的序列,任務分解有效地將原始任務的長視域縮短為更短的視域。這是因為每個子任務都是一個較高級別的action,與較低級別的action相比,它會持續更長的時間,這種屬性通常被稱為時間抽象)。
Temporal abstraction can also enable efficient credit assignment over longer timescales.At the same time, a subtask may itself be easier to learn and the learned subtasks lead to more structured exploration over the course of training of the HRL agent.(時間抽象還可以在更長的時間范圍內實現有效的信用分配。同時,子任務本身可能更容易學習,并且學習的子任務導致在 HRL agent的訓練過程中進行更結構化的探索)。
這些方面使 HRL 成為一種有前途的方法,可以將強化學習擴展到long-
horizon任務。HRL 算法已被證明在幾個長期問題中優于標準RL,例如連續控制任務、long-horizon類型的游戲、機器人操縱等。不同的實證研究發現,HRL 的性能優勢主要是由于使用subtasks/subgoals(子任務/子目標)改進(exploration)探索。
HRL 研究在過去 30 年中取得了長足的進步,產生了大量的方法來解決各種挑戰,例如 learning the policies in a hierarchy, autonomous discovery of subtasks, transfer learning, and multi-agent learning (學習層次結構中的策略、子任務的自主發現、遷移學習和使用 HRL 的多智能體學習)。這導致在以有組織的方式理解該領域的進展方面存在重大困難。因此,有必要進行全面的調查來收集和組織重要的 HRL 方法,并為其分類提供一般分類法。
本次survey與以往survey有何不同?
Barto 等人對截至 2003 年的 HRL 進展進行了調查。該調查包括對經典方法的重要概述,主要是 MAXQ、Options 和 HAMs 。自那次調查以來,HRL 領域發生了重大發展,例如使用subtask discovery using graph analysis, variational inference, autoencoding, unified HRL, subtask discovery in multi-agent HRL, transfer learning with HRL(圖分析的子任務發現、變分推理、自動編碼、統一 HRL、多智能體 HRL 中的子任務發現、使用 HRL 的遷移學習)我們的調查主要與 Barto 等人的調查不同之處從某種意義上說,我們回顧了他們調查后出現的新 HRL 方法,以及它們所涵蓋的經典方法。
Al-Emran等人從 HRL 的實際應用角度進行了一項調查。但是,它不包括一些不適用于所選應用的重要方法,例如最近的 unified HRL techniques, transfer learning with HRL, multi-agent HRL(統一 HRL 技術、使用 HRL 的遷移學習、多智能體 HRL 等)。相比之下,我們對 HRL 方法進行了廣泛的調查,并提供了一個與應用程序無關的通用分類法。
Mendonca 等人的最新調查詳細回顧了基于圖的子任務發現方法。由于范圍有限,他們的調查深入到了基于圖的子任務發現,但排除了 HRL 研究的其他重要方面,例如learning a hierarchy of policies, subtask discovery using variational inference,unified HRL, transfer learning with HRL, multi-agent HRL(學習策略層次結構的技術、使用變分推理的子任務發現、統一 HRL、遷移學習HRL、多代理 HRL 等)。然而,我們回顧了所有這些方法以及基于圖的子任務發現,本著為 HRL 研究提供更廣闊視野的精神。
本文的主要貢獻:本次調查的目的是徹底回顧有關 HRL 的文獻,并提供迄今為止開發的方法的全景圖。主要貢獻如下:
(1)我們對迄今為止在 HRL 領域所做的工作進行了全面調查。該調查包括(learning hierarchies of policies, independent subtask discovery, unified HRL, multi-task/transfer learning with HRL, and multi-agent HRL)學習策略層次結構、獨立子任務發現、統一 HRL、使用 HRL 的多任務/遷移學習和多代理 HRL 的方法。
(2)我們提供了一種新的分類法來組織 HRL 方法沿著重要的特征維度,例如single-agent vs. multi-agent, single-task vs. multi-task, and without subtask discovery vs. with subtask discovery.(單代理與多代理、單任務與多任務,以及沒有子任務發現與子任務發現)
(3)我們確定了一組重要的開放問題,為未來有關 HRL 的可擴展性、效率和理論穩健性的研究提供方向。
本文的其余部分組織如下:在第 2 節中,我們回顧了強化學習、任務分解和 HRL 的一般概念。第 3 節介紹了各種 HRL 方法的分類和調查,以及它們解決的廣泛挑戰。第 4 節討論了有關 HRL 未來研究的重要開放問題。我們在第 5 節結束調查。
2.Preliminaries
2.1 Reinforcement Learning
強化學習的基礎概念這里不做介紹了
2.2 Hierarchical Reinforcement Learning
RL 智能體的目標是尋找一種策略,該策略使智能體在遵循該策略時可以采取的各種可能軌跡上的平均累積獎勵最大化。在探索狀態和動作空間以學習最佳策略時,代理采用各種軌跡,其預期長度為任務范圍。當狀態和動作空間很大且任務范圍很長時,使用標準 RL 方法進行探索變得具有挑戰性。
HRL 提供了一種機制來執行具有挑戰性的任務,方法是使用通過強化學習學習的策略層次結構將其分解為更簡單的子任務。在這樣的層次結構中,最高級別的策略通常選擇主任務的子任務作為其動作。使用在主任務中獲得的獎勵,該策略被訓練為根據其子任務的順序執行完成主任務。在層次結構中的較低級別,較高級別策略選擇子任務本身就是一個強化學習問題。最低級別的策略選擇以下稱為primitive 的基本action。
在此圖中,HRL 代理分解并執行“去夏威夷”(GTH)的長期任務。HRL 代理由策略層次結構組成。任務策略 πGTH 將原始任務 GTH 分解為一系列最高級別的子任務“訂票”(BT)、“前往機場”(GTA)等。任務策略最初選擇 BT。然后,BT 被執行多個時間步長,直到它在時間 T3 終止。在此期間,子任務 BT 的策略,即 πBT 本身會依次選擇不同的較短子任務。這些是“打開預訂網站”(OBW)、“輸入航班信息”(EFI)等。 BT 在 T3 終止后,任務策略選擇 GTA,它本身選擇一個較短的子任務“去出租車站”(GTS)。在每個時間步長中,一個原始動作 a 由最低級別的子任務策略選擇,例如,由 πOBW、πEFI、πGTS 等。
2.2.1 Formal Definition of a Subtask
首先,我們將主要的長期任務表示為Γ,將任務策略表示為 πΓ。任務策略位于層次結構的頂部,例如圖 1 中的 πGTH。子任務表示為 ω,它使用如下描述的組件定義:
- πω,即(policy of the subtask)子任務的策略。它將環境狀態映射到原始動作或 ω 的子任務。
- The objective components:
rω,這是用于訓練 πω 的子任務獎勵。這通常不同于與主任務相關的獎勵。
gω,它是與 ω 相關的一個子目標或一組子目標。子目標可能是狀態 s ∈ S 本身 ,狀態的抽象形式或者是a learned embedding,獎勵 rω 可以根據子目標來定義。 - The execution components:
Iω,是ω的起始條件,它可以被定義為一組狀態。
βω,是ω的終止條件。它可以定義為一組狀態,如果 ω 正在執行,則應在這些狀態中終止
2.2.2 Formalism of HRL Based on Semi-Markov Decision Process.
HRL 是在半馬爾可夫決策過程 (SMDP)理論的基礎上形式化的。 SMDP 是一個類似于 MDP的隨機控制過程,但與 MDP 不同的是,它還涉及在選擇動作后執行動作的時間概念。在 HRL 的中,具有時間概念的動作是(subtasks)子任務。從狀態 st ∈ S 開始,假設代理選擇子任務 ωt ∈ Ω,其中 Ω 是子任務集(或子任務空間)。然后,SMDP的轉移函數被定義為聯合分布
cωt 表示從狀態st執行 ωt 的(the number of timesteps)時間步數, cωt實際上由終止條件 βωt 確定,它是第 2.2.1 節中定義的執行組件之一。
從狀態 st 開始執行子任務 ωt 而獲得的獎勵表示為 R(st , ωt ),計算如下:
表示獎勵 R(st , ωt ) 等于在遵循子任務策略 πωt 從時間 t 到 cωt 時間步后 ωt 終止時獲得的預期累積獎勵。現在,最佳任務策略將是導致以下所需最大 Qvalue 的策略:
式(5)中的Q值還取決于R(st , ωt )和P (st+cωt ,cωt |st , ωt )。這兩個量是通過使用其策略 πωt 執行 ωt 來確定的。因此,代理實際上需要在任務分解層次結構的不同級別學習多個策略,包括 πΓ 和所有子任務的策略。我們為如下定義的多級層次結構擴展子任務和策略的符號。
- ωl:層次結構第 l 級的子任務
- Ωωl : 子任務 ωl 下的子任務集,使得 ωl?1 ∈ Ωωl
- πωl : S × Ωωl → [0, 1] : 子任務 ωl 的策略。換句話說,ωl?1 由 πωl 選擇
- Ωω1 = A,即最低層(l = 1)的子任務的輸出空間是原始動作空間A
- πΓ 和 ΩΓ 分別表示主任務策略和最高級別的子任務集。
綜合上面提供的所有定義,HRL 代理有兩個主要部分:
- Subtask space (Ωhierarchy).這是層次結構中使用的所有子任務的超集,即 Ωhierarchy = {Ωω2, Ωω3, Ωω4, . . . , ΩΓ}。
- Hierarchical policy (πhierarchy),HRL 代理采取的原始動作是子任務遞歸選擇的結果。考慮圖 2 中描繪的三級層次結構。在這個層次結構中,主要策略 πΓ 選擇 2 級子任務,即 ω2 = πΓ(s),其中 ω2 ∈ ΩΓ。ω2的策略被執行,直到根據 βω2 終止。他選擇最低級別的子任務 ω1 = πω2 (s),其中 ω1 ∈ Ωω2。ω1的策略被執行直到它按照 βω1 終止。這個最低級別的策略選擇一個原始動作,即 a = πω1 (s)。這種從 πω1 的完整狀態到子任務到動作的映射稱為分層策略,表示為 πhierarchy。現在,整個 HRL 代理所采取的原始動作可以等價地表示為 a = πhierarchy (s)。該描述可以外推到具有三個以上級別的層次結構。
根據上面提供的定義,HRL 代理收到的預期折扣累積獎勵可以寫成:
a ~ πhierarchy |Ωhierarchy 表示使用分層策略 πhierarchy 對原始動作 a 進行采樣,該分層策略πhierarchy 以可用子任務空間 Ωhierarchy 為條件。
2.2.3 Problem Definition of HRL
HRL 的一般問題定義是找到最優分層策略 π? hier archy 和最優子任務空間 Ω? hierarchy 作為解決方案:
等式(7)中表示的 HRL 問題可以分為兩部分。
第一部分是學習分層策略,指的是找到以可用子任務空間為條件的最優分層策略(argmax π hierarchy |Ω hierarchy)。這是必不可少的,因為分層策略決定了 HRL 代理在任何給定任務上的行為。不同層次的策略可以以端到端的方式同時學習。或者它們可以以自下而上的方式一次學習一個級別(learned one level at a time in a bottom-to-top manner)。
第二部分是(subtask discovery)子任務發現,指的是使用 HRL 代理的經驗數據(即argmax Ω hierarchy)自動找到最佳子任務空間。子任務發現不是必需的,因為可以使用精確的領域知識手工制作子任務空間。然而,廣義的 HRL 需要不依賴于手工手工制作。
2.3 Definitions of Common Terms and Concepts
此處定義了本文其余部分中常見的一些重要術語和概念。
Skill:“skill”是一個語義術語,指的是學習執行子任務的原始動作策略,從某種意義上說,這種策略代表了智能體做好某事的能力。
Universal policy:在本文中,“Universal policy”是指可以通過將相應的(subgoals)子目標或(instructions)指令作為輸入來學習所有可能的子任務的策略。比如πω (s) =π (s,gω),其中π (s,gω ) is the universal policy.
State abstraction:狀態抽象是一個映射,比如 φ,它將原始狀態空間 S 映射到某個有限的低維抽象空間。如果 ?(s) = ?(s’)對于一對 s, s‘ ∈ S,則原始狀態空間中的兩個狀態都用抽象空間中的同一個狀態來表示。
Reward abstraction:獎勵抽象意味著作為主任務的一部分給予的獎勵對子任務策略是隱藏的,并且僅由最高級別的策略接收。
“Global” initiation condition:wherever the term “global” is used in reference to the initiation condition Iω, it means that the subtask can be chosen for execution in any of the states in the global state space.
3.Approaches for hierarchical reinforcement learning
本節介紹了為分層強化學習開發的各種方法的回顧和分類。
為了設計這種分類法,所調查的 HRL 方法沿三個獨立的維度排列,如下所示:
(1) Approaches with subtask discovery or without it.
(2) Approaches for training single agent or multiple agents.
(3) Approaches for learning on single task or multiple tasks.
這個三維空間可以有八個可能的劃分。我們發現大多數 HRL 方法都屬于其中的六個部分。根據它們解決的廣泛挑戰,這些方法進一步分為五個主要類別——LHP、UNI、ISD、MAHRL 和 TransferHRL。部分和類別如下:
(1) Single agent, single task, without subtask discovery:
該部分中的方法被歸為一個稱為學習層次策略(LHP)的主要類別。 LHP 方法解決了學習 HRL 代理的分層策略 πhierarchy 的挑戰,而不涉及子任務發現。他們使用手工制作的子任務。
(2) Single agent, single task, with subtask discovery:
本部分中的方法分為兩大類。
第一類稱為“Learning Hierarchical Policy in Unification with Subtask Discovery (UNI)”。UNI 方法以統一或端到端的方式解決了學習子任務空間 Ω hierarchy 和分層策略
π hierarchy 的挑戰。
第二類稱為Independent Subtask Discovery (ISD)。The approaches in this class address the challenge of discovering task-agnostic subtasks independently from any specific task.此類中的方法解決了獨立于任何特定任務發現與任務無關的子任務的挑戰。子任務發現subtask discovery通常在預訓練階段執行,然后子任務用于學習下游任務的 HRL 代理。
(3) Multiple agent, single task, without subtask discovery.
(4) Multiple agent, single task, with subtask discovery.
第 3 類和第 4 類中的方法被歸為一類,稱為多智能體 HRL (MAHRL)。 MAHRL 方法廣泛地解決了在單個聯合任務上學習在多個 HRL 代理之間進行協調的挑戰。
(5) Single agent, multiple tasks, without subtask discovery.
(6) Single agent, multiple tasks, with subtask discovery.
第 5 部分和第 6 部分中的方法被歸為一類,稱為帶HRL 的遷移學習 (TransferHRL)。 TransferHRL 方法廣泛地解決了learning to transfer the hierarchical policy, subtasks, or other knowledge of an HRL agent across multiple tasks學習在多個任務之間遷移層次策略、子任務或 HRL 代理的其他知識的挑戰,其中子任務可能是手工制作或在多個任務上從頭開始發現的。
3.1 Learning Hierarchical Policy (LHP)
本小節回顧了解決學習分層策略 π hierarchy 挑戰的方法,無需子任務發現,用于單個代理和單個任務設置。即使子任務是手工制作的,學習分層策略也是一個不小的挑戰。這是因為任何學習分層策略的方法都必須解決以下關鍵問題:仔細設計算法以學習層次結構各個級別的策略(包括獎勵傳播、價值函數分解、狀態/動作空間設計等),處理由于同時變化的策略導致的非平穩性,確保分層策略作為一個整體的最優性,分層策略的可解釋性等問題。有關 LHP 方法的摘要,請參閱表 1。
LHP 方法大致可以分為兩個子類。
第一個子類稱為封建層次(feudal hierarchy)結構,其中更高級別策略的動作空間由對應于各種子任務的子目標組成。The first sub-class is called feudal hierarchy, in which the action space of a higher-level policy consists of subgoals corresponding to various subtasks. A subgoal chosen by the higher-level policy is taken as input by a universal policy3 at the lower level. The objective of this lower-level universal policy is to achieve the in-put subgoal. The universal policy at each level can be treated as a sub-agent.較高級別策略選擇的子目標被較低級別的通用策略作為輸入,這個較低級別的通用策略的目標是實現輸入的子目標。每個級別的通用策略都可以被視為子代理(作為 HRL agent的一部分)可以在該級別執行所有可能的子任務。This leads to the feudal concept of a “manager” sub-agent (higher-level policy) directing a “worker” sub-agent (lower-level policy)。
第二個子類稱為策略樹(policy tree)。在本次調查中引入此名稱是為了分類,在 HRL 文獻中可能找不到。在策略樹中,高層策略的動作空間由子任務的不同低層策略組成。子任務不是由單一的通用低級策略表示;相反,每個子任務都有一個單獨的策略。高層策略和各種低層策略形成一棵“樹”。高層策略直接選擇低層策略執行,沒有中間子目標。相應的方法在第 3.1.2 節中討論。
3.1.1 Feudal Hierarchy Approaches
Dayan and Hinton引入了封建強化學習(Feudal RL)的基礎封建等級制度。Feudal RL 簡要描述如下:更高級別的manager設置一個子任務,由較低級別的worker執行。這是一種成對關系,如果層次結構有兩個以上的級別,則worker將成為其下一級的manager。manager通過子目標(subgoal)將子任務(subtask)傳達給worker,其中子目標(subgoal)只是原始或抽象狀態空間中的狀態。worker的目標是達到給定的子目標(subgoal)。每個級別的worker是一個universal policy。任務獎勵只能由最高級別的manager觀察,而其他級別的worker則使用達到子目標的獎勵來學習。作者使用不同空間距離處的預定義狀態作為子目標,在網格世界環境中評估 Feudal RL 在迷宮導航任務中的應用。 Feudal RL 比標準 Q Learning更快地收斂到通往迷宮中主要目標狀態的更短路徑。本文中討論的其他封建等級方法(feudal hierarchy approaches)均基于上述Feudal RL 的概念。
Kulkarni等人提出一個Deep HRL方法,由兩層DQN網絡組成,分別代表manager和worker。manager網絡從一組預定義的子目標中選擇一個子目標。它是使用任務獎勵來學習的。worker網絡將子目標作為輸入,并選擇原始動作來實現子目標。使用獎勵來學習達到子目標。子目標是原始狀態或狀態的抽象表征,例如,從圖像中提取的對象代表原始狀態。用于評估的任務之一是 Atari Montezuma 的復仇,其中標準 DQN 在超過 200 萬個時間步的收集獎勵方面幾乎沒有任何進展。然而,隨著訓練的進行,具有預定義子目標的 Deep HRL 會逐漸獲得更高的獎勵。
同時學習多個級別的策略會導致非平穩性問題(the issue of non-stationarity)
這意味著狀態-動作-下一個狀態轉換數據( state-action-next state transition data)是通過執行較低級別的策略生成并由較高級別的策略觀察到的,即使對于在同一狀態下選擇的相同子目標,也會在不同的時間實例中發生變化。這是因為較低級別的策略不是固定的,并且它對(狀態,子目標) (state, subgoal)對的響應在學習過程中會發生變化。非平穩性可能會導致許多無用的數據樣本,需要解決它以實現數據高效學習。
Nachum等人為解決the issue of non-stationarity,提出了具有子目標重新標記(subgoal re-labelling)機制的兩級封建等級制度。這種方法被稱為Hierarchical Reinforcement Learning with Off-policy Correction (HIRO).HIRO 中的子目標重新標記可以描述如下:一個兩級 HRL 代理與其環境交互并收集經驗數據。該數據由轉換元組用于高層的策略,其中r是任務的獎勵,并且用于低層的策略。c 是實現每個子目標的固定時間范圍(time horizon),r gt 是實現 gt 的獎勵。數據隨后用于訓練 HRL 代理的分層策略。然而,如果代理在 c 個時間步后沒有達到 gt,那么子目標在transition數據中被重新標記為gt’從 drawn from a distribution of subgoals that maximize the probability of the observed transitions. 最大化觀察到的transition概率的子目標分布中提取。然后,高層的策略事后將視為其輸出,這與觀察到的transition具有更好的相關性。這樣,HIRO 有效減少了的非平穩性。 HIRO 中的子目標是通過從原始狀態空間中的狀態中選擇選擇性特征來定義的。 HIRO 在 MuJoCo 連續控制任務上進行了評估,并顯示其性能優于標準 RL 和其他少數 HRL 方法。
Levy 等人與 HIRO 同時,提出了一種稱為 Hierarchical ActorCritic (HAC) 的方法,該方法也是通過子目標重新標記(subgoal re-labelling)來解決非平穩性問題。在該方案中,高層數據中的輸出子目標和低級數據中的輸入子目標被代理事后所達到的實際狀態所取代,而不是像 HIRO 中那樣對新子目標進行基于概率的抽樣。這種簡單的方案還可以將層次結構擴展到兩個以上的級別。 HAC 在 MuJoCo 連續控制任務上進行了評估,結果表明其性能優于標準 RL 和 HIRO。此外,作者發現三級層次結構在這些任務上的性能優于兩級層次結構。
Jiang等人提出一個分層抽象語言(HAL)的方法,封建等級也可以通過使用自然語言指令而不是子目標狀態來實現。
3.1.2 Policy Tree Approaches
Options
Sutton等人引入Options framework,在這個框架下將默認的MDP進行了擴展,擴展出包含一系列子任務的MDP,這些子任務叫做 Options。最初的action可以認為是 a single-step Option。一個option w可以用一個元組定義(< Iω, πω, βω >)。Iω ? S是初始的狀態,βω: S → [0, 1]給出 ω 在狀態 s ∈ S 中終止的概率,πω:S × A → [0, 1]是option的policy。一個option可以有或者沒有相關的獎勵函數rw。我們經常假定option被程序員預定義。Option的策略(πω) 預定義為初始策略,可以使用稱為選項內學習( intra-option learning)的機制在特定任務的中進行微調。Intra-option learning使用任務獎勵即使the Option-specific reward rω is given。此外,任何option ω 的 Q 值函數,即 Qω (s, a),表示直到主任務結束的預期累積獎勵,而不僅僅是直到option本身的范圍(或終止)。因此,Option 不是一個獨立的子任務單元,而是融合到核心 MDP 中。這限制了學習option對其他任務的遷移能力,但理論上保證了學習層次策略的最優性。作者評估了網格世界任務的選項框架,發現它比標準 RL 更快地收斂到最佳性能。
MAXQ
Dietterich 提出的 MAXQ 值函數分解將核心 MDP 分解為更小的子 MDP 組件。每個子 MDP 都與一個子任務相關聯,該子任務的策略可以與其他子任務分開學習。這是通過將主 Q 值函數分解為子任務的單獨 Q 值函數來實現的。由于這種分解,任何子任務 ω 的 Q 值,即 Qω (s, a),僅表示該子任務的范圍(或終止)之前的預期累積獎勵。因此,每個子任務策略都可以作為一個獨立的單元來學習,這與Option方法相反,Option中一個子任務被混合到核心 MDP 中。價值分解的好處是,在一個任務上使用 MAXQ 學習的子任務的策略可以很容易地轉移到不同的任務或不同的 MAXQ 代理。將子任務視為獨立單元的缺點是會損害分層策略的最優性。 MAXQ 層次結構只是遞歸最優的,這意味著 MAXQ 可以學習子任務的最優策略,但整體層次策略通常不是最優的。在 MAXQ 中,子任務 ω 的預定義組件是其終止條件 βω(例如,事件、條件、子目標狀態)和獎勵函數 rω。除了選擇其他子任務之外,子任務還可以選擇原始動作。 MAXQ 在網格世界出租車領域進行評估,其性能優于標準 Q Learning。
HAMs
Parr and Russell提出Hierarchy of Abstract Machines, (HAMs),uses stochastic Finite State Machines (FSMs) 表示子任務subtasks,HAM 由一組隨機 FSMs定義 {H}.每個FSM是使用各種機器狀態(machine-states)定義的。機器狀態不同于環境狀態。 FSM 由四種類型的機器狀態組成:動作、調用、選擇和停止(action,call, choice, and stop)。
這部分不做詳細介紹了,感興趣請閱讀原文。
3.2 Learning Hierarchical Policy in Unification with Subtask Discovery (UNI)
本小節回顧了將子任務發現(Subtask Discovery )與單代理和單任務設置的分層策略學習相結合的方法。對于可部署在特定任務上的 HRL 代理,無需預定義或手工制作的子任務,在學習代理的層次策略時,必須同時發現子任務空間(Ωhierarchy)。這需要一種統一或端到端的學習方法,該方法使用相同的數據進行子任務發現和學習分層策略,其中數據是在執行給定任務時收集的。這種統一涉及的一些重要問題如下:discovering the subtask space that maintains the optimality of the hierarchical policy, learning various components of a subtask during discovery (terminations conditions, initiation conditions,subgoals, etc.) from scratch, discovering a dynamic number of subtasks, among other issues.發現保持分層策略最優性的子任務空間,從頭開始學習發現過程中子任務的各個組成部分(終止條件,啟動條件,子目標等),發現動態數量的子任務,以及其他問題。
此后討論的 UNI 方法基于兩種類型的 LHP 方法,the feudal hierarchy (Section 3.1.1) and Options (a policy tree approach, Section 3.1.2).
3.2.1 Unified Learning of Policy Tree
本小節中討論的策略樹方法(policy tree approaches)將discover Options 與分層策略的學習(the learning of a hierarchical policy)相結合。如第 3.1.2 節所述,Option是一個子任務,它使用三個關鍵組件表示:啟動條件 Iω、策略 πω 和終止概率函數 βω。統一選項發現(Unified Option discovery)主要涉及與更高級別任務策略(πΓ)同時學習與每個選項 ω 相關的 πω 和 βω。初始 Iω 也可以學習或設置為全局。這些組件都不是手工制作的。
Daniel等人針對unified Option discovery提出一個基于圖的模型。
Konidaris等人提出一個名為skill chaining 的方法,在學習 HRL 代理的同時逐步構建選項(construct Options),skill chaining 的過程從創建一個option ω 開始,它的子目標集 (gω) 包含主任務的目標狀態。The Option policy πω is learned to reach the subgoals.然后學習分類器以找到 ω 的初始狀態。可以在預定義的時間步數內達到 ω 的子目標的狀態被分類為正數。相反,在時限內無法達到子目標的那些狀態被歸類為否定狀態。積極狀態被添加到初始集 Iω。現在,另一個option ω’被創建,它的子目標集 gω’等于 Iω。然后,上述分類和策略學習過程對 ω’ 重復,以此類推,創建一個option鏈(或技能)。skill chaining發現了靈活數量的option。作者在 Pinball 控制域上對其進行了評估,在該域中它的性能優于標準 RL。最近,Bagaria 等人使用深度強化學習進行連續控制的擴展技能鏈。skill chaining的主要限制是它僅適用于具有明確目標狀態的任務,并且需要在沒有option的情況下進行強大的初始探索才能達到目標狀態。
在上面討論的所有方法中,代理不能在學習的初始階段使用子任務(option)。這是因為代理必須首先收集經驗軌跡以用于發現初始option集。
Bacon提出了一個option框架,可以從學習過程的開始就學習option以及整個分層策略,這種方法稱為 Option Critic (OC)。在OC中,一個固定數量的options are randomly initialized with parameterized policies and termination functions. The higher-level policy is also randomly initialized. Then, the higher-level policy and all the Options (policies and termination functions) are learned using policy gradients derived using the main task rewards.
OC 不使用子目標或特定于option的獎勵,理論上可以保證使用策略梯度學習最優分層策略。在評估中,OC 在 Seaquest、Ms Pacman 等 Atari 游戲中使用深度學習優于標準 RL,它也比skill chaining表現更好。在彈球領域學習的初始階段,OC 的一個限制是它需要預定義option的數量。此外,策略梯度嚴重依賴于主任務獎勵。因此,OC 在稀疏獎勵任務上可能表現不佳。 OC由于其強大的理論基礎成為了統一HRL的流行框架,這導致了基于 OC 的各種方法的出現,這些方法列于表 2 中。
Option-Critic (OC) 框架需要為基于Option的半馬爾可夫決策過程 (SMDP) 定制策略優化算法。這限制了以現成的方式為 HRL 使用其他高級策略優化算法。為了解決這個問題, Zhang 等人提出將 HRL 層次結構公式化為兩個并行的增強馬爾可夫決策過程(MDP),其中每個 MDP 使用一個(as two parallel augmented Markov Decision Processes (MDPs) )增強狀態空間,它是原始狀態空間和option集的叉積。較高級別的 MDP 對學習option對應的策略及其相應的終止條件的問題進行建模,而較低級別的 MDP 對學習option策略的問題進行建模。兩個 MDP 都只使用任務獎勵,沒有子目標或子任務獎勵。提出的這個方法叫做Double Actor Critic (DAC),因為它應用了actor-critic算法來學習兩層的policy。由于增強(augmented)的 MDP 公式,DAC 與各種現成的 actor-critic 算法兼容,用于策略優化。它在各種機器人模擬任務上表現出明顯優于 OC 的性能。但是,與 OC 類似,DAC 需要預先定義選項的數量。
當每個option的終止概率在經過長時間的訓練后變得非常高時,OC 和 DAC 方法可能會遇到更高級別的策略退化現象。這導致更高級別的策略幾乎在每個時間步都從一個選項切換到另一個選項,并且學習的option不專注于任何可識別的行為。Harb等人認為,從策略優化的理論角度來看,時間擴展選項(temporally extended Options)不是必需的,因為最優策略實際上是根據原始動作實現的。為了學習時間擴展option,他們引入了一個正則化器,稱為deliberation cost,這是更高級別策略在切換option時收到的懲罰。這鼓勵更高級別的策略將每個option保留更長的時間,這導致在empirically上比頻繁切換option更好的性能。 deliberation cost包含在 OC 框架中,但 DAC 的作者將這種成本的整合留給未來的工作。當更高級別的策略為整個任務持續時間選擇一個option時,可能會發生另一種形式的退化。這可能是因為如果使用全局啟動條件 Iω,每個option都可以在狀態空間中的任何位置啟動。 Khetarpal 和 Precup提出了一種稱為 Interest-Option-Critic (IOC) 的方法,建立在 OC 框架之上,它使用策略梯度學習每個option的啟動條件,因此各種option可以專注于不同的行為,從而防止退化。
3.2.2 Unified Learning of Feudal Hierarchy
在Feudal的 UNI 層次結構中,子目標空間和各級通用策略是統一學習的。
Vezhnevets等人提出了一種feudal層次的神經網絡,其中稱為“manager”的更高級別的網絡在學習的潛在子目標空間中對子目標進行采樣。子目標可以是潛在空間中的一個點,也可以是表示潛在空間中方向的單位向量。子目標被稱為“worker”的較低級別網絡作為輸入,該網絡必須學習一種策略以使用與子目標的距離作為獎勵來實現子目標。 Worker 使用源自基于子目標的獎勵的常用策略梯度進行訓練。Manager 是使用作者介紹的 transition gradient方法進行訓練。該梯度是使用任務獎勵以及分配給 Worker 的子目標與 Worker 進行的實際狀態轉換之間的距離得出的。因此,Manager 從任務獎勵和 Worker 的行為中學習。 transition gradient被用于學習manager策略和潛在子目標空間。這個方法叫做Feudal Networks (FuN),在 Atari 游戲(如 Montezuma’s Revenge)上表現出比 DQN 和 Option-Critic 更好的性能。
Feudal Networks不保證學習的子目標空間會導致最優的分層策略。Nachum等人提出的基于HIRO 的子目標表示學習方法中解決了這個問題(HIRO 在第 3.1.1 節中討論)。作者基于分層策略的次優性的理論界限推導出優化目標。該目標用于學習將狀態空間轉換為低維子目標空間的函數 fθ (s)。因此,學習到的子目標空間表示最小化了次優性,并且基于 HIRO 的分層策略解決了非平穩性問題。這種方法在 MuJoCo 連續控制任務上進行了評估,同時使用低維狀態空間和高維狀態空間(例如,用作狀態的圖像)。它優于各種其他子目標表示方案,例如such as direct use of the original states (e.g., images) as subgoals, using latent space learned in the style of FuN [99], using subgoal embedding derived from Variational Autoencoder , and so on.直接使用原始狀態(例如圖像)作為子目標,使用以 FuN 風格學習的潛在空間,使用從變分自動編碼器派生的子目標嵌入等等。
3.3 Independent Subtask Discovery (ISD)
本小節回顧了用于單個代理和單個任務設置的(subtask discovery )獨立子任務發現的方法。當目標是自動找到與任務無關且可跨各種未知任務轉移到 HRL 代理的子任務時,就會出現 ISD 挑戰。這意味著子任務發現的過程應該獨立于學習代理的層次策略的過程。ISD 方法背后的共同思想類似于機器學習一般背景下的預訓練 。
在 ISD 方法中,子任務發現通常發生在預訓練階段。然后使用發現的子任務來學習分層策略以執行特定的目標任務。這種預訓練方法導致了 ISD 的一些關鍵問題,如下所示: ensuring that the subtask discovery process is data-efficient, discovering subtasks that allow diverse exploration of the state space independent of any specific task, learning continuous subtask space that allows generalization through sampling of new subtasks on target tasks, among other issues.確保子任務發現過程是數據高效的,發現允許獨立于任何特定任務對狀態空間進行多樣化探索的子任務,學習連續的子任務空間允許通過對目標任務的新子任務進行采樣來進行泛化,以及其他問題。
3.3.1 Discovery of Subgoals
3.3.2 Discovery of Diverse Skills
3.4 Transfer Learning with HRL (TransferHRL)
本小節回顧了通過多任務或遷移學習在多個任務上學習單個 HRL 代理的方法。 TransferHRL 類代表了所有這些方法,無論有或沒有子任務發現。使用 HRL 進行遷移學習的概念源于某些子任務可以跨多個相關任務共享的想法。在一項任務的中學習執行子任務的策略也可用于加速代理對其他相關任務的適應。因此,這是 HRL 中需要解決的一個重要挑戰。
遷移學習在 RL 的中使用,通過將經驗數據、動作策略或 Q 值函數從一個任務轉移到另一個任務來加速后一個任務的學習。在 HRL 中,遷移主要的任務策略(分層策略中的最高級別)的問題可以使用 RL 遷移方法來解決。但是,子任務成為額外的可遷移組件,包括它們的策略、終止/啟動條件、子目標等。與使用標準 RL 的遷移學習相比,這帶來了使用 HRL 的遷移學習 (TransferHRL) 所特有的額外問題。 TransferHRL 特有的一些問題如下:
- Efficiently scaling to a large number of subtasks during lifelong transfer learning.在終身遷移學習期間有效地擴展到大量子任務。
- Transferring subtasks across task domains with different state spaces. 跨具有不同狀態空間的任務域傳輸子任務。
- Learning subtasks from scratch on multiple related tasks.從頭開始??學習多個相關任務的子任務。
本小節將討論這些問題,以及解決這些問題的相應方法。我們重申 ISD 方法(第 3.3 節)學習可以遷移到與任務無關的各種任務的子任務。然而,ISD 方法并沒有解決上述問題。
3.4.1 Transfer + Subtask Policy Distillation
當從一項任務轉移到另一項任務時,例如在終身學習期間,HRL 代理可能會學習并積累大量子任務策略 。由于需要存儲多個子任務策略,天真地將大量子任務添加到更高級別策略的操作空間可能會導致內存效率低下。Tessler等人提出了一個深度 HRL 框架,稱為分層深度強化學習網絡 (H-DRLN),用于內存高效傳輸和保留一組與各種子任務相對應的預訓練策略(without subtask discovery)。這些策略是使用手動定義的目標進行預訓練的。策略通過作者介紹的(multi-skill distillation)多技能蒸餾方式傳輸到 HRL 代理(in a target task)。多技能蒸餾是策略蒸餾的一種形式,它使 H-DRLN 能夠有效地將多個子任務的策略組合成一個單一的蒸餾策略。這使得 H-DRLN 內存高效。在執行目標任務時,H-DRLN 代理使用更高級別的策略來選擇由提煉策略(在較低級別)執行的子任務。與標準 RL 相比,H-DRLN 學習在 Minecraft 游戲11 中執行多項任務,具有更低的樣本復雜度和更好的性能。 H-DRLN 的主要限制是子任務的策略需要使用手動定義的目標(在蒸餾之前)進行預訓練。此外,H-DRLN 能夠將現有策略提煉成目標策略,但不提供持續發現新子任務的方法。
3.4.2 Transfer + Agent-space Subtasks
在特定任務域中學習的子任務策略取決于該特定域的狀態空間 S。如果將該策略轉移到狀態空間不同于 S 的新任務域,則該策略可能不再是最優的。為了解決這個問題,有必要實現域不變傳輸,以便子任務策略對變化的狀態空間具有魯棒性。 Konidarisf等人提出一個方法可以遷移到具有不同狀態空間的各種任務的option。
3.4.3 Transfer + Meta-learning of Subtasks
除了有效地轉移預訓練的子任務之外,從頭開始跨多個任務發現子任務也很重要。Frans提出了一種深度 HRL 方法,用于通過對多個相關任務的元學習來發現option,這種方法稱為元學習共享層次結構Meta Learning Shared Hierarchies (MLSH),包含一組具有跨不同任務共享參數的option,這些option是通過聯合最大化所有任務中獲得的預期獎勵從頭開始學習的(元學習)。MLSH 不使用任何其他手工制作的獎勵或子目標。通過使用特定于任務的更高級別的策略,將學習到的選項轉移到看不見的任務。 MLSH 在 MuJoCo運動域中進行評估,在該域上它優于標準 RL 和 Option-Critic。 MLSH 的主要限制是 Options 的數量需要固定,這限制了使用 MLSH 可以執行的任務的多樣性。簡單地增加選項的數量將需要代理存儲和學習大量的選項策略,這在內存和計算方面可能效率低下。
3.5 Multi-agent Hierarchical Reinforcement Learning (MAHRL)
3.6 Key Takeaways from the Survey of Approaches
通過對本節中廣泛選擇的 HRL 方法的調查,我們旨在提供有關 HRL 研究的廣泛進展和當前狀態的重要見解。在這方面,今后將討論調查方法的一些關鍵要點。
- 沒有統一的框架來學習分層策略——不同的方法應該為了不同的優勢。
- 多種原則可用于子任務發現。發現的子任務的質量沒有單一的標準。
- 沿著大規模技能發現(large-scale skill discovery)的方向可能會出現新的趨勢。
4 Open problems for future research
HRL 在強化學習社區中獲得了更多的興趣。然而,關于 HRL 的可擴展性、效率和理論穩健性,仍然存在不同的未解決問題。今后將討論一些這樣的開放性問題,目的是為未來的研究確定更廣泛的方向。此討論不包括增量問題和任何特定方法的擴展。
- Building a lifelong knowledge base of transferable skills.建立可轉移技能的終身知識庫。
- Leveraging high-level planning for improved learning and adaptation.利用高層規劃來改進學習和適應。
- Providing theoretical support for HRL.為HRL提供理論支持。
5 Conclusion
這項調查提供了迄今為止在分層強化學習 (HRL) 領域所做研究的全景概述,從經典方法到最新進展。設計了一種新穎的通用分類法,根據它們解決的關鍵挑戰將這些方法分為五個大類,它們是:(i)學習分層策略(LHP),(ii)學習與子任務發現統一的分層策略(UNI) , (iii) 獨立子任務發現 (ISD), (iv) 使用 HRL 的遷移學習 (TransferHRL), 和 (v) 多智能體 HRL (MAHRL)。還根據具體方法對方法進行了進一步分類。通過調查,我們發現在解決 HRL 的兩個主要子問題(如何學習分層策略和如何自動發現子任務)方面取得了重大進展,如 HRL 問題陳述中所述(第 2.2.3 節) )。該領域現在正朝著遷移學習和使用 HRL 的多智能體學習的方向邁進,其中可能會出現新的趨勢,特別是在子任務發現方面。盡管取得了這一顯著進展,但 HRL 仍有進一步增長的空間,以鼓勵其作為可擴展且穩健的范式得到更廣泛的接受。在這方面,我們確定了一組重要的開放問題,以激勵未來的研究和進步。這些選擇的問題涉及:(i)可擴展 HRL 的終身技能發現和利用,(ii)通過利用高級規劃提高數據效率,以及(iii)為 HRL 方法的最優性提供更多理論保證。
總結
以上是生活随笔為你收集整理的分层强化学习综述:Hierarchical reinforcement learning: A comprehensive survey的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 实时音频编解码之十六 Opus解码
- 下一篇: HEXO启动,初始化,本地页面成功启动,