[논문 리뷰] Inducing Probabilistic Programs by Bayesian Program Merging
이 논문은 초기 과적합 프로그램을 반복적인 프로그램 변환을 통해 더 추상적이고 일반화 가능한 모델로 압축함으로써 데이터로부터 확률적 프로그램을 유도하는 베이지안 프로그램 병합 기법을 제안한다. 최적화 기준으로 베이지안 사후확률을 사용함으로써, 중첩된 리스트 데이터에서 재귀적 구조, 매개변수화된 함수, 확률적 패턴을 발견하여 소수의 예시로부터 효과적인 일반화를 달성한다.
This report outlines an approach to learning generative models from data. We express models as probabilistic programs, which allows us to capture abstract patterns within the examples. By choosing our language for programs to be an extension of the algebraic data type of the examples, we can begin with a program that generates all and only the examples. We then introduce greater abstraction, and hence generalization, incrementally to the extent that it improves the posterior probability of the examples given the program. Motivated by previous approaches to model merging and program induction, we search for such explanatory abstractions using program transformations. We consider two types of transformation: Abstraction merges common subexpressions within a program into new functions (a form of anti-unification). Deargumentation simplifies functions by reducing the number of arguments. We demonstrate that this approach finds key patterns in the domain of nested lists, including parameterized sub-functions and stochastic recursion.
연구 동기 및 목표
- 소규모 데이터셋에서 생성 모델을 학습하기 위한 방법을 개발함으로써, 이를 확률적 프로그램으로 표현함.
- 데이터 내에서 추상적이고 재사용 가능한 패턴을 식별함으로써 확률적 모델 학습에서 일반화 문제를 해결함.
- 프로그램 변환을 통해 재귀 및 매개변수화된 함수와 같은 복잡한 구조를 자동으로 발견할 수 있도록 함.
- 모델 유도를 베이지안 탐색 문제로 프레임워크화하여, 데이터를 바탕으로 한 프로그램의 사후확률을 최적화함.
- 프로그램 변환(추상화 및 인자 제거)이 압축 가능하고 일반화 가능한 모델을 유도하는 데 얼마나 효과적인지 입증함.
제안 방법
- 데이터를 대수적 데이터 유형으로 표현하고, 균일한 사전확률을 사용하여 관측된 예시를 정확히 생성하는 초기 프로그램을 구성함.
- 두 가지 핵심 프로그램 변환을 적용함: 추상화(반대일치를 통한 공통 부분 표현식을 함수로 통합) 및 인자 제거(함수의 인자 수를 줄여 일반화 유도).
- 후행확률 $ P(M|D) $ 를 지침으로 하여 비드 서치를 사용하여 변환된 프로그램의 공간을 탐색함으로써 가능도와 모델 복잡도의 균형을 맞춤.
- 프로그램 품질 평가를 위해 리스트 도메인에서 몬테카를로 샘플링과 근사 추론을 사용하여 가능도를 추정함.
- 재귀, 고계 함수, 확률적 선택을 포함한 모델을 표현하기 위해 확률적 프로그래밍 언어(처치의 하위집합)를 활용함.
- 압축과 일반화를 향상시키면서도 정확성을 유지하는 문법적 변환으로서의 탐색 이동을 형식화함.
실험 결과
연구 질문
- RQ1원시 데이터로부터 체계적으로 추상적이고 일반화 가능한 확률적 프로그램을 유도하기 위해 프로그램 변환을 사용할 수 있는가?
- RQ2간단한 문법을 초월한 표현력 있는 확률적 프로그램으로 베이지안 모델 병합을 어떻게 확장할 수 있는가?
- RQ3추상화와 인자 제거가 소수의 데이터 설정에서 일반화를 얼마나 향상시킬 수 있는가?
- RQ4사후확률 기반 탐색을 통해 재귀적 및 매개변수화된 함수를 자동으로 발견할 수 있는가?
- RQ5단일 또는 소수의 예시로부터 트리와 빈스와 같은 복잡한 내재된 데이터 구조를 얼마나 효과적으로 학습할 수 있는가?
주요 결과
- 시스템은 단일 관측치에서 재귀 프로그램을 성공적으로 유도한다. 예를 들어 '빈' 예제에서는 단일 샘플로도 확률적 재귀적 구조를 학습할 수 있다.
- 트리 예제에서는 꽃을 위한 매개변수화된 함수와 재귀적 분기 구조를 학습한다. F1, F2, F3는 핵심적으로 재사용 가능한 구성 요소에 해당한다.
- $\alpha=3$ 일 때, 시스템은 여러 분기 인스턴스에 걸쳐 일반화하는 모델을 유도하여 사전확률이 압축과 가능도의 균형을 어떻게 조절하는지 보여준다.
- 시스템은 매개변수화된 하위함수와 확률적 재귀를 발견한다. 예를 들어 꽃과 꽃잎 구축 과정에서 나타나며, 공통된 구조를 가진 노이즈 있는 데이터를 모델링할 수 있음을 보여준다.
- 깊이 10, 비드 폭 1인 비드 서치가 탐색 공간을 효과적으로 탐색하고, 훈련 데이터와 일치하는 다양한 타당한 샘플을 생성하는 모델을 생성한다.
- 함수 추상화와 인자 수 감소를 통해 반복 패턴(예: 공통된 색상 및 크기 분포)을 압축함으로써 유도된 프로그램은 높은 사후확률을 달성한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.