見出し画像

強化学習における汎化の定量化

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

Quantifying Generalization in Reinforcement Learning

1. はじめに

CoinRun」をリリースします。これは、エージェントの経験を新しい状況に移す能力の指標を提供する訓練環境であり、強化学習における長年のパズルの明確化に役立ちます。「CoinRun」は、複雑さにおいて望ましいバランスを取ります。環境は、「ソニック・ザ・ヘッジホッグ」のような従来のゲームよりもシンプルですが、最先端のアルゴリズムの価値ある汎化の課題をもたらします。

画像1

2. 汎化の課題

最先端の深層強化学習(RL)アルゴリズムでは、タスク間の汎化は依然として困難です。訓練を受けたエージェントは複雑なタスクを解決できますが、経験を新しい環境に移すのに苦労します。RLエージェントは汎化されたスキルを習得するよりも、環境の詳細を把握しすぎる傾向があることを人々は知っていますが、RLエージェントは、訓練を受けた環境で評価することでベンチマークされます。これは、教師あり学習の訓練セットでテストするようなものです。

以前の研究では、この問題に対処するために、「ソニックベンチマーク」「procedurally generated gridworld mazes」「General Video Game AIフレームワーク」を使用しました。すべての場合において、汎化は、異なるレベルのセットでエージェントを訓練およびテストすることにより測定されます。「ソニックベンチマーク」で訓練を受けたエージェントは、訓練レベルでは優れていましたが、テストレベルでは微調整なしでパフォーマンスが低下していました。同様のオーバーフィッティングの表示では、手順で生成された迷路で訓練されたエージェントが多数の訓練レベルを記憶することを学び、GVG-AIエージェントは訓練中に見られなかった難易度設定でパフォーマンスが低下しました。

3. ゲームのルール

「CoinRun」は、既存のアルゴリズムを扱いやすく設計されており、「ソニック」のようなプラットフォーマーゲームのスタイルを模倣しています。「CoinRun」のレベルはプロシージャルに生成され(手動ではなくアルゴリズムでレベルを作成)、エージェントが訓練データの大量かつ容易に定量化可能な供給にアクセスできるようにします。

各「CoinRun」レベルの目標は簡単です。レベルの最後にある1つのコインを収集します。エージェントとコインの間にいくつかの障害物があり、静止している場合と静止していない場合があります。障害物との衝突により、エージェントは即座に死亡します。環境内での唯一の報酬はコインを収集することで得られ、この報酬は固定された正の定数です。エージェントが死亡したとき、コインが収集されたとき、または1000ステップ後にレベルが終了します。

「CoinRun」の各レベルには1〜3の難易度設定があります。以下は、Difficulty-1(左)およびDifficulty-3(右)になります。

画像2

4. 汎化の評価

「CoinRun」をプレイするために9人のエージェントを訓練しました。各エージェントは、利用可能な訓練レベルの数が異なります。最初の8人のエージェントは、100〜16,000レベルの範囲で訓練しました。最終エージェントを無制限のレベルのセットで訓練したため、このエージェントは同じレベルを2度と見ることはありません。「Nature-CNN」と呼ばれる共通の 3層畳み込みアーキテクチャを使用して、エージェントをポリシーで訓練しました。エージェントは、合計256Mステップで「PPO」で訓練しました。イプシロードは平均で100タイムステップ続くため、固定訓練セットを持つエージェントは、各訓練レベルを数千から数百万回表示します。無制限のセットで訓練された最終エージェントには、約200万の異なるレベルが表示されます。各レベルは1回だけです。

10,000エピソードにわたる最終エージェントのパフォーマンスを平均することにより、次のグラフの各データポイントを収集しました。テスト時に、エージェントはこれまでにないレベルで評価されます。訓練レベルが4,000未満の場合、かなりの過剰適合が発生することがわかりました。実際、16,000オーバーフィットが見られます。当然のことながら、これらのエージェントはほとんどのデータにアクセスできるため、無制限のレベルセットで訓練されたエージェントが最高のパフォーマンスを発揮しました。これらのエージェントは、次のグラフで点線で表されています。

「Nature-CNN」のBaselinesをIMPALAで使用されている畳み込みアーキテクチャと比較したところ、「IMPALA-CNN」エージェントははるかに汎化されたことがわかりました。

画像3

5. 汎化パフォーマンスの改善

次の実験では、500レベルの固定訓練セットを使用しました。弊社のBaselinesエージェントは、非常に少ないレベルで汎化するのに苦労しており、これがベンチマークの理想的な訓練セットになっています。テスト時間のパフォーマンスを直接比較し、同じ500レベルで訓練することにより、他の人が独自の方法を評価することをお勧めします。この訓練セットを使用して、いくつかの正則化手法の影響を調査しました。

ドロップアウトとL2正則化:両方とも一般化のギャップを著しく減少させますが、L2正則化はより大きな影響を及ぼします。
データ拡張(カットアウトの変更)およびバッチ正規化:データ拡張とバッチ正規化の両方により、一般化が大幅に改善されます。
環境確率論:確率論を用いた訓練は、前述の手法のどれよりも一般化を大幅に改善します(詳細については論文を参照してください)

6. 追加の環境

オーバーフィッティングを調査するために、「CoinRun-Platforms」と呼ばれるCoinRunバリアントと「RandomMazes」と呼ばれるシンプルな迷路ナビゲーション環境の2つの追加環境も開発しました。これらの実験では、元の「IMPALA-CNN」アーキテクチャに続いて「LSTM」を使用しました。これは、これらの環境でパフォーマンスを向上させるためにメモリが必要だからです。

画像4

「CoinRun-Platforms」には、1000ステップの制限時間内にエージェントが収集しようとするコインがいくつかあります。コインはレベル内のプラットフォーム全体にランダムに散らばっています。レベルは「CoinRun-Platforms」のより大きな固定サイズであるため、エージェントはより積極的に探索する必要があり、場合によってはそのステップをたどります。

画像5

Baselines実験で「CoinRun-Platforms」と「RandomMazes」の両方を実行した場合、エージェントはすべての場合に過剰適合します。20,000の訓練レベルを使用しても、かなりの汎化ギャップが残るため、「RandomMaze」の場合に特に強いオーバーフィッティングが観察されます。

7. 次のステップ

私たちの結果は、RLの一般化の根底にある課題への洞察を提供します。手続き的に生成されたCoinRun環境を使用して、このような過剰適合を正確に定量化できます。このメトリックにより、重要なアーキテクチャおよびアルゴリズムの決定をより適切に評価できます。この環境から学んだ教訓は、より複雑な設定に適用されると信じており、より一般的なエージェントに向けて反復するために、このベンチマークなどを使用したいと考えています。

今後の研究のために以下を提案します。

・環境の複雑さと、適切な汎化に必要なレベルの数との関係を調査する
・これらの環境で汎化するのに異なるリカレントアーキテクチャがより適しているかどうかを調査する
・さまざまな正則化方法を効果的に組み合わせる方法を探る


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