Skip to main content
QUICK REVIEW

[論文レビュー] Learning to select examples for program synthesis

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

本論文では、プログラム合成のための制約ソルバーの効率を向上させるために、入出力例の小さな代表的サブセットを選択するニューラルネットワークベースの手法を提案する。学習された不確実性に基づいて、反復的に予測確率が最も低い(最も冗長でない)例を追加することで、ソルバーのオーバーヘッドを低減しつつ、解の正確性を維持する。この手法は、図の描画合成タスクで検証された。

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, it 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 few well-chosen examples, a large set of examples can incur significant overhead in both time and memory. We address this challenge by constructing a representative subset of examples that is both small and able to constrain the solver sufficiently. We build the subset one example at a time, using a neural network to predict the probability of unchosen input-output examples conditioned on the chosen input-output examples, and adding the least probable example to the subset. Experiment on a diagram drawing domain shows our approach produces subsets of examples that are small and representative for the constraint solver.

研究の動機と目的

  • 大規模な入出力例の集合によるプログラム合成のスケーラビリティの課題に対処すること。
  • 最小限の制約をもつ例のサブセットを選択することで、制約ソルバーの時間的・メモリ的オーバーヘッドを低減すること。
  • 解の正確性を損なわずに、制約充足に基づくプログラム合成の効率を向上させること。
  • 情報量に基づいて動的に例を選択する手法を構築すること。情報量はニューラル確率推定により測定される。

提案手法

  • すでに選択された例を前提として、未選択の入出力例の確率を予測するためのニューラルネットワークを学習する。
  • 反復的に予測確率が最も低い例を選択し、これは冗長性が低く最も情報量が多いと仮定される。
  • 選択プロセスは不確実性に基づく:低い確率の例は冗長である可能性が低く、したがって追加する価値が高いとされる。
  • 選択されたサブセットは、ターゲットプログラムの合成に制約ソルバーの制約として使用される。
  • 本手法は、図の描画プログラム合成ドメインで評価され、多様で制約の強い例を優先する学習が可能であることが示された。

実験結果

リサーチクエスチョン

  • RQ1ニューラルモデルは、プログラム合成のための最も情報量の多い入出力例を効果的に特定できるか?
  • RQ2予測された不確実性に基づく反復的例選択は、ソルバーのパフォーマンスとスケーラビリティにどのように影響するか?
  • RQ3すべての例を使用する場合と比較して、小さな代表的サブセットが解の正確性をどの程度維持できるか?
  • RQ4本手法は、正しさを保持したまま、制約ソルバーの時間的・メモリ的オーバーヘッドを低減できるか?

主な発見

  • 提案手法は、計算オーバーヘッドを低減しつつ、ソルバーを効果的に制約する顕著に小さな例のサブセットを生成する。
  • ニューラルモデルは、低確率(最も冗長でない)の例を効果的に特定し、より多様で情報量の多いサブセットを生成する。
  • 図の描画合成タスクにおいて、例の数を削減しても高い解の正確性を維持する。
  • 不確実性に基づく反復的選択戦略により、正しくプログラムを発見する能力を損なわずに、ソルバーの効率が向上する。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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