このプロジェクトについて

decisionrlは、価格設定、在庫管理、エネルギー配分、待ち行列受付、サプライチェーン最適化などの運用上の意思決定問題に特化して設計された強化学習ライブラリです。ゲームやロボティクスを対象とした汎用RLフレームワークとは異なり、decisionrlは各応用問題を第一級の環境として提供し、古典的なオペレーションズ・リサーチのベースラインを併設することで、学習済みポリシーを標準手法と比較して評価でき、単に優れていると主張するだけではありません。 このライブラリは、表形式手法(Q-Learning、SARSA、Expected SARSA、Dyna-Q)、価値ベースの深層RL(DQN、Rainbow、C51、QR-DQN)、アクター・クリティック手法(PPO、A2C、TRPO、GRPO、IMPALA、Recurrent PPO)、連続制御(DDPG、TD3、SAC、SACDiscrete)、オフラインRL(TD3+BC、IQL、CQL、Decision Transformer)、モデルベース手法(MBPO、Dreamer、DreamerRSSM)、目標条件付き学習(HER+DQN)、模倣学習(Diffusion Policy)にわたる31のアルゴリズムを提供します。すべてのエージェントは、表形式か深層か、離散か連続か、オン・ポリシーかオフ・ポリシーかに関わらず、統一されたpredict/learn/save/loadインターフェースを公開します。 コアは依存関係が軽量です。環境、古典的ベースライン、ソルバーは純粋なNumPyで実装され、PyTorchはアルゴリズムのトレーニングにのみ必要なオプションの追加機能です。組み込み環境にはGridWorld、CartPole、Pendulum、PointMass、banditsが含まれ、追加インストールなしでエンドツーエンドのトレーニングが可能です。Gymnasium環境はオプションの追加機能として利用できます。 応用環境は、需要が変動する非定常在庫、2段階サプライチェーン、待ち行列受付制御、エネルギーマイクログリッドのバッテリー管理、サーモスタット/HVAC制御、定常在庫、動的価格設定、価格設定と在庫の統合をカバーしています。各環境には、探索によって見つかった最良の固定ルール古典的ベースラインが含まれており、単純なデフォルトではありません。結果は、学習済みポリシーが非定常タスクで古典的ベースラインを上回ることを示しています(例:変動在庫で約16%改善、エネルギーマイクログリッドで20%改善、サプライチェーンコスト削減で15%改善)。定常タスクでは、正確な動的計画法の最適値に一致します。ケーススタディでは、1959年から2009年までの米国の実消費データを四半期ごとに在庫環境に適用し、学習済みポリシーが最良の固定ベースストックを改善することを示しています。これは、実際の需要にトレンドがあり、単一の注文上限レベルがすべての時代に適合するわけではないためです。 このライブラリには、価格設定やレコメンデーションなどの一回限りの意思決定のための文脈的バンディット(LinUCB、線形トンプソンサンプリング、イプシロン・グリーディ)、制御タスクと文字レベルGPTでのRLHFとDPO、模倣学習(BC、DAgger、GAIL)、好奇心駆動型探索(RND、ICM)、勾配なし最適化(ask/tellインターフェースを備えた12の進化・群知能手法とNeuroevolutionAgent)、二人零和完全情報ゲームのためのMCTSと自己対戦を備えたAlphaZero、タスク分布にわたるオンライン適応のためのメタRL(RL²)、IPPOによるマルチエージェント自己対戦、中央のV-trace学習器に供給する分散IMPALAスタイルのアクター、ONNXおよびTorchScriptエクスポートとtorchフリーのFastAPIサービングコンテナも含まれています。 コマンドラインインターフェースは、トレーニング、評価、ライブダッシュボードの可視化をサポートします。実験はYAMLまたはJSONで宣言でき、decisionrl runまたはdecisionrl.config.runで実行できます。再現性は、Python、NumPy、PyTorchにわたるシード可能なRNGによって保証され、400以上のテストからなるテストスイートが、コンポーネントの正確性(スペース、バッファ、サムツリー、スケジュール、GAE、正規化、保存/ロードのラウンドトリップ)と学習動作(表形式手法が最適なGridWorldポリシーに到達、DQNとPPOがCartPoleを学習、SAC、TD3、DDPGがPointMassタスクを解決)をカバーしています。スケジュールされたCIワークフローは、毎晩マルチシードの応用検証を再実行し、報告された結果がベースラインを下回った場合に失敗します。 このプロジェクトはMITライセンスで提供され、CleanRL、Stable-Baselines3、Tianshou、Farama FoundationのGymnasiumインターフェースから設計の着想を得ています。