見出し画像

【論文紹介】Meta社の強化学習Agentフレームワーク「Pearl」

meta社が強化学習Agentの実用向けのフレームワーク「Pearl」を公開していました。論文も投稿されていたので概要をまとめてみました。なお、私の理解不足も多々ありますので、詳細は論文本文ほかをご確認ください。


Pearlの概要

「Pearl」は、エージェントが環境との相互作用を通じて最適な行動方針を学習する強化学習において、実世界の複雑な環境での効率的な学習、安全性の確保、そして動的な状況への適応能力を備えることを目標に開発されており、以下の特徴があります。

  • 実用的なRL問題に対処するために設計された、モジュール式のオープンソースソフトウェアパッケージ

  • オフライン学習、オンライン学習、安全学習、履歴の要約、リプレイバッファなど、多様な機能のモジュールが統合

Pearl Agentの構成

  • PearlAgentは、強化学習(RL)エージェントの設計におけるモジュール式のアプローチを採用しています。このエージェントは、以下の五つの主要なモジュールから構成されています。

  • 学習エポックにおいて、新しい環境との相互作用を取得するフェーズと訓練フェーズを交互に行うことで、エージェントは継続的な学習と環境との相互作用の中で方策を適応的に更新します。

Pearl Agent の各モジュールの関係

Policy Learner(ポリシー学習モジュール)

  • エージェントの行動方針を学習するためのモジュール

  • 価値ベースのアルゴリズムとして、Deep Q-learning (DQN) , Double DQN , Dueling DQN (Wang et al., 2016), Deep SARSA, Bootstrapped DQN をサポート

  • Actor-Critic系のアルゴリズムとして、Soft Actor-Critic (SAC), Deep Deterministic Policy Gradient (DDPG) , Twin-delayed Deep Deterministic Policy Gradient (TD3), Proximal Policy Optimization (PPO), Policy Gradient (REINFORCE) をサポート

  • Offline methodsとして、Conservative Q-learning (CQL)、Implicit Q-learning (IQL)をサポート

  • Distributional RLとして、 Quantile Regression DQN (QRDQN)をサポート

Exploration Module(探索モジュール)

  • エージェントが未知の状況や行動を探索するためのモジュール

  • ランダム探索(ϵ-greedy、ガウス探索、ボルツマン探索)

  • 事後サンプリングによる探索(アンサンブルサンプリング、リニア・トンプソンサンプリング)

History Summarization Module(履歴要約モジュール)

  • 過去の経験や行動の履歴を要約し、現在の決定に活用するためのモジュール

  • 現在の実装では、PearlAgentのhistory_summarization_moduleは、単純な履歴の積み重ね(naive history stacking)と長短期記憶(LSTM)に基づいたアプローチをサポート

  • 環境との相互作用の履歴の追加

  • トレーニング中の履歴遷移のサンプリング

Safety Module(安全モジュール)

  • ポリシー学習モジュール(policy_learner)および探索モジュール(exploration_module)と相互作用して、エージェントの行動が安全基準や制約を満たすようにするためのモジュール

  • エージェント設計者は、各ステップで状態依存の安全なアクションスペースのみを選択するためのヒューリスティックや環境制約を指定できる

  • 報酬制約ポリシー最適化(RCPO)をこの安全モジュールで使用しており、これは異なるポリシー最適化アルゴリズムに適用可能であり報酬に依存しない

Replay Buffer(リプレイバッファ)

  • 過去の経験を保存し、学習に再利用するためのモジュール

    • FIFOOffPolicyReplayBuffer: FIFOキュー(最初に入ったものが最初に出る)に基づいて、オフポリシー設定のための相互作用のタプルを保存。

    • FIFOOnPolicyReplayBuffer: オンポリシー設定のための拡張版。

    • BootstrapReplayBuffer: ブートストラップマスク。

    • HindsightExperienceReplayBuffer: 目標置換を用いたもの。

産業分野でのPearlの実用例

論文では以下3件の実用例が例示されています。

  • Auction-Based Recommender System (Auction RecSys): オークションベースのレコメンデーションシステム

  • Ads Auction Bidding: 広告のリアルタイム入札の意思決定システム。入札エージェントが、予算を特定の期間に効率的に割り当て、広告主のコンバージョンを最大化する。

  • Creative Selection: ユーザーの好みに合ったクリエイティブ選択を最小限の相互作用でオンライン学習するシステム。

APIドキュメント・デモ

Colabデモ

https://github.com/PearlAgent/pearl_neurips_demo/blob/main/demo.ipynb

まとめ・感想

  • PearlAgentの最大の特徴はそのモジュール性だと思います。従来の強化学習ライブラリでは、特定の問題設定に特化した構成が一般的でした。しかし、PearlAgentは、さまざまなコンポーネントを柔軟に組み合わせることでユーザーは自分の特定のニーズに合わせてエージェントをカスタマイズできるようです。

  • また、リプレイバッファの使用など、オフポリシー学習に特有の技術がオンポリシー設定でも利用できるなど、既存の強化学習エージェントよりも幅広い問題に対して柔軟な実装ができそうです。

  • 最近、RL関係のフレームワークの開発が以前よりも若干下火になっていた印象もありましたが、手軽に安全性も担保できるRLエージェントが作れる実用的なフレームワークの発表はうれしいです。今回のmeta社のPearlの発表で、RL分野の実用分野での研究が活発化する気がします。楽しみですね。

最後までお読みいただきありがとうございました。







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