Skip to main content
QUICK REVIEW

[논문 리뷰] Effect Handling for Composable Program Transformations in Edward2

Dave Moore, Maria I. Gorinova|arXiv (Cornell University)|2018. 11. 15.
Software Engineering Research참고 문헌 1인용 수 6
한 줄 요약

이 논문은 텐서플로우 기반의 확률적 프로그래밍 프레임워크인 Edward2에서 프로그램 변환을 구축하기 위한 구성가능하고 모듈러한 메커니즘으로 대수적 효과 핸들러를 제안한다. 확률적 연산(예: 샘플링)을 확장 가능한 효과로 간주함으로써, 조건화, 추적, 재매개변수화, 변분 추론 등의 중첩되고 조합 가능한 변환을 핸들러 조합을 통해 가능하게 하여 ADVI와 같은 복잡한 추론 알고리즘의 구현을 크게 단순화한다.

ABSTRACT

Algebraic effects and handlers have emerged in the programming languages community as a convenient, modular abstraction for controlling computational effects. They have found several applications including concurrent programming, meta programming, and more recently, probabilistic programming, as part of Pyro's Poutines library. We investigate the use of effect handlers as a lightweight abstraction for implementing probabilistic programming languages (PPLs). We interpret the existing design of Edward2 as an accidental implementation of an effect-handling mechanism, and extend that design to support nested, composable transformations. We demonstrate that this enables straightforward implementation of sophisticated model transformations and inference algorithms.

연구 동기 및 목표

  • 확률적 프로그래밍 프레임워크에서 프로그램 변환을 위한 모듈러하고 조합 가능한 추상화의 부족을 해결하기 위해.
  • Edward2의 기존의 인터셉션 메커니즘이 효과 처리의 뜻하지 않은 구현임을 보여주고, 이를 공식화하기 위해.
  • 재매개변수화, 조건화, 밀도 계산 등의 중첩되고 조합 가능한 변환을 효과 핸들러를 사용하여 가능하게 하기 위해.
  • 효과 핸들러가 ADVI 및 변분 추론과 같은 고급 추론 알고리즘의 구현을 어떻게 단순화할 수 있는지 보여주기 위해.

제안 방법

  • 사용자 정의 핸들러가 인터셉트하고 처리할 수 있는 확장 가능한 효과로 확률적 연산(예: 샘플링)을 간주하기.
  • 조건화, 추적, 재매개변수화 등의 프로그램 변환을 샘플링 연산의 동작을 수정하는 핸들러로 모델링하기.
  • 하위 핸들러에 작업을 전달함으로써 핸들러 조합을 가능하게 하여 효과 체인을 유지하기.
  • 추론 작업을 지원하기 위해 `condition`, `trace`, `unconstrain`, `log_joint` 등의 핸들러를 구현하고 핸들러 중첩을 통해 사용하기.
  • 재매개변수화 중 자코비안 보정을 위해 텐서플로우 확률의 `TransformedDistribution`과 `Bijector`를 사용하기.
  • 기반으로 사용하는 Edward2의 인터셉션 시스템을 활용하여, 암시적 계속성과 함께 제한된 형태의 효과 처리로 재해석하기.

실험 결과

연구 질문

  • RQ1효과 핸들러를 사용하여 확률적 프로그래밍 프레임워크에서 구성가능하고 모듈러한 프로그램 변환을 어떻게 구현할 수 있는가?
  • RQ2Edward2의 기존 인터셉션 메커니즘은 어떻게 효과 처리로 재해석할 수 있으며, 이를 통해 모듈러성과 조합성을 어떻게 향상시킬 수 있는가?
  • RQ3복잡한 추론 알고리즘인 ADVI는 얼마나 깊이까지 조합된 효과 핸들러를 통해 구현할 수 있는가?
  • RQ4비국소적 프로그램 변환, 예를 들어 계산 그래프에 대한 기호 대수 표현을 기술하는 데서 효과 처리의 한계는 무엇인가?

주요 결과

  • Edward2의 인터셉션 시스템은 뜻하지 않게도 효과 처리의 기능적 구현임이 입증되었으며, 핸들러가 샘플링 동작을 오버라이드할 수 있음을 보였다.
  • 핸들러 조합을 통해 비제약 재매개변수화, 조건화, 로그 밀도 유도와 같은 고도의 변환을 가능하게 하였다.
  • 비제약화, 변분 가이드 구축, 공동 밀도 유도를 위한 핸들러를 조합함으로써 ADVI의 깔끔하고 조합 가능한 구현이 가능해졌다.
  • 효과 핸들러를 통해 추적 유사 핸들러가 조건부 로그 밀도를 누적함으로써 자동으로 공동 로그 밀도를 도출할 수 있었다.
  • 확장 가능한 핸들러 인터페이스를 통해 비중앙화 및 역누적분포함수 변환과 같은 재매개변수화 기법을 지원할 수 있었다.
  • 핸들러를 사용하여 샘플링 연산을 매개변수화된 분포로 초기화하고 변환함으로써 자동 변분 추론을 지원할 수 있었다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.