alexhernandezgarcia/gflownet

Generative Flow Networks - GFlowNet

解決的問題

此套件提供一個訓練與擴展生成流網路(GFlowNets)的框架,GFlowNets 設計用於根據獎勵函數成比例地採樣多樣化的物件。這在科學發現問題中特別有用——例如蛋白質、分子或晶體的逆向設計,其目標是找到多個高獎勵解,而非單一最佳解。

工作原理

GFlowNets 使用組合性原則,將複雜物件的生成分解為一系列中間狀態。該套件透過四個核心元件實現此功能:

  • Environment:定義狀態與動作空間(例如,一個俄羅斯方塊棋盤或一個拼字遊戲單字)。
  • Proxy:提供給定狀態獎勵的函數或模型(例如,單字價值評分器或預訓練模型預測分子能量)。
  • Policy Models:神經網路(通常是MLP),用於建模狀態之間的前向與後向轉移。
  • GFlowNet Agent:中心協調者,管理環境、策略與代理之間的互動,並使用各種損失函數優化策略。

適用對象

從事機率生成建模的研究人員與開發者,特別是專注於科學發現、材料科學與分子設計的群體。

主要特色

  • 多種優化目標:支援流匹配(FM)、軌跡平衡(TB)、詳細平衡(DB)與前瞻(FL)損失函數。
  • 可擴展架構:設計為便於實作自訂環境與獎勵代理。
  • PyTorch 整合:基於 PyTorch 建構,並與 Weights & Biases 整合以進行實驗追蹤。
  • 科學應用支援:包含材料與分子建模的特定相依性(例如,Crystal-GFN)。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案