階層型強化学習

**階層型強化学習**（Hierarchical Reinforcement Learning、**HRL**）は、複雑な強化学習問題を、より単純な部分問題の階層に分解して解くためのアプローチである。これにより、エージェントは時間的・空間的に抽象化されたレベルで推論や行動選択を行うことが可能となり、学習効率の向上、長期的なクレジット割り当て問題の緩和、スキルの再利用性の向上などが期待される。

## 概要
標準的な強化学習では、エージェントは環境の状態を観測し、行動を選択し、報酬を受け取るというサイクルを繰り返しながら、収益（リターン）を最大化する方策を学習する。しかし、環境が広大であったり、最終的な目標達成までに多くのステップを要する複雑なタスク（例：長い道のりを経て特定のアイテムを見つけ出すゲーム）では、ランダムな探索では効率的に解を発見することが困難であり、また、どの行動が最終的な報酬に貢献したのかを特定するクレジット割り当て問題も深刻になる。

HRLは、このような課題に対処するために、タスクをより管理しやすい複数のサブタスクに分割する「分割統治」のアプローチを採用する。例えば、「料理をする」というタスクは、「食材を切る」「炒める」「盛り付ける」といったサブタスクに分解できる。HRLエージェントは、高レベルの方策がサブタスクを選択し、低レベルの方策がそのサブタスクを実行するための具体的な行動（原始行動）を選択するという階層構造を持つ。

## 背景
HRLを理解するためには、以下の基本的な強化学習の概念を把握しておく必要がある。

* **[[マルコフ決定過程]] (MDP)**: 強化学習問題を定式化するための数学的フレームワーク。状態、行動、状態遷移確率、報酬関数から構成される。

* **セミマルコフ決定過程 (SMDP)**: MDPを拡張し、行動が単一時間ステップではなく、可変の時間長で継続することを許容するフレームワーク。HRLにおける時間的抽象化（サブタスクの実行）をモデル化するのに適している。
* **強化学習 (RL)**: エージェントが試行錯誤を通じて環境と相互作用し、報酬を最大化する行動方策を学習する機械学習の一分野。
* **深層強化学習 (DRL)**: 深層学習（ディープラーニング）を強化学習に組み合わせ、画像などの高次元な状態入力から直接方策を学習する手法。

## 二つの抽象化
HRLの核となるのは、以下の2種類の抽象化である。

* **時間的抽象化 (Temporal Abstraction)**: 単一の行動（**原始行動**, primitive action）ではなく、複数の時間ステップにわたる一連の行動シーケンス（サブタスクやオプション）を一つの単位として扱う。これにより、エージェントはより長期的な計画を立てやすくなる。例えば、「ドアを開ける」というサブタスクは、ドアノブに手を伸ばし、回し、引く、といった一連の原始行動から構成される。
* **状態抽象化 (State Abstraction)**: 広大な状態空間の一部を無視したり、関連性の高い状態をグループ化したりすることで、意思決定に必要な情報量を削減する。例えば、エージェントが「鍵を持っているか否か」という抽象化された状態情報に基づいて行動を決定することができる。

## 利点
HRLは、標準的な強化学習と比較して以下のような利点をもたらす。

* **クレジット割り当ての効率化**: サブタスクの成功・失敗に対して、より直接的にフィードバックを与えることができるため、長期的な行動シーケンスにおける信用割り当てが容易になる。時間的抽象化により、報酬信号がより多くの過去のステップに伝播しやすくなる。
* **探索効率の向上**: 意味のあるサブタスクを探索の単位とすることで、ランダムな原始行動の探索よりも構造的かつ効率的な探索が可能になる。特に、ボトルネックとなる状態（例：部屋の間のドア）に到達するサブタスクは、未探索領域への到達を助ける。
* **スキルの再利用と転移学習**: 学習済みのサブタスク（スキル）は、異なるタスクや状況でも再利用できる可能性がある。これにより、新しいタスクの学習を高速化する転移学習や、知識を蓄積しながらより複雑なタスクを解けるようになる生涯学習の実現に貢献する。
* **解釈可能性の向上**: 階層構造やサブタスクは、エージェントの行動意図を人間が理解しやすくする手がかりとなる場合がある。

## 課題

### HRLは多くの利点を持つ一方で、以下のような課題も存在する。
* **抽象化の自動発見**: どのようなサブタスクや状態抽象化がタスク解決に有効であるかを、エージェントが自律的に発見することは非常に困難な問題である。多くの初期の研究では、人間が事前にサブタスクを設計する必要があった。
* **抽象化の開発 (学習)**: 発見または与えられたサブタスクを、どのように効率的に学習させるか。サブタスクの方策学習には、適切な（内発的）報酬設計が重要となる。
* **合成 (Composition)**: 学習または発見された複数のサブタスクを、どのように組み合わせて全体タスクを解決するかという高レベルの意思決定方策の学習も重要である。

## 主要なアプローチ
HRLの研究は、大きく分けて、(1)**階層的方策の学習** (**LHP**)、(2)**サブタスク発見との統一的学習** (**UNI**)、(3)**独立サブタスク発見** (**ISD**: Independent Subtask Discovery)、(4)**マルチエージェントHRL** (**MAHRL**)、(5)**HRLにおける転移学習** (**TransferHRL**) といった課題に取り組むアプローチに分類できる。

### 階層的方策の学習(LHP）
**階層的方策の学習** (**LHP**: Learning Hierarchical Policy)とは、単一エージェント、単一タスク、サブタスク発見なしのアプローチであり、サブタスクは人間の手によって手動で設計される。階層型方策の学習のみ焦点を当てている。主要なアルゴリズムとしては、後述のFeudal Q-learning、MAXQ, HAMsなどがある。

### サブタスク発見との統一的学習(UNI)
**サブタスク発見との統一的学習** (**UNI**: Learning Hierarchical Policy in Unification with Subtask Discovery)は、単一エージェント、単一タスク、サブタスク発見ありのアプローチである。サブタスク空間と階層型方策が統一的に学習される。主要なアルゴリズムは、Option-Critic, FeUdal Networks,  HIRO, IOCなどがある。

### 独立サブタスク発見(ISD)
**独立サブタスク発見** (**ISD**: Independent Subtask Discovery)は、UNIと同様に、単一エージェント、単一タスク、サブタスク発見ありのアプローチである。UNIとの違いは、目的のタスクと独立した形で、汎用的なサブタスクを発見・学習する点である。多くの場合は、スキル発見アルゴリズムを用いて事前学習を行い、サブタスクを固定して目的のタスクで階層型方策を学習する。DIAYN, DDなどサブゴール発見、スキル発見がこれに該当する。

## 主要なフレームワーク
以下では、代表的なフレームワークを紹介する。

### 問題特化モデル (古典的アプローチ)
初期のHRL研究では、特定のタスク構造やドメイン知識を強く仮定したモデルが提案された。これらは主にLHPに分類される。

* **封建的Q学習（Feudal Q-learning）**: 階層的な管理者（マネージャー）と労働者（ワーカー）の構造を持つ。マネージャーは抽象化された状態空間でサブゴールを設定し、ワーカーはそのサブゴールを達成するための原始行動を実行する。報酬は階層的に隠蔽され、ワーカーはサブゴールの達成に対して内発的報酬を受け取る。
* **抽象機械による階層（Hierarchies of Abstract Machines, HAMs)**: 有限オートマトンの階層としてエージェントの振る舞いを記述する。各オートマトンはサブタスクに対応し、特定のオートマトンの状態から原始行動、他のFSMの呼び出し、または終了を選択する。専門家による設計が必要。
* **MAXQ**: 価値関数を階層的に分解するアプローチ。タスク全体をルートタスクとし、これを複数のサブタスクに分解する。各サブタスクは独立したMDPとして扱われ、その価値関数（Completion Function）と、サブタスクを実行した後のタスク全体の価値（Projected Value Function）を学習する。

### オプションフレームワーク
オプションフレームワークは、時間的に拡張された行動である「オプション」を導入することで、より汎用的なHRLを実現する。SMDPに基づいている。オプションは、開始条件（Initiation set）、オプション内部の方策（Intra-option policy）、終了条件（Termination condition）の3つ組で定義される。

* **オプションの発見**
** **サブゴール発見**: ランドマーク状態（頻繁に訪れる重要な状態）、強化学習信号の勾配が大きい状態、ボトルネック状態（異なる状態クラスタ間の遷移点）、アクセス状態（新しい領域への入り口となる状態）などをサブゴールとして識別し、そこに至るオプションを学習する。
** **グラフ分割**: 状態遷移グラフをクラスタリングし、クラスタ間の遷移点をサブゴールとする。
** **スキル連鎖**: 連続状態空間において、あるオプションの開始状態を別のオプションの終了状態（サブゴール）として連鎖的にオプションを発見する。

* **高次元状態空間での利用**: **h-DQN** (階層型DQN, Hierarchical DQN) や **H-DRLN** (階層型深層強化学習ネットワーク, Hierarchical Deep Reinforcement Learning Network) のように、深層学習と組み合わせて、ピクセル入力から直接オプションを学習する研究も行われている。
* **最適化問題としてのオプション発見**: Option-Critic (OC) は、オプションの方策と終了条件を同時に勾配法で最適化するエンドツーエンドな学習フレームワークである。これにより、事前の知識なしにオプションを発見・学習できる。**PPOC** (Proximal Policy Option-Critic) や**ACTC** (Actor-Critic Termination Critic)などの発展形がある。これらはUNIに分類される。

### ゴール条件付きフレームワーク
このフレームワークでは、サブ行動を連続的なゴールベクトルによってパラメータ化し、多数のサブ行動を効率的に学習・表現することを目指す。スケーラビリティが高い。

* **一般化価値関数 (GVF) と Horde**: 単一の報酬だけでなく、様々な予測対象（例：壁に衝突するまでの時間）に関する価値関数を並行して学習する。Hordeアーキテクチャは、多数の独立したサブエージェント（デーモン）がそれぞれ異なる予測を行う。
* **情報隠蔽**: 階層の異なるレベルに異なる情報（例：低レベルには自己受容感覚情報のみ、高レベルには外部環境情報も）を与えることで、役割分担を促し、協調的な学習を促進する。
* **教師なし学習による抽象化発見**: 内発的動機付けや情報理論的な目的関数（例：状態エントロピー最大化、スキルと到達状態の相互情報量最大化）を用いて、多様なスキルやサブゴールを教師なしで発見する。VIC (Variational Intrinsic Control)、DIAYN (Diversity is All You Need)、VALOR (Variational Autoencoding Learning of Options by Reinforcement)、LSP (Latent Space Policies) などがある。これらは主にISDやUNIに分類される。
* **End-to-Endアルゴリズム**: FeUdal Networks (FuN) や HIRO (Hierarchical Reinforcement learning with Off-policy correction) は、高レベルのマネージャーが低レベルのワーカーに潜在空間や状態空間における方向性ゴールを指示し、全体として報酬を最大化するようにエンドツーエンドで学習する。これらはUNIに分類される。

### マルチエージェント階層型強化学習 (MAHRL)
複数のHRLエージェントが協調してタスクを解決する問題設定。サブタスクの同期、他のエージェントの行動を考慮したサブタスク発見などが課題となる。アプローチとしては、サブタスク発見なしとサブタスク発見ありに分類できる。

#### サブタスク発見なしマルチエージェント階層型強化学習

* Cooperative HRL
* PoEM
* ISEMO
* FMH

#### サブタスク発見ありマルチエージェント階層型強化学習

* HSD
* DOC

### 階層型強化学習における転移学習 (TransferHRL)
転移元のタスク（ソースタスク）で学習済みの階層的方策やサブタスクなどを含む知識を、新しいタスク（ターゲットタスク）に効率的に転移させることを目指すフレームワークである。アプローチは3つに分類できる****。

#### 転移＋サブタスク方策蒸留
事前に学習された複数のサブタスク方策を、単一のコンパクトな方策に蒸留することで、メモリ効率の良い転移を目指すアプローチ。

* H-DRLN

#### 転移＋エージェント空間サブタスク
エージェントの外部の情報を含むタスク空間の状態表現とは別に、エージェント自身の情報（例えばロボットならば、腕の角度など）のみに基づくエージェント空間を定義し、共通のエージェント空間においてサブタスク（スキル）を学習する。エージェント空間で学習したスキルは、タスク空間にあまり依存しないため、異なるタスク空間を持つ新しい環境に転移しやすくなるという発想に基づく。Konidarisらの研究など。

#### 転移＋サブタスクのメタ学習
複数の関連タスク上で共通して有用なサブタスクをメタ学習によって取得し、未知タスクへの高速な適応を目指すアプローチ。

* MLSH (Meta Learning Shared Hierarchies)

## アルゴリズム

## ベンチマーク環境
HRLアルゴリズムの評価には、以下のような多様なベンチマーク環境が用いられる。

* **低次元状態空間環境**: Four-room gridworld（部屋と通路からなる迷路）、Taxiドメイン（乗客を乗せて目的地に運ぶ）、Cartpole（倒立振子）、Pinballなど。アルゴリズムの基本的な動作検証や迅速なイテレーションに適している。
* **高次元状態空間環境**
** **離散行動空間**: Atari 2600ゲーム（特にMontezuma's Revenge, Pitfallなどの探索が困難なゲーム）、ViZDoom (Doomベース)、DeepMind Lab（3Dナビゲーション・パズル）、Minecraft（オープンワールド）など。
** **連続制御**: MuJoCo、DeepMind Control Suite、PyBulletなどの物理シミュレーション環境を用いたロボットの運動制御タスク（歩行、走行、マニピュレーションなど）。

## 関連項目

* 強化学習
* マルコフ決定過程
* 深層学習
* 転移学習
* マルチエージェントシステム

## 出典