論文読み：D4RL: Datasets for Deep Data-Driven Reinforcement Learning

書きかけ

* 論文
  * サイト: https://sites.google.com/view/d4rl/home
  * Paper: https://drive.google.com/file/d/1JT13kQMvXPiTCtmEANnlrJbDGyOByGNY/view?usp=sharing
  * Blog: https://bair.berkeley.edu/blog/2020/06/25/D4RL/

* 参考： https://qiita.com/aiueola/items/90f635200d808f904daf

# Abstract

オフライン強化学習（RL）問題（バッチRLとも呼ばれる）とは、オンラインでデータを収集することなく、静的なデータセットからポリシーを学習しなければならないという問題を指す。
この問題は、RL手法が事前に収集された大規模なデータセットを利用できる可能性があり、近年の教師あり学習における大規模データセットの増加と同様に、魅力的な問題である。
しかし、既存のオンラインRLベンチマークは、オフライン環境に合わせて作られていないため、オフラインRLの進歩を測定することは困難である。
本研究では、オフラインRLの実世界への応用に関連するデータセットの主要な特性に基づいて、オフライン環境用に特別に設計されたベンチマークを紹介する。
そのような特性の例としては、手で設計されたコントローラや人間のデモンストレータによって生成されたデータセット、エージェントが同じ環境で異なるタスクを実行できる多目的データセット、およびポリシーの混合したデータセットなどがある。
研究を促進するために、私たちは、既存のアルゴリズムの包括的な評価と評価プロトコルを伴ったベンチマークタスクとデータセットを、オープンソースのコードベースとともに公開している。このベンチマークにより、シミュレーションされたタスクだけでなく、最終的にはオフラインRLが最大の効果を発揮する、実世界の問題において、改善を促す手法に研究の焦点が当てられることを期待している。


# 1 Introduction

この10年間、機械学習のさまざまな分野で目覚ましい進歩が見られたが、その大部分は、大容量のディープニューラルネットワークモデルと大規模かつ多様な学習データセットによってもたらされた[8]。

強化学習（RL）アルゴリズムも深層学習の恩恵を受けているが[25]、これらのアルゴリズムが成功するためには、通常、アクティブなデータ収集が必要であり、大規模で静的なデータセットを活用できる範囲は限られている。

オフラインRL [19]はフルバッチRLとも呼ばれ、エージェントは固定のデータセットから学習しなければならないが、RLとデータ駆動型の教師付き学習の橋渡しをする。

大規模なデータセットを持つディープニューラルネットワークが強力なパターン認識を可能にするのと同様に、大容量モデルを備えたオフラインRL手法は、静的なデータセットから強力な意思決定モデルを完全に学習することができる。
これは、ロボット工学、自動走行、ヘルスケアなど、さまざまな応用分野に大きな影響を与える可能性がある。

オフラインRLは、標準的なオンラインRLのいくつかの主要な制限にも対応している。

まず、オフラインデータを活用することで、RLアルゴリズムはサンプルの複雑さを軽減することができる。オンライン手法では、1つのタスクを学習するために何百万もの時間ステップの経験が必要になるかもしれないが、自動走行、自然言語インターフェース、レコメンダーシステムなどの多くの環境では、すでに豊富なログデータが提供されている。これらのデータは、実務者が解決したいと考えている特定のタスクに対応していないかもしれないが、オフラインRLフレームワークでデータを利用することで、最小限のデータ収集または追加のデータ収集なしで、これらのタスクを解決することができる。

第二に、オフラインRLの設定は、オンラインRLに関連する安全性の懸念の多くを軽減する。ロボット工学や医療診断などの多くの分野では、失敗のコストは受け入れられない。オフラインRLでは、大規模なデータセットを用いてポリシーを事前に学習させることができるため、最初の導入時に許容可能なベースラインレベルの性能を達成することができる。

残念ながら、現在のオフラインRL手法は、大規模なデータセットからの強化学習を可能にするという期待にはまだ応えられていない。

最近の研究では、このような技術的な理由がいくつか検討されているが[37, 7, 18]、これらの問題を解決する上での大きな課題は、現実的な評価ベンチマークがないことである。この分野における最近の研究のほとんどは、標準的なオンラインRL手法の完全または部分的なトレーニングから収集したデータを使用している。しかし、このようなデータセットは、オフラインRLが実際に使用される可能性のあるシナリオを必ずしも代表するものではない。

本研究の主な貢献は、Datasets for Deep Data-Driven Reinforcement Learning (D4RL)の導入であり、オフラインRLの進歩をベンチマークするための一連のタスクとデータセットである。タスクは現実的でありながら実験に適したものであること、タスクとデータセットのセットは、現在のオフラインRLアルゴリズムが苦戦する可能性のあるオフラインRL問題の次元を扱うものであること、という2つの原則に基づいて設計している。

これらの次元には、人間のデモンストレーションからのデータ、学習中のタスクとは異なる複数の異なるタスクのログを受動的に収集したデータ、学習されていない「スクリプト化された」コントローラからのデータなどが含まれる。また、マルコフ型ポリシーでは正確に表現できない行動ポリシーからのデータ（デモンストレーションやステートフルな手動設計のコントローラなど）や、自律走行のような厳しい安全性を考慮したタスクなど、さまざまなタイプのデータ分布を持つタスクを提供している。

最後に，いくつかの最先端のアルゴリズムをベンチマークし［13, 18, 37, 2, 7, 28, 29］，これらのアルゴリズムは，そのアルゴリズムが設計された設定では十分な性能を発揮するものの，手で設計されたコントローラから収集されたデータやマルチタスクの行動などのタスクでは性能が低下することを示した．私たちの研究が，オフラインRL手法の既存の欠点を明らかにし，この新しい分野での進歩を測る重要な指標となることを期待している．


# 2 Related Work

最近提案されたオフラインまたはバッチRLアルゴリズムの評価は、主に、以前に訓練された行動ポリシーによって生成された行動の固定データセットからの学習としてインスタンス化されている。

このエージェントの品質は、初期ポリシーのランダムな振る舞いから、完全に訓練されたポリシーによるエキスパートに近い振る舞いまで様々である。こ

の評価プロトコルは，ロボットの連続制御[7, 18, 37]，ナビゲーション[20]，産業制御[14]，アタリのビデオゲーム[2]などの領域で使用されている．

この方法は、オフラインRLのより伝統的な、ポリシー改善を中心とした目標に向けての進歩を示すのに適切かもしれないが、本研究では主に、RLを大規模なデータセットに拡張するための手段としてオフラインRLを使用することに焦点を当てている。

そのため、これらのベンチマークには、アルゴリズムの性能に悪影響を及ぼす可能性のある、複数のタスクや人間のデモンストレーションによる動作など、大規模で安価に収集されたデータセットに見られる特性が欠けている。Gulcehreら[10]は最近，部分的な観測可能性，メモリ，探索の課題を持つ問題に焦点を当てたオフライン強化学習のベンチマークを提案した．D4RLでは，人間によるデモンストレーション，探索型エージェント，ハンドコーディングされたコントローラなど，より幅広いデータセット生成手順に焦点を当てている．

大規模データセットを用いたオフライン強化学習は，ロボット工学[3]や対話システム[15, 30, 16]など，シミュレータによる評価ができない実世界のシステムでも利用されている．さらに、オフポリシーRLに大規模データセットを取り入れる試みも盛んに行われているが[17, 26, 9]、これらの作品では一般的に多数のロボットを用いて学習時のオンラインインタラクションを収集している。これらは将来の研究のための有望な方向性であると考えているが、本研究の主な目的は、アルゴリズムを開発するための効果的なプラットフォームと、安価で信頼性の高い評価と比較ベンチマークを可能にするシミュレーション環境を提供することである。

# 3 Background 

オフライン強化学習の問題文は、タプル(S, A, P, R, $ρ_0$, γ)で定義されるマルコフ決定過程(MDP)内で形式化されます。
 ここで、Sは状態空間、Aは行動空間、P($s_0$|s,a)は遷移分布、$ρ_0$(s)は初期状態分布、R(s,a)は報酬関数、γ∈(0,1)は割引率を表します。
RLの目標は、期待される累積割引報酬を最大化するPolicy π(a|s)を見つけることです。

$$J(\pi)=E_{\pi, P, \rho_{0}}\left[\sum_{t=0}^{\infty} \gamma^{t} R\left(s_{t}, a_{t}\right)\right]$$

Episodic RLでは、アルゴリズムが選択する任意のπに対するTrajectoryサンプルを介してMDPへのアクセスが与えられる。オフポリシー手法では、experience reply[22]を用いて、これらのTrajectoryを遷移（st, at, st+1, rt）の再生バッファDに格納し、Q-learning[36]などのオフポリシーアルゴリズムを用いてπを最適化することができます。 しかし、これらの手法では、まだ反復的に追加データを収集しており、この収集ステップを省略すると、悪い結果になる可能性があります。例えば、最先端のオフポリシーRLアルゴリズムを、エキスパートポリシーから収集した軌道上で実行すると、Q値が発散することがある[18]。

オフラインRLでは、アルゴリズムはもはやシミュレータにアクセスすることはできず、代わりに教師付き学習のように、トランジションDの固定データセットが提示される。データセットが単一のポリシーから軌道をサンプリングして生成される特殊なケースでは、サンプリングポリシーは行動ポリシーπBと呼ばれます。オフポリシーのRLアルゴリズムは原理的にはオフラインの設定で使用することができるが、前述のように、分布のずれなどの問題により、実際には望ましくないパフォーマンスを引き起こす可能性がある。そのため、オフラインRLのアプローチは、安全なポリシーの改善[33]や、分布シフトの影響を緩和するために正則化器を追加する[37]などの技術に焦点を当てている。オフラインRLアルゴリズムが効果的であるためには、広範な分布の変化に加えて、人間のデモンストレーションや手作業で設計されたコントローラなど、選択されたポリシークラスでは表現できないような型破りな手段で収集されたデータにも対応できなければならない。オフラインRLに影響を与える問題と、利用可能な技術についてのより包括的な議論は、Levineら[21]に記載されています。

# 4 Task Design Factors 

オフラインRLの現実的な応用に向けての進歩を測る意味のあるベンチマークを設計するために、我々は実用的な特性の範囲をカバーするデータセットとタスクを選択した。実際には、利用可能なデータの種類をコントロールすることはできません。そこで、既存のRLアルゴリズムにとって問題となる可能性があり、実世界のデータセットを代表すると思われるいくつかの特性を検討します。

## Undirected and multitask data

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38555/2a463ae0-e44c-092d-6f7b-f1666b66d9a2.png)

インターネット上でのユーザーの行動を記録したり、自律走行のために車の動画を記録したりするなど、データが受動的に記録される場合には、無指向性のデータやマルチタスクのデータが当然発生する。
このようなデータは、必ずしも自分がやろうとしている特定のタスクに向けられたものではないかもしれません。
しかし、このようなデータセットに含まれるTrajectoryの一部は、我々が学ぼうとしている政策にとって有用な情報を提供することができる。
例えば、最適ではないサブトラジェクトリを組み合わせて、ゴールへの最短経路を形成することができるかもしれない。
右上の図では，あるエージェントにデータセットのA-BとB-Cの軌道が与えられた場合（左図），元の軌道の対応する半分を組み合わせることで，A-Cの軌道を形成することができる．エージェントは、データセットの外の一般化に頼るのではなく、タスクを解決するために既存の軌道の一部を使用することができるので、この特性をスティッチングと呼んでいます。
また、評価とは異なる目的や、内発的な動機付けのような目的を最適化する探索的なエージェントが、無指向性のデータを収集することもある。

## Narrow data distributions

決定論的なポリシーから得られるような狭いデータ分布は、オフラインRLアルゴリズムにとって問題であり、経験的にも理論的にも乖離を引き起こす可能性がある[27, 6, 18, 1, 5]。
狭いデータセットは、人間のデモンストレーションや、手作りのポリシーを使用する際に生じる可能性がある。オフラインRLの重要な課題は、アルゴリズムが発散したり、提供された動作よりも悪い性能を出すことなく、多様なデータ分布を優雅に扱えるようにすることである。

## Data generated from a non-RL policy. 

非RLポリシーから生成されたデータ。現実の行動は、学習したポリシーに由来しない場合があり、RLアルゴリズムにとって問題となることがある。例えば、人間のデモンストレーターは、ポリシーでは観測できない外部の手掛かりを利用することがあります。これにより、データセットの生成プロセスが非マルコフ型になり、マルコフ型ポリシーで表現することができなくなる可能性があります。手作業で設計されたコントローラは、学習者のポリシークラスで表現できない可能性があり、学習プロセスにバイアスをもたらします[23]。さらに、重要度サンプリング[31]に依存する手法では、観測された行動の確率を推定することが困難なため、これらの問題が問題となる。

## Suboptimal data. 

最適ではないデータ。目的がはっきりしているタスクでは、データセットに最適なエージェントの行動が含まれていない場合がある。
これは、一般的に専門家のデモンストレーションを必要とする模倣学習のようなアプローチにとっての課題である。一方、オフラインRLでは、最適ではないデータでも改善できる可能性がある。この種のデータは、現在、ディープRLの分野でオフラインRLアルゴリズムをベンチマークするための主要な方法であることに注意が必要である[7, 18, 37]。


上述した特定の分布特性に加えて、ベンチマーク全体でいくつかの設計上の考慮点がある。まず、効率的なシミュレーションが可能な現実的なタスクを提供することに努めた。2つ目は、テストする領域の多様性を確保するために、質的に異なる様々なタスクを含めることである。そのため、運動タスク、自律走行タスク、ロボット操作タスクの3つを用意した。
また、表現の面では、状態に基づいた表現を行うものと、画像に基づいた観察を行う難しいものを用意した。
また、単純なベースラインタスクや現在のアルゴリズムで解決できるタスクから、現在では手の届かない難しい問題まで、幅広い難易度のタスクを用意してる。
最後に、先行研究との比較のために、Fujimotoら[7]、Kumarら[18]、Wuら[37]が使用したOpenAI Gymのロボット運動タスクも掲載している。

# 5 Tasks and Datasets

セクション4で説明した特性を踏まえ、実験のしやすさを考慮して、以下のタスクとデータセットを設計した。すべてのタスクは、トレーニング用の遷移サンプルの大規模なオフラインデータセット（通常106サンプル）と、評価用のシミュレータで構成されている。このマッピングは一対一ではなく、いくつかのタスクでは同じシミュレータを異なるデータセットで使用している。ドメインとデータセットの統計（サイズなど）を表にしたものは付録Aにあります。我々のコードは以下のサイトで公開されています。 https://github.com/rail-berkeley/d4rl

# Maze2D(Non-RL policies, undirected and multitask data) 


![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38555/8f0360c8-0c3b-35b0-6ee1-6ed3ccf4c6a3.png)


Maze2Dドメインは、2Dエージェントが固定されたゴール地点に到達するためのナビゲーションタスクである。
求められるナビゲーションタスクです．
このタスクは、オフラインRLアルゴリズムの能力を簡単にテストできるように設計されています。
タスクは、オフラインRLアルゴリズムが、異なる軌道の一部をつなぎ合わせて タスクは、全体の複雑さと次元数を低く保ちながら、新しいゴールへの最短経路を見つけるために、異なる軌道の部分をつなぎ合わせることができるオフラインRLアルゴリズムの能力を簡単にテストするために設計されています。
迷路のレイアウトは3種類用意されています。右側には「umaze」と「medium」、下には「large」の迷路が表示されています。データは、ゴールの位置をランダムに選択した後、プランナーを用いて ウェイポイントのシーケンスを生成するプランナーを使用しています。
ウェイポイントのシーケンスを生成するプランナーを使用してデータを生成し、それをPDコントローラで追跡します。下の図では 緑の円で表されたウェイポイントが、スタート地点(1)から経路に沿って 左図では、緑色の円で表されたウェイポイントが、ゴール（2）への経路に沿ってスタート地点（1）から計画されています。ウェイポイントまでの距離が閾値に達すると ウェイポイントまでの距離が閾値に達すると、コントローラは内部状態を更新して ゴールまでの経路に沿って次のウェイポイントを追跡します。ゴールに到達すると 到達すると、新たなゴールが選択され(3)、処理が継続されます。
データセットの データセットに含まれる軌道は，付録Bで可視化されている． 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38555/00c737dc-3ad9-036d-bde4-89a869735e29.png)

## AntMaze. (Non-RL policies, undirected and multitask data) 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38555/694fcb5d-bb42-3607-8092-4ea38346bd91.png)

AntMazeドメインは、Maze2Dの2Dボールを、より複雑な8DoFの4足歩行ロボット "Ant "に置き換えたナビゲーション・ドメインです。 このドメインを導入したのは、実世界のロボットのナビゲーションタスクを模倣できるような、より形態学的に複雑なロボットを使ったマルチタスクデータでスティッチング特性をテストするためです。 このデータは、ゴール到達ポリシーを学習し、それをMaze2Dの高レベルウェイポイント生成機能と組み合わせて、エージェントをゴールに導くサブゴールを提供することで生成されます。同じ3つの迷路レイアウトを使用しています。迷路のレイアウトは、「umaze」、「medium」、「large」の3種類です。3種類のデータセットを紹介する。最初のデータセットは、固定されたスタート地点から特定のゴールに到達するようアリに命令するものである（antmaze-umaze-v0）。次に，「多様な」データセットは，ランダムに抽出されたスタート地点から，ランダムに抽出されたゴールに向かうようアリに命令する．最後に，"play "データセット[24]では，手で選んだスタート地点から，迷路内の特定の場所（評価時のゴールとは限らない）に向かうように命令する．Maze2Dと同様、データセットの軌跡は付録Bで視覚化されている。

## Gym-MuJoCo. (Suboptimal agents, narrow data distributions) 

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38555/b6f19e0c-acba-ebf2-1846-1642f009bc19.png)


Gym-MuJoCoタスク（Hopper、HalfCheetah、Walker2d）は、オフラインディープRLの先行研究[7, 18, 37]で使用されている人気の高いベンチマークです。 そこで，標準化されたデータセットを導入し，データセット間でデータを混合することで新しいタスクを提案し，異質なポリシー混合の影響を検証する． "medium"データセットは、最適ではないものを利用して生成されたデータで構成されています。このデータセットは，Soft Actor-Critic [12]を用いてオンラインで政策を学習した後，学習を早期に中止し，この部分的に学習された政策から100万個のサンプルを収集することで生成される．"random"データセットは，これら3つの領域でランダムに初期化されたポリシーを展開することで生成される． "medium-replay"データセットは，ポリシーが「medium」レベルのパフォーマンスに達するまでの間，トレーニング中に観測されたリプレイバッファ内のすべてのサンプルを記録したものである． 

これらの3つのデータセットと同様のものが先行研究で使用されているが，ポリシーの混合物に対するアルゴリズムを評価するために，さらに「中程度の専門家」データセットを導入し，部分的に訓練されたポリシーまたは一様にランダムなポリシーを展開することによって生成された，等量の専門家のデモンストレーションと最適ではないデータを混合することにした．

## Adroit. (Non-RL policies, narrow data distributions, realism)

Adroit領域[32]（左の写真）では，釘を打つ，ドアを開ける，ペンを回す，ボールを拾って動かすなどのタスクを与えられた24DoFの模擬手を制御する．この領域は、高次元のロボット操作タスクに対して、狭い専門家のデータ分布と人間のデモンストレーションの効果を測定するように設計されています。 32]では、オンラインでのRLの微調整と併せて人間のデモンストレーションを利用することを提案していますが、本ベンチマークでは、これらのタスクを完全にオフラインのRL設定で評価するようにしています。タスクごとに3種類のデータセットを用意し、そのうち2種類は原著論文に含まれています。すなわち、人間による少量のデモンストレーションデータ（「ヒューマン」）と、RLポリシーを微調整した大量のエキスパートデータ（「エキスパート」）です。オリジナルのデモンストレーションデータセットにはタスクごとに25個の軌跡しか含まれていないため、人間のデータを真似てポリシーを実行し、デモンストレーションと半々の割合でデータを混合して生成された第3のデータセットも導入しています。混合が行われるのは、クローン化されたポリシー自体ではタスクをうまく完了できず、それ以外のデータセットでは学習が難しいためです。Adroitドメインは、Gym MuJoCoタスクとは質的に異なるいくつかのユニークな特性を持っています。第一に、データは人間のデモンストレーターから現実世界で収集されています。第二に、各タスクはオンラインRLで解決することが困難である。これは、報酬が希薄であることと、探索の課題があるためで、クローニングやオンラインRLだけでは不十分である。最後に、これらの課題は高次元であり、表現学習の課題となっています。

## FrankaKitchen. (Undirected and multitask data, realism)

![D33954FA-E7AC-4A88-AC37-ADE94AB6E721.jpeg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/38555/276b1ce4-a9b0-925f-b7d7-9c0289676b4c.jpeg)


フランカ・キッチン・ドメインは、Guptaら[11]によって最初に提案されたドメインで、9DoFのフランカロボットを、以下のような一般的な家庭用品が置かれたキッチン環境で制御するというものです。
電子レンジ、ケトル、オーバーヘッドライト、キャビネット、オーブン。

各タスクの目標は、目的のゴール設定に到達するためにアイテムを操作することです。

例えば、電子レンジやキャビネットの引き戸を開けた状態で、上段のバーナーにやかんをかけ、オーバーヘッドライトを点灯させている状態もその一つです。
この分野では、現実的な非ナビゲーション環境におけるマルチタスク動作の効果をベンチマークします。この環境では、軌道が状態空間を通る単純なパスにあまり制約されないため、「スティッチング」特性が明らかではありません。つまり、アルゴリズムは、学習時に見た軌跡だけに頼るのではなく、タスクを解決するために、見たことのない状態に対してある程度の一般化を行う必要があるということです。

「stitching 縫合」と「generalization 一般化」の効果を調べるために，難易度の高い順に「complete」「partial」「mixed」の3つのデータセットを導入する．completeデータセットは、ロボットが望ましいタスクをすべて順番に実行しているデータである。これは、模倣学習法が解決しやすいデータを提供する。partial とmixed のデータセットは、ロボットが必ずしもゴールの構成に関連しないサブタスクを実行するという、無方向のデータからなる。partial データセットでは，データセットのサブセットがタスクを解決することが保証されている．つまり，模倣学習エージェントは，データの正しいサブセットを選択的に選ぶことで学習することができる．Mixed データセットでは、タスクを完全に解決する軌道が含まれていないため、RLエージェントは関連するサブ軌道を組み立てることを学習しなければならない。このデータセットを成功させるためには、最も高度な一般化が必要である。

## Flow. (Non-RL policies, realism) 

Flowベンチマーク[35]は，深層強化学習を用いた交通制御を研究するためのフレームワークです．ここでは，環状道路や合流道路を通過する交通量を最大化するように自律走行車を制御する，Flowベンチマークの2つのタスクを使用しています（左図）．

実世界のトラフィック・ダイナミクスをシミュレートするタスクを提供するために、Flowドメインを使用しています。
自律走行の大きな課題は、人間の行動から直接学ぶことができることです。

そのため，人間の運転行動を手作業でモデル化したIDM（Intelligent Driver Model）[34]によって制御されるエージェントからの「人間」のデータも含まれています．
また、より多くのデータを参考にするため、以下のようなエージェントから生成された「ランダム」なデータも含まれています。
は、ランダムな車両の加速度をコマンドします。

## Offline CARLA. (Non-RL policies, undirected and multitask data, real- ism) 

CARLA [4]は、エージェントが車のスロットル（アクセル）、ステアリング、ブレーキペダルを操作し、ドライバーの視点からの48x48 RGBの画像をオブジェクトとして受け取ることができる、高忠実度の自律走行シミュレータです。オフラインRLでは、8の字型の道を走る車線追従タスク（右図、上）と、小さな街を走るナビゲーションタスク（下）の2つのタスクを提案しています。CARLAドメインの主な課題は、すべての観測結果が一人称のRGB画像として提供されるため、視覚的な複雑さです。

車線追従タスクでは、車を避け、車線の境界線内に車を維持するために単純なヒューリスティクスを使用していますが、ナビゲーションタスクでは、交差点でランダムに交代する高レベルのコントローラを上に重ねています。このデータセットは、Maze2DやAntMazeと同様に、方向性のないナビゲーションデータで構成されており、より知覚的に困難な領域を除いて、「スティッチング」特性を検証しています。