見出し画像

階層強化学習

以下の記事を参考に書いてます。

Learning a Hierarchy

1. 階層強化学習 (HRL: Hierarchical Reinforcement Learning)

「階層強化学習」は、様々な問題解決に役立つ高レベルな行動を学習するアルゴリズムです。これによって、数千タイムステップを必要とするタスクの高速な解決が可能になりました。

アルゴリズムを一連の「ナビゲーション問題」に適用すると、さまざまな方向への歩行とクロールのための一連の高レベルな行動が検出され、エージェントは新しいナビゲーションタスクをすばやく習得できます。

人間は、複雑な課題を小さな管理可能なコンポーネントに分割することで解決します。パンケーキを作る行動は、「小麦粉の測定」「卵の泡立て」「混合物のパンへの移動」「ストーブのオン」など、一連の高レベルな行動で構成されています。

タスクは、数百万の低レベルな行動、つまり「個々の筋肉の収縮」を必要とする場合でも、これらの学習されたコンポーネントを一緒にシーケンスすることにより、新しいタスクを迅速に学習できます。

一方、現在の強化学習方法は、低レベルな行動を力づくな検索で動作させるため、新しいタスクを解決するために膨大な数の試行を必要とします。これらの方法は、非常に非効率的です。

私たちの手法は、「階層強化学習」の概念に基づいており、エージェントは複雑な行動を短い一連の高レベルな行動として表します。これにより、エージェントはより困難なタスクを解決できます。問題解決には2000個の低レベルな行動が必要な場合、階層型ポリシーはこれを10個の高レベルな行動に変換します。2000ステップよりも10ステップの行動を検索する方がはるかに効率的です。

2. メタ学習共有階層 (MLSH: Meta-Learning Shared Hierarchies)

画像1

アルゴリズムである「メタ学習共有階層」(MLSH : Meta-Learning Shared Hierarchies)は、「マスターポリシー」が一連の「サブポリシー」を切り替える階層ポリシーを学習します。

「マスターポリシー」はNタイムステップごとに行動を選択します。ここで、N = 200を取得します。Nタイムステップで実行される「サブポリシー」は高レベルな行動を構成します。ナビゲーションタスクでは、「サブポリシー」はさまざまな方向の歩行とクロールに対応します。

ほとんどの先行研究では、階層型ポリシーは明示的に手動で設計されてきました。私たちはその代わりに、環境との対話を通じてこの階層構造を自動的に発見することを目指しています。メタ学習の観点から見ると、目に見えないタスクで訓練を行うと、すぐに高い報酬に到達する階層として、優れた階層を定義します。したがって、「MLSH」アルゴリズムの目的は、これまで見えなかったタスクの高速学習を可能にする「サブポリシーを学習すること」になります。

サンプリングされた各タスクで新しい「マスターポリシー」を学習しながら、「サブポリシー」を共有し、タスクを介した配布について訓練します。このプロセスでは、「マスターポリシー」の学習ダイナミクスに対応する「サブポリシー」が自動的に検出されます。

3. 実験

9つの別々の迷路を解決するために訓練されたMLSHエージェントは、上、右、下の動きに対応するサブポリシーを発見し、それを使用して迷路をナビゲートした。

AntMaze環境では、MuJoCo Antロボットが9つの異なる迷路に配置され、スタートからゴールまでナビゲートする必要があります。私たちのアルゴリズムは、環境との相互作用のみによって、迷路タスクを解決するために一緒にシーケンスできる多様な「サブポリシー」を見つけることに成功しました。この「サブポリシー」を使用して、訓練されたタスクよりも大きなタスクをマスターできます。

別々の迷路環境での訓練は、タスクを解決するためのサブポリシーの自動学習につながる。

4. コード

MLSHエージェントを訓練するためのコードと、これらのアルゴリズムを評価するために構築したMuJoCo環境をリリースしています。


この記事が気に入ったらサポートをしてみませんか?