함수형 확률 프로그래밍을 위한 지연 팩터링 추론

함수형 확률 프로그래밍을 위한 지연 팩터링 추론

초록

본 논문은 무한히 많은 잠재 변수들을 포함할 수 있는 함수형 확률 프로그램에 대해, 모델을 제한된 깊이까지 전개하고 전개되지 않은 부분을 정량화하여 질의 확률의 하한과 상한을 제공하는 지연 팩터링 추론(LFI) 프레임워크를 제안한다. 이를 통해 전통적인 팩터링 기반 알고리즘을 무한 모델에 적용할 수 있다.

상세 분석

확률 프로그래밍은 프로그램 구조를 그대로 확률 모델로 활용할 수 있게 해 주지만, 재귀 호출이나 무한 리스트와 같은 함수형 특성 때문에 변수와 팩터가 무한히 생성되는 경우가 빈번하다. 기존의 팩터링 기반 추론(예: 변수 제거, belief propagation)은 모든 변수와 팩터를 명시적으로 열거해야 하므로 이러한 무한 모델에 직접 적용할 수 없었다. 논문은 이 문제를 해결하기 위해 “지연 팩터링 추론(Lazy Factored Inference, LFI)”이라는 새로운 프레임워크를 도입한다. LFI는 프로그램을 지정된 깊이 d까지 전개하고, 전개된 부분에 대해 전통적인 팩터 그래프를 구성한다. 전개되지 않은 잔여 부분은 프로그램의 구조적 정보를 이용해 가능한 값들의 범위와 그에 따른 확률 질량을 상한·하한 형태로 추정한다. 구체적으로, 각 미전개 서브트리는 “가능한 결과 집합”(possible set)과 “불확실성 구간”(uncertainty interval)을 반환하도록 변환된다. 이러한 구간은 후에 팩터 연산에 삽입되어 전체 질의에 대한 최종 하한·상한을 계산한다. LFI는 두 단계로 이루어진다. 첫째, lazy expansion 단계에서 재귀 호출이나 무한 데이터 구조를 깊이 제한 하에 부분적으로 전개한다. 이때 전개 과정은 필요에 따라 동적으로 진행되며, 이미 전개된 부분은 재사용된다. 둘째, bound propagation 단계에서 전개된 팩터 그래프에 기존의 팩터링 알고리즘을 적용하고, 전개되지 않은 부분에서 도출된 구간을 팩터에 결합한다. 이 과정은 연산적 정확성을 보장한다; 즉, 최종 구간은 실제 질의 확률을 정확히 포함한다. 논문은 LFI가 기존 알고리즘과 호환 가능함을 증명하고, 전개 깊이 d를 증가시킬수록 구간이 수렴하여 정확한 확률값에 근접함을 이론적으로 설명한다. 또한, 복잡도 측면에서 전개 깊이에만 의존하므로 무한 모델이라도 제한된 메모리와 시간 내에 추론이 가능하다. 실험에서는 무한 마코프 체인, 재귀적 베이즈 네트워크, 확률적 문법 모델 등에 LFI를 적용해, 전통적인 샘플링 기반 방법보다 빠르고 안정적인 구간을 제공함을 보여준다. 한계점으로는 전개 깊이 선택이 결과의 정확도와 비용을 직접 조절한다는 점과, 매우 복잡한 조건부 의존성을 가진 모델에서는 구간이 느리게 수렴할 수 있다는 점을 언급한다. 전반적으로 LFI는 함수형 확률 프로그래밍의 무한성 문제를 구조적 분석과 수학적 구간 추정으로 해결함으로써, 팩터링 기반 추론을 새로운 영역으로 확장한다.