probability: 딥 네트워크 통합을 통한 확률적 추론 및 통계 분석을 위한 라이브러리

probability: 딥 네트워크 통합을 통한 확률적 추론 및 통계 분석을 위한 라이브러리

해결하는 문제

확률적 추론 및 통계 분석을 위한 프레임워크를 제공하여 개발자가 확률적 방법론을 딥러닝 네트워크와 통합할 수 있도록 합니다. 하드웨어 가속(GPUs) 및 분산 컴퓨팅을 활용하여 대규모의 복잡한 통계 계산 및 추론을 수행하는 과제를 해결합니다.

작동 방식

라이브러리는 계층적 아키텍처로 구성됩니다:

  • Layer 0 (Numerical Operations): TensorFlow의 수치 연산을 활용하며, 특히 효율적인 matrix-free 구현을 위해 LinearOperator 클래스를 사용합니다.
  • Layer 1 (Statistical Building Blocks): 방대한 확률 분포(tfp.distributions) 컬렉션과 Bijectors(tfp.bijectors)라고 불리는 확률 변수의 가역적 변환을 제공합니다.
  • Layer 2 (Model Building): 상호 의존적인 변수들에 대한 결합 분포(joint distributions)와 불확실성을 포함하는 확률적 신경망 레이어를 생성할 수 있게 합니다.
  • Layer 3 (Probabilistic Inference): 샘플링을 위한 Markov chain Monte Carlo (MCMC), 최적화를 위한 Variational Inference (VI), 그리고 특화된 확률적 최적화 도구(stochastic optimizers)를 포함하여 적분을 근사하기 위한 알고리즘을 구현합니다.

또한, JAX와 함께 사용할 경우 "Tensor-friendly Probability"로 작동할 수 있습니다.

대상 사용자

TensorFlow 또는 JAX의 확장성이 필요한 확률적 머신러닝, 베이지안 신경망, 그리고 복잡한 통계 모델링 분야에서 연구하거나 개발하는 연구자 및 개발자를 위해 설계되었습니다.

주요 특징

  • 하드웨어 가속: 대규모 모델을 위한 GPU 및 분산 컴퓨팅을 지원합니다.
  • 유연한 기반 기술: TensorFlow와 JAX 모두에서 작동합니다.
  • 포괄적인 도구 세트: 기본적인 분포부터 고급 MCMC 및 Variational Inference 알고리즘까지 모든 것을 포함합니다.
  • 불확실성 통합: 표준 신경망 함수에 불확실성을 추가할 수 있는 확률적 레이어를 제공합니다.

Sources