alexhernandezgarcia/gflownet
Generative Flow Networks - GFlowNet
해결하는 문제
이 라이브러리는 생성형 흐름 네트워크(GFlowNets)를 훈련하고 확장하기 위한 프레임워크를 제공합니다. GFlowNets는 보상 함수에 비례하여 다양한 객체를 샘플링하도록 설계되었습니다. 이는 단일 최적 해가 아닌 여러 개의 고보상 해를 찾는 것을 목표로 하는 과학적 발견 문제(예: 단백질, 분자, 결정의 역설계)에 특히 유용합니다.
작동 방식
GFlowNets는 복합 객체의 생성을 중간 상태의 시퀀스로 분해하는 합성성 원리를 사용합니다. 이 라이브러리는 다음 네 가지 핵심 구성 요소로 이를 구현합니다:
- 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)을 포함합니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트