ReactiveBayes/RxInfer.jl
Julia package for automated Bayesian inference on a factor graph with reactive message passing
RxInfer.jl – Julia용 반응형 베이지안 추론
무엇인가요 – RxInfer.jl는 확률 모델을 인자 그래프로 변환하고 반응형 메시지 전달 알고리즘을 실행함으로써 자동 베이지안 추론을 수행하는 Julia 패키지입니다. ReactiveMP.jl 추론 엔진과 GraphPPL.jl 모델 정의 DSL 위에 구축되어 있습니다.
왜 중요한가요 – 공액 사전-우도 쌍을 활용함으로써 RxInfer는 해석적으로 정확한 사후 분포를 계산할 수 있어, Turing.jl의 HMC와 같은 일반적 샘플러보다 많은 모델에서 더 빠르고, 메모리 효율적이며, 더 정확한 결과를 제공합니다. 비공액 추론도 지원하며 대규모 실시간 작업에 확장 가능합니다.
주요 기능
- 인자 그래프 컴파일:
@model마크로(GraphPPL에서 유래)는 일반적인 Julia 코드를 인자 그래프 표현으로 변환합니다. - 반응형 메시지 전달: 새로운 데이터에 자동으로 반응하는 국소 업데이트를 통해 실시간 또는 스트리밍 시나리오를 가능하게 합니다.
- 공액 인식 최적화: 가능한 한 해석적 업데이트를 사용하여 추론 속도를 극적으로 향상시킵니다.
- 하이브리드 추론: 비공액 부분은 변분/메시지 전달 방법으로 처리되며, 지원되는 모델 클래스는 지속적으로 확장되고 있습니다.
- 벤치마크 및 정확도: 리포지토리에는 Turing.jl과 비교해 선형 가우시안 상태공간 모델에서 우수한 속도/정확도를 보여주는 벤치마크 스크립트가 포함되어 있습니다.
- 서버 모드:
RxInferServer는 모델을 RESTful API로 노출할 수 있으며, 공식 Python, TypeScript, Julia SDK를 통해 원격 추론이 가능합니다. - 테레메트리 및 선택적 세션 공유: 익명 사용 메트릭은 개발을 안내하며, 공유 기능은 켜고 끌 수 있습니다.
일반적인 사용 사례
- 실시간 파라미터 추정(예: 센서 융합, 제어 시스템).
- 상태공간 모델 또는 자기회귀 모델을 사용한 시계열 예측.
- 은닉 마르코프 모델, 베이지안 선형 회귀 및 정확한 업데이트가 바람직한 기타 공액 모델.
RxInferServer를 통해 베이지안 모델을 마이크로서비스로 배포.
설치
] add RxInfer # Julia 패키지 매니저
설치를 확인하려면 ] test RxInfer를 실행하세요.
빠른 예제 – 편향된 동전 추정
using RxInfer, Random
# 시뮬레이션 데이터
n = 500; p = 0.75
y = rand(Bernoulli(p), n)
# 모델 정의 (GraphPPL 구문)
@model function coin_model(y, a, b)
θ ~ Beta(a, b) # 사전 분포
y .~ Bernoulli(θ) # 각 관측값의 우도
end
# 추론 실행 (정적 데이터)
result = infer(
model = coin_model(a = 2.0, b = 7.0),
data = (y = y, )
)
println(result) # θ에 대한 사후 분포
infer 호출은 자동으로 인자 그래프를 구축하고 Beta-Bernoulli 공액성을 인식하여 정확한 사후 분포인 Beta 분포를 반환합니다.
에코시스템 및 관련 패키지
ReactiveMP.jl– 핵심 메시지 전달 엔진.GraphPPL.jl– 모델 정의를 위한 DSL.ExponentialFamily.jl– 추론 알고리즘에서 사용되는 지수족 분포 정의.Rocket.jl– RxInfer의 "반응형" 측면을 구동하는 반응형 확장.
문서 및 학습 리소스
- 공식 문서: https://docs.rxinfer.com (안정판 및 개발판).
- 예제 리포지토리: https://examples.rxinfer.com (HMM, 시간 변화 AR, 판매 예측 등 고급 모델 포함).
- 논문: JOSS 논문, 박사 학위 논문, README에 기재된 여러 arXiv/DOI 참조.
- 커뮤니티: 토론, Q&A, 공개 회의, NumFocus 소속.
라이선스 – MIT License (© 2021–2024 BIASlab, 2024–현재 ReactiveBayes)
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트