論文の概要: Generating Pragmatic Examples to Train Neural Program Synthesizers
- arxiv url: http://arxiv.org/abs/2311.05740v1
- Date: Thu, 9 Nov 2023 20:53:00 GMT
- ステータス: 処理完了
- システム内更新日: 2023-11-13 16:33:41.475920
- Title: Generating Pragmatic Examples to Train Neural Program Synthesizers
- Title(参考訳): 訓練用ニューラルプログラムシンセサイザーの実用例生成
- Authors: Saujas Vaduguru, Daniel Fried, Yewen Pu
- Abstract要約: 優れたシンセサイザーは、与えられたサンプルセットと整合した多くのプログラムから意図したプログラムを選択する必要がある。
本稿では,ニューラルネットワークを用いた新しい検索手法を提案する。
- 参考スコア(独自算出の注目度): 20.819451354452085
- License: http://creativecommons.org/licenses/by/4.0/
- Abstract: Programming-by-example is the task of synthesizing a program that is
consistent with a set of user-provided input-output examples. As examples are
often an under-specification of one's intent, a good synthesizer must choose
the intended program from the many that are consistent with the given set of
examples. Prior work frames program synthesis as a cooperative game between a
listener (that synthesizes programs) and a speaker (a user choosing examples),
and shows that models of computational pragmatic inference are effective in
choosing the user intended programs. However, these models require
counterfactual reasoning over a large set of programs and examples, which is
infeasible in realistic program spaces. In this paper, we propose a novel way
to amortize this search with neural networks. We sample pairs of programs and
examples via self-play between listener and speaker models, and use pragmatic
inference to choose informative training examples from this sample.We then use
the informative dataset to train models to improve the synthesizer's ability to
disambiguate user-provided examples without human supervision. We validate our
method on the challenging task of synthesizing regular expressions from example
strings, and find that our method (1) outperforms models trained without
choosing pragmatic examples by 23% (a 51% relative increase) (2) matches the
performance of supervised learning on a dataset of pragmatic examples provided
by humans, despite using no human data in training.
- Abstract(参考訳): プログラミング・バイ・サンプル(英: programming-by-example)は、ユーザが提供する入力出力の例のセットと一致するプログラムを合成するタスクである。
例はしばしば意図の下位特定であるので、良いシンセサイザーは与えられた例のセットと一致する多くのプログラムから意図されたプログラムを選択する必要がある。
先行作業フレームは、リスナー(プログラムを合成する)と話者(ユーザ選択例)の協調ゲームとしてプログラムを合成し、計算実用的推論のモデルがユーザ意図のプログラムを選択するのに有効であることを示す。
しかし、これらのモデルは、現実的なプログラム空間では実現不可能な、多数のプログラムや例に対する反実的推論を必要とする。
本稿では,ニューラルネットワークを用いてこの検索を償却する新しい手法を提案する。
我々は,聴取者と話者モデル間のセルフプレイによるプログラムとサンプルのペアをサンプリングし,本サンプルから情報的トレーニング例を選択するために実用的推論を用いて,情報的データセットを用いてモデルを訓練し,人間の監督なしにユーザが提供するサンプルの曖昧さを解消する能力を向上させる。
実例から正規表現を合成する難しい課題について,本手法の有効性を検証するとともに,(1)実例を選択せずに訓練されたモデルを23%(相対的増加率51%)で上回り,(2)人間による実例のデータセット上で教師あり学習の性能に適合することを示した。
関連論文リスト
- Can humans teach machines to code? [24.32052793811087]
鍵となる前提は、人間が機械に概念を教えるのに十分な品質の例を提供することができるということである。
我々は、リストの最大要素を見つけるなど、6つのプログラミングタスクの例を生成するよう人間に依頼する。
我々は, (i) 人為的な例, (ii) ランダムなサンプル, (iii) 専門家による例に基づいて訓練されたプログラム合成システムの性能を比較した。
論文 参考訳(メタデータ) (2024-04-30T09:42:40Z) - Learning from Self-Sampled Correct and Partially-Correct Programs [96.66452896657991]
そこで本研究では,モデルが学習中にサンプリングを行い,自己サンプリングされた完全正当プログラムと部分正当プログラムの両方から学習することを提案する。
自己サンプリング型プログラムと部分修正型プログラムを併用することで,学習とサンプリングプロセスのガイドに役立てることができることを示す。
提案手法は,MLEを用いた単一の参照プログラムからの学習と比較して,パス@kの性能を3.1%から12.3%向上させる。
論文 参考訳(メタデータ) (2022-05-28T03:31:07Z) - Efficient Pragmatic Program Synthesis with Informative Specifications [13.234975857626752]
本研究では,プログラムの協調分布を独立要因の積で近似することにより,実用的かつ効率的なプログラムシンセサイザーを構築することができることを示す。
因子近似を仮定するシンセサイザーは, 人間の入力に対して正確な関節分布を仮定するシンセサイザーよりも優れていた。
論文 参考訳(メタデータ) (2022-04-05T21:25:58Z) - A Conversational Paradigm for Program Synthesis [110.94409515865867]
本稿では,大規模言語モデルを用いた対話型プログラム合成手法を提案する。
私たちは、自然言語とプログラミング言語のデータに基づいて、CodeGenと呼ばれる大規模な言語モデルのファミリーを訓練します。
本研究は,会話能力の出現と,提案した会話プログラム合成パラダイムの有効性を示すものである。
論文 参考訳(メタデータ) (2022-03-25T06:55:15Z) - Latent Execution for Neural Program Synthesis Beyond Domain-Specific
Languages [97.58968222942173]
入力出力の例からCプログラムを合成する第一歩を踏み出す。
特に,部分生成プログラムの実行を近似するために潜在表現を学習するLa Synthを提案する。
これらのプログラムのトレーニングにより,Karel と C のプログラム合成における予測性能がさらに向上することを示す。
論文 参考訳(メタデータ) (2021-06-29T02:21:32Z) - Learning to Combine Per-Example Solutions for Neural Program Synthesis [35.0204840620086]
ほとんどの学習ベースのアプローチは、一度にすべての例を満たすプログラムを見つけようとします。
a) 1つの例のみを満たすプログラムを見つけ、(b) 例ごとのソリューションを活用して、すべての例を満たすプログラムを生成する。
論文 参考訳(メタデータ) (2021-06-14T05:48:12Z) - Representing Partial Programs with Blended Abstract Semantics [62.20775388513027]
プログラム合成エンジンにおける部分的なプログラム表現手法について紹介する。
モジュラーニューラルネットワークとして実装された近似実行モデルを学ぶ。
これらのハイブリッドニューロシンボリック表現は、実行誘導型シンセサイザーがより強力な言語構成を使うことができることを示す。
論文 参考訳(メタデータ) (2020-12-23T20:40:18Z) - Optimal Neural Program Synthesis from Multimodal Specifications [45.35689345004124]
マルチモーダルプログラム合成は、プログラム合成を挑戦的な設定に拡張する魅力的な方法である。
本稿では,ユーザが提供する制約を満たすプログラムを見つけることを目的とした,最適なニューラルシンセサイザー手法を提案する。
論文 参考訳(メタデータ) (2020-10-04T20:51:21Z) - BUSTLE: Bottom-Up Program Synthesis Through Learning-Guided Exploration [72.88493072196094]
プログラムのボトムアップ検索に学習を活用する新しい合成手法を提案する。
特に、入力出力例のセットに基づいて、探索条件中の中間値の合成を優先順位付けするようにモデルを訓練する。
単純な教師付き学習アプローチであっても,学習とボトムアップ検索の組み合わせは極めて効果的であることを示す。
論文 参考訳(メタデータ) (2020-07-28T17:46:18Z) - Program Synthesis with Pragmatic Communication [28.24612900419843]
本研究では,プログラム合成タスクを合理的なコミュニケーションとしてモデル化した新しい帰納的バイアスを導入する。
ユーザスタディでは、エンドユーザの参加者が、非実用的なプログラムシンセサイザーよりも、より効果的に、実践的なプログラムシンセサイザーと通信することを発見した。
論文 参考訳(メタデータ) (2020-07-09T20:55:44Z) - Creating Synthetic Datasets via Evolution for Neural Program Synthesis [77.34726150561087]
いくつかのプログラム合成手法は、ランダムに生成された例と異なるデータ分布によく一般化されていることを示す。
本稿では, 合成データ分布のバイアスを制御し, 現在の手法より優れていることを示すための, 新たな敵対的手法を提案する。
論文 参考訳(メタデータ) (2020-03-23T18:34:15Z)
関連論文リストは本サイト内にある論文のタイトル・アブストラクトから自動的に作成しています。
指定された論文の情報です。
本サイトの運営者は本サイト(すべての情報・翻訳含む)の品質を保証せず、本サイト(すべての情報・翻訳含む)を使用して発生したあらゆる結果について一切の責任を負いません。