alexhernandezgarcia/gflownet
Generative Flow Networks - GFlowNet
何を解決するか
このライブラリは、生成的フローネット(GFlowNets)の訓練と拡張のためのフレームワークを提供します。GFlowNetsは、報酬関数に比例して多様なオブジェクトをサンプリングするように設計されています。これは、タンパク質、分子、結晶の逆設計など、単一の最適解ではなく複数の高報酬解を見つけることを目的とする科学的発見の問題において特に有用です。
動作方法
GFlowNetsは合成性の原則を使用し、複雑なオブジェクトの生成を中間状態のシーケンスに分解します。このライブラリは以下の4つのコアコンポーネントで実装されています:
- Environment: 状態空間と行動空間を定義します(例:テトリス盤やスクラッチの単語)。
- Proxy: 与えられた状態に対する報酬を提供する関数またはモデル(例:単語価値のスコアラー、分子エネルギーを予測する事前学習済みモデル)。
- Policy Models: 状態間の前向きおよび後向き遷移をモデル化するニューラルネットワーク(通常はMLP)。
- GFlowNet Agent: 環境、ポリシー、プロキシとの相互作用を管理し、さまざまな損失関数を使用してポリシーを最適化する中心的なオーガナイザー。
対象ユーザー
確率的生成モデル、特に科学的発見、材料科学、分子設計に注力する研究者および開発者。
特徴
- 複数の最適化目的: Flow-matching (FM)、Trajectory Balance (TB)、Detailed Balance (DB)、Forward-looking (FL) の損失関数をサポート。
- 拡張可能なアーキテクチャ: カスタム環境や報酬プロキシの実装が容易に設計されています。
- PyTorch統合: PyTorch上で構築され、Weights & Biasesによる実験追跡と統合されています。
- 科学的応用支援: 材料および分子モデリング用の特定の依存関係(例:Crystal-GFN)を含んでいます。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト