Skip to main content
QUICK REVIEW

[論文レビュー] Selecting Representative Examples for Program Synthesis

Yewen Pu, Zachery Miranda|arXiv (Cornell University)|Nov 9, 2017
Software Engineering Research被引用数 14
ひとこと要約

本稿では、プログラム合成のための入出力例の小さな代表的サブセットを選択するためのグリーディでニューラルネットワークにガイドされた手法を提案する。この手法は、スケーラビリティと安定性を向上させ、制約ソルバーのオーバーヘッドを低減しながら正しさを維持する。反復的に現在のサブセットを条件とした確率が最も低い(最も驚くべき)例を追加することで、探索空間を効果的に制約し、プログラム的描写およびオートマトン誘導タスクにおける合成時間と分散の両面でベースラインを上回る性能を発揮する。

ABSTRACT

Program synthesis is a class of regression problems where one seeks a solution, in the form of a source-code program, mapping the inputs to their corresponding outputs exactly. Due to its precise and combinatorial nature, program synthesis is commonly formulated as a constraint satisfaction problem, where input-output examples are encoded as constraints and solved with a constraint solver. A key challenge of this formulation is scalability: while constraint solvers work well with a few well-chosen examples, a large set of examples can incur significant overhead in both time and memory. We describe a method to discover a subset of examples that is both small and representative: the subset is constructed iteratively, using a neural network to predict the probability of unchosen examples conditioned on the chosen examples in the subset, and greedily adding the least probable example. We empirically evaluate the representativeness of the subsets constructed by our method, and demonstrate such subsets can significantly improve synthesis time and stability.

研究の動機と目的

  • 大規模な入出力例の集合が引き起こすプログラム合成におけるスケーラビリティの課題に対処すること。
  • 大規模な制約充足問題(CSP)のエンコーディングおよび解法にかかる計算オーバーヘッドを低減すること。
  • 最小限の代表的例のサブセットを選択することで、合成の安定性と速度を向上させること。
  • 探索空間を最大限にプルーニングする例を選択することで、CEGISおよびランダムサンプリングを上回る手法を提供すること。
  • 意味的に制約の強い例に焦点を当てることで、大規模データセット上での効率的なプログラム合成を可能にすること。

提案手法

  • 事前学習済みのニューラルネットワークを用いて、現在選択済みの例のサブセットを条件とした未選択例の条件付き確率を推定する。
  • 最も低い予測確率(最も驚くべき)の例をグリーディに選択し、探索空間を最も効果的に制約すると予想される。
  • 反復的にサブセットを拡大し、すべての例が十分に高い条件付き確率を持つようになるまで繰り返す。これは、現在のサブセットによってそれらの例が十分に説明されていることを示す。
  • ニューラルネットワークは、特に画像レンダリングやオートマトン誘導のような分野で有効な、局所的な空間的関係を捉える近傍関数に基づいて学習される。
  • 制約ソルバーを実行する前の前処理ステップとして適用され、多くの場合で反復的なCEGISの精練の必要性を排除する。
  • 本手法は、オートマトン誘導およびプログラム的描写合成の2つの分野で評価され、全例、CEGIS、ランダムサンプリングのベースラインと比較されている。

実験結果

リサーチクエスチョン

  • RQ1ニューラルネットワークは、プログラム合成の探索空間を制約するために最も情報量の多い入出力例を効果的に特定できるか?
  • RQ2すべての例やランダムサブセットを使用するのと比較して、小さな代表的サブセットを選択することで、合成時間と安定性が向上するか?
  • RQ3解決時間と分散の観点から、本手法の性能はCEGISおよびその変種と比較してどの程度優れているか?
  • RQ4正しくプログラム合成を可能にするために必要な例の数をどの程度削減できるか?
  • RQ5本手法は、画像レンダリングやオートマトン誘導のような異なる分野においても頑健であるか?

主な発見

  • 本手法は、全例セットやランダムサンプリングと比較して平均合成時間を顕著に短縮し、プログラム的描写合成において最良の平均性能を達成した。
  • 本手法は、全例セットおよびヒューリスティックベースのh1+cegis手法の低分散を再現し、解決時間における高い安定性を示した。
  • 平均して、全例の20%未満の例を選択したが、高い代表性を維持し、任意のサイズのランダムサブセットよりも時間的および安定性の両面で優れた性能を発揮した。
  • CEGISは、境界検出の反例と偶然一致するため、描写ドメインでは良好に機能したが、一般化は不可能である。本手法は、このような依存を回避した。
  • ニューラルネットワークの条件付き確率予測は、最も制約の強い例を効果的に特定でき、探索空間の効率的なプルーニングを可能にした。
  • 本手法は、分野をまたがって優れた一般化性能を示し、時間的および分散の両指標において強力なベースラインを一貫して上回った。

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

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

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

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