베이시안 프로그램 합성

Bayesian program synthesis

프로그래밍 언어와 머신러닝에서 베이시안 프로그램 합성(BPS)은 베이시안 확률론 프로그램이 자동으로 새로운 베이시안 확률론 프로그램을 구성하는 프로그램 합성 기법이다.[1] 이 접근방식은 인간 개발자들이 수동으로 새로운 확률론 프로그램을 작성하는 확률론적 프로그래밍의 일상적인 관행과는 대조적이다.

틀

Bayesian 프로그램 합성(BPS)은 확률론적 프로그래밍과 관련된 프레임워크로 설명되어 왔다. BPS에서 확률론적 프로그램들은 그 자체가 확률론적 프로그램들의 공간보다 우선적인 프로그램들이 생성된다. 이 전략은 확률론적 추론을 통한 새로운 프로그램의 자동 합성을 허용하며 모듈형 요소 프로그램의 구성에 의해 달성된다.

BPS의 모듈화는 추론이 더 큰 모델로 통합되기 전에 더 작은 확률론적 프로그램에서 일하고 시험할 수 있도록 한다.[2]

이 프레임워크는 예시별 프로그래밍과 데모별 프로그래밍을 포함하는 자동화된 프로그램 합성 필드 계열과 대조될 수 있다. 그러한 분야의 목표는 어떤 제약조건을 만족시키는 최고의 프로그램을 찾는 것이다. 예를 들어, 전통적인 프로그램 통합에서, 논리적인 제약조건의 검증은 가능한 프로그램의 상태 공간을 줄여, 최적의 프로그램을 찾기 위한 더 효율적인 검색을 가능하게 한다. 베이지안 프로그램 합성은 제약조건이 확률론적이고 출력 자체가 더 세분화될 수 있는 프로그램에 대한 분배라는 점에서 모두 다르다.

또한 베이지안 프로그램 합성은 베이지안 프로그램 학습에 관한 연구와 대조될 수 있는데, 이 연구에서는 확률론적 프로그램 구성요소를 손으로 작성하고 데이터에 대해 미리 교육한 다음 손으로 직접 조립하여 손으로 쓴 문자를 인식한다.[3]

참고 항목

참조

  1. ^ Saad, Feras A.; Cusumano-Towner, Marco F.; Schaechtle, Ulrich; Rinard, Martin C.; Mansinghka, Vikash K. (January 2019). "Bayesian Synthesis of Probabilistic Programs for Automatic Data Modeling". Proc. ACM Program. Lang. 3 (POPL): 37:1–37:32. arXiv:1907.06249. Bibcode:2019arXiv190706249S. doi:10.1145/3290350. ISSN 2475-1421. S2CID 53697125.
  2. ^ "Talking Machines: Probabilistic programming, with Ben Vigoda Robohub". robohub.org. Retrieved 2017-03-04.
  3. ^ Lake, Brenden M.; Salakhutdinov, Ruslan; Tenenbaum, Joshua B. (2015-12-11). "Human-level concept learning through probabilistic program induction". Science. 350 (6266): 1332–1338. Bibcode:2015Sci...350.1332L. doi:10.1126/science.aab3050. ISSN 0036-8075. PMID 26659050.

외부 링크