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

OpenAIはCoinRunをリリースしました。これは、エージェントが経験を新しい状況に汎化する能力を正確に測定するために設計されたトレーニング環境です。この環境は、エージェントがトレーニング環境の具体的な詳細に過度に適合し、汎用的なスキルを学習しないという、強化学習(RL)における長年の課題に対処します。

RLにおける汎化の課題

深層強化学習アルゴリズムは、経験を新しい環境に転移させることにしばしば苦労します。エージェントは複雑なタスクを解決できるものの、特定の環境の詳細に固執して過度に適合してしまうことが頻繁にあります。この問題は、RLエージェントがしばしば訓練されたのと同じ環境でベンチマークされるという、より広範なパターンの一部であり、研究者はこれを教師あり学習における訓練セットでのテストに例えています。

Sonicベンチマーク、手続き的に生成されたグリッドワールド迷路、General Video Game AIフレームワークを用いた以前の試みでも、同様の過適合パターンが見られました。例えば、Sonicベンチマークで訓練されたエージェントは訓練レベルでは良好な性能を示すものの、微調整なしではテストレベルでの性能が低下しました。

CoinRun環境

CoinRunは、Sonic the Hedgehogのような複雑なゲームに比べて扱いやすく、かつ依然として重要な汎化課題を提供するよう設計された、手続き的に生成されるプラットフォーマー環境です。

ルールと目的

  • Goal: エージェントはレベルの最後にある1つのコインを収集しなければなりません。
  • Obstacles: レベルには固定型と可変型の障害物があり、いずれかに衝突すると即座に死亡します。
  • Reward Structure: コインを収集したときにのみ、固定された正の定数報酬が与えられます。
  • Termination: エージェントが死亡するか、コインを収集するか、1,000ステップに達した時にエピソードは終了します。

汎化性能の評価

OpenAIは、Proximal Policy Optimization(PPO)を用いて2億5,600万ステップで9つのエージェントを評価しました。8つのエージェントは100から16,000までの固定レベルセットで訓練され、1つのエージェントは同じレベルに二度と遭遇しない無制限のレベルセットで訓練されました。

過適合に関する主な発見

  • Data Volume: 訓練レベルが4,000未満の場合、顕著な過適合が発生します。16,000レベルでも過適合は残ります。
  • Optimal Performance: 無制限のレベルセットで訓練されたエージェントが最も高い性能を示しました。これは約200万の異なるレベルという最大のデータにアクセスできたためです。
  • Architecture Impact: IMPALA-CNNアーキテクチャを使用したエージェントは、Nature-CNNベースラインを使用したエージェントに比べ、すべての訓練セットサイズで大幅に優れた汎化を示しました。

汎化改善のための手法

500レベルの固定訓練セットを使用し、OpenAIは汎化ギャップを縮小するためのいくつかの正則化手法を調査しました:

  • Environmental Stochasticity: この手法は、テストされた他のどの手法よりも汎化を大幅に改善しました。
  • Data Augmentation and Batch Normalization: 両方とも汎化性能を大幅に向上させました。
  • L2 Regularization and Dropout: 両方とも汎化ギャップを減少させ、L2正則化の方がより大きな影響を与えました。

拡張: CoinRun-Platforms と RandomMazes

過適合をさらに調査するため、OpenAIは2つの追加環境を開発しました:

  • CoinRun-Platforms: エージェントがより大きな固定サイズのレベル内のプラットフォームに散らばった複数のコインを収集しなければならないバリアントで、より積極的な探索と記憶が必要です。
  • RandomMazes: シンプルな迷路ナビゲーション環境です。

両方の場合でエージェントは強く過適合しました。RandomMazesでは、20,000レベルで訓練したにもかかわらず大きな汎化ギャップが残り、記憶のためにIMPALA-CNNアーキテクチャに続くLSTMの使用が必要となりました。

今後の研究課題

OpenAIは、RLの汎化を改善するための今後の研究の主要な3つの領域を提案しています:

  1. 環境の複雑さと効果的な汎化に必要なレベル数との関係を調査すること。
  2. 異なるリカレントアーキテクチャが汎化により適しているかどうかを判断すること。
  3. 異なる正則化手法を組み合わせる最も効果的な方法を探ること。

Sources