Skip to main content
QUICK REVIEW

[論文レビュー] Inducing Probabilistic Programs by Bayesian Program Merging

Irvin Hwang, Andreas Stuhlmüller|arXiv (Cornell University)|Oct 25, 2011
Bayesian Modeling and Causal Inference参考文献 5被引用数 16
ひとこと要約

本稿では、初期の過学習するプログラムを段階的にプログラム変換を適用することで、より抽象的で一般化可能なモデルに圧縮することにより、データから確率的プログラムを誘導するためのベイジアンプログラム統合を提案する。最適化基準としてベイジアン後確率を用いることで、ネストされたリストデータにおける再帰構造、パラメータ化された関数、および確率的パターンを同定し、少数の例からの有効な一般化を達成する。

ABSTRACT

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.

研究の動機と目的

  • 少数のデータセットから生成モデルを学習する手法を開発すること。
  • データに内在する抽象的かつ再利用可能なパターンを同定することで、確率的モデル学習における一般化の課題に取り組むこと。
  • プログラム変換を通じて、再帰やパラメータ化された関数といった複雑な構造を自動で発見できること。
  • モデル誘導をベイジアン探索問題として定式化し、観察データのもとでのプログラムの後確率を最適化すること。
  • 抽象化と引数削減というプログラム変換の有効性を、コン pact で一般化可能なモデルの誘導において示すこと。

提案手法

  • データを代数的データ型として表現し、一様な事前分布を用いて観測された例を正確に生成する初期プログラムを構築する。
  • 2つの主要なプログラム変換を適用する:抽象化(反統一を用いて共通の部分式を関数に統合)とデアグメントーション(関数の引数の数を減らして一般化を促進)。
  • ビーム探索を用いて変換されたプログラムの空間を探索し、尤度とモデルの複雑さのバランスをとる後確率 $ P(M|D) $ で誘導する。
  • モンテカルロサンプリングと近似推論を用いて、リストドメインにおける尤度を推定し、プログラムの品質を評価する。
  • 再帰、高階関数、確率的選択を表現できる、Churchのサブセットである確率的プログラミング言語を用いてモデルを表現する。
  • 圧縮と一般化を向上させるが正しさを保つような、構文的変換として探索の動きを形式化する。

実験結果

リサーチクエスチョン

  • RQ1プログラム変換を用いて、生のデータから体系的かつ抽象的で一般化可能な確率的プログラムを誘導できるか?
  • RQ2ベイジアンモデル統合を、単純な文法を超えた表現力の高い確率的プログラムへと拡張できるか?
  • RQ3抽象化とデアグメントーションは、小規模データ設定における一般化をどの程度向上できるか?
  • RQ4後確率駆動探索によって再帰的およびパラメータ化された関数を自動で発見できるか?
  • RQ5単一または少数の例から、木構造やビンセント構造のような複雑なネストされたデータ構造を効果的に学習できるか?

主な発見

  • システムは、単一の観測例から再帰的プログラムを成功裏に誘導する。例えば、「ビンセント」の例では、1つのサンプルで十分に確率的再帰構造を学習する。
  • 「木」の例では、花のためのパラメータ化された関数と再帰的分岐構造を学習する。F1, F2, F3 は、コアとなる再利用可能なコンponents を表す。
  • $\alpha=3$ の場合、システムは複数の分岐インスタンスにわたる一般化を達成するモデルを誘導し、事前分布が圧縮と尤度のバランスをとる役割を果たすことを示す。
  • システムは、パラメータ化された部分関数と確率的再帰(例:花やがくの構築)を発見し、共通の構造を持つノイズの多いデータをモデル化する能力を示す。
  • 深さ10、ビーム幅1のビーム探索により、探索空間が有効に探索され、訓練データと一致する多様で妥当なサンプルを生成するモデルが得られる。
  • 関数の抽象化と引数の削減により、繰り返し現れるパターン(共通の色やサイズの分布)を圧縮することで、誘導されたプログラムは高い後確率を達成する。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。