probcomp/Gen.jl
A general-purpose probabilistic programming system with programmable inference
What it solves
Gen.jl은 확률 프로그래밍을 위한 범용 시스템을 제공하여 사용자가 생성 모델을 정의하고 복잡한 베이지안 추론을을 수행할 수 있게 합니다. 추론 알고리즘을 "프로그래밍 가능"하게 만듦으로써 고급 추론 알고리즘 구현 프로세스를 단순화합니다. 즉, 사용자는 모든 새로운 모델에 대해 수학적 유도를 수동으로 할 필요 없이 추론 프로세스의 기저저의 수학적 논리와 논리를 커스터마이징할 수 있습니다.
How it works
Julia 언어에 내장된 Gen.jl은 사용자가 표현력이 풍부한 모델링 언어를 사용하여 확률 프로그램을 작성할 수 있게 합니다. SMC (Sequential Monte Carlo), variational inference, MCMC (Markov Chain Monte Carlo)를 포함한 광범위한 베이지안 추론 방법을 지원합니다. 또한 파라미터 최적화 및 wake-sleep learning을 통해 생성 모델의 경사도 기반 학습을 것을 가능하게 하며, SMCP³를 통한 involutive MCMC 및 베이지안 구조 학습을 지원합니다.
Who it's for
이 도구는 확률 모델, 베이지안 통계, 생성형 AI를 연구하는 연구자 및 개발자, 특히 추론 알고리즘을 커스터마이징하거나 복잡한 생성 모델을 구현해야 하는 사용자들을 위해 설계되었습니다.
Highlights
- Programmable Inference: 프로그래밍 가능한 추론: 커스텀 proposals, variational families, MCMC kernels를 작성할 수 있는 능력.
- Multi-paradigm Support: 다중 패러다임 지원: SMC, variational inference, MCMC를 포함합니다.
- Gradient-based Training: 경사도 기반 학습: 생성 모델의 파라미터 최적화 및 wake-sleep learning을 지원합니다.
- Incremental Computation: 경가계산(Incremental Computation) 증분분석을 가속화하기 위한 특약화된 모델링 구성 요소.
- Extensible API: 확장 가능한 API: 커스텀 생성 모델, 분포, 그래디언트를 생성하기 위한 잘 정의된 API.