추론 컴파일링을 통한 범용 확률 프로그래밍

본 논문은 범용 확률 프로그래밍 언어로 정의된 모델에 대해 딥 뉴럴 네트워크를 이용해 추론 과정을 사전 학습(컴파일)함으로써, 테스트 시 빠르고 효율적인 근사 추론을 가능하게 하는 프레임워크를 제안한다. 학습된 네트워크는 순차 중요도 샘플링(SIS)의 제안 분포로 사용되며, 혼합 모델과 캡차 해결 사례에서 기존 방법 대비 큰 속도 향상을 보였다.

저자: Tuan Anh Le, Atilim Gunes Baydin, Frank Wood

추론 컴파일링을 통한 범용 확률 프로그래밍
본 논문은 범용 확률 프로그래밍 언어(Universal Probabilistic Programming Language, UPPL)로 기술된 복잡한 생성 모델에 대해, 딥 뉴럴 네트워크를 이용해 추론 과정을 사전 컴파일(컴파일링)하는 새로운 프레임워크를 제안한다. 전통적인 확률 프로그래밍 시스템은 모델이 복잡해질수록 사후 추론 비용이 급격히 증가한다는 문제에 직면해 있다. 이를 해결하고자 저자들은 “추론 컴파일링”이라는 개념을 도입한다. 즉, 확률 프로그램 p(x, y)를 입력으로 받아, 해당 프로그램의 실행 트레이스 구조를 분석하고, 이를 기반으로 동적으로 구성되는 LSTM 중심의 신경망 아키텍처를 자동 생성한다. 이 신경망은 훈련 단계에서 무한히 생성되는 (x, y) 트레이스를 사용해 파라미터 φ를 학습하고, 최종적으로는 관측 y가 주어졌을 때 q(x | y; φ)라는 제안 분포를 출력한다. 핵심 아이디어는 두 가지이다. 첫째, 프로그램 실행 시 발생하는 샘플링 트레이스를 “주소‑인스턴스”(a, i) 쌍으로 표기하고, 각 쌍마다 별도의 임베딩 레이어와 제안 레이어를 동적으로 연결한다. 이는 프로그램 내 조건부 분기, 재귀 호출, 무한 루프 등 동적 제어 흐름을 그대로 반영한다. LSTM 코어는 이전 샘플링 결과와 관측 y를 순차적으로 받아 숨은 상태 h_t를 업데이트하고, 각 단계에서 η_t = f_θ(h_{t-1}, y) 를 계산한다. η_t는 해당 주소‑인스턴스에 대응하는 제안 레이어에 전달되어, q_{a,i}(x_t | x_{

원본 논문

고화질 논문을 불러오는 중입니다...

댓글 및 학술 토론

Loading comments...

의견 남기기