Skip to main content
QUICK REVIEW

[論文レビュー] RobustFill: Neural Program Learning under Noisy I/O

Jacob Devlin, Jonathan Uesato|arXiv (Cornell University)|Mar 21, 2017
Advanced Neural Network Applications参考文献 28被引用数 108
ひとこと要約

この論文はニューラルプログラム合成とニューラルプログラム誘導を現実世界の文字列変換タスク(FlashFill)で比較し、変動するI/Oセットをエンコードする注意機構付きRNNを導入、FlashFillTestで92%の一般化精度を達成し、ルールベースおよび誘導法と比べてノイズに対する頑健性を示す。

ABSTRACT

The problem of automatically generating a computer program from some specification has been studied since the early days of AI. Recently, two competing approaches for automatic program learning have received significant attention: (1) neural program synthesis, where a neural network is conditioned on input/output (I/O) examples and learns to generate a program, and (2) neural program induction, where a neural network generates new outputs directly using a latent program representation. Here, for the first time, we directly compare both approaches on a large-scale, real-world learning task. We additionally contrast to rule-based program synthesis, which uses hand-crafted semantics to guide the program generation. Our neural models use a modified attention RNN to allow encoding of variable-sized sets of I/O pairs. Our best synthesis model achieves 92% accuracy on a real-world test set, compared to the 34% accuracy of the previous best neural synthesis approach. The synthesis model also outperforms a comparable induction model on this task, but we more importantly demonstrate that the strength of each approach is highly dependent on the evaluation metric and end-user application. Finally, we show that we can train our neural models to remain very robust to the type of noise expected in real-world data (e.g., typos), while a highly-engineered rule-based system fails entirely.

研究の動機と目的

  • 現実世界のノイズを含むI/O変換タスクにおいて、ニューラルプログラム合成とニューラルプログラム誘導を動機づけ、比較する。
  • 可変サイズのI/O例集合をエンコードできる注意機構ベースのニューラルアーキテクチャを開発する。
  • 手作りのルールベースシステムおよび誘導ベースのアプローチに対して、エンドツーエンドの性能を評価する。
  • I/O例における現実的なノイズ(タイプミス)への頑健性を評価する。
  • 評価指標(全例 vs. 平均例)の違いが各手法の強さの観察に与える影響を定量化する。

提案手法

  • 後期プール化を介して可変長かつ無順序のI/O例集合をエンコードする新しい注意機構ベースRNNの変種を提案する。
  • 文字列変換のDSL(ドメイン特化言語)で、ネストした式や正規表現ベースの抽出を含むプログラムを表現する。
  • 合成的に生成されたI/O-プログラムペアでエンドツーエンドで訓練し、ビーム探索でデコードし、観測されたI/Oペアに対する一貫性を検証する。
  • プログラム合成(Pを生成してI/O上で実行)とプログラム誘導(出力Oyを直接生成)および手作りのルールベースシステムを比較する。
  • デコード時に、観測された出力に基づいて不整合な部分プログラムを絞り込む、DP-Beam のような動的計画法風の制約を導入する。

実験結果

リサーチクエスチョン

  • RQ1現実世界の FlashFill に類するタスクで、ニューラルプログラム合成はニューラルプログラム誘導を上回ることができるか?
  • RQ2注意機構で可変サイズのI/O例集合をエンコードすることが、合成の精度にどのように影響するか?
  • RQ3I/O例のノイズ(タイプミス)が、合成・誘導・ルールベースシステムに与える影響はどのようか?
  • RQ4異なる評価指標(全例精度 vs. 平均例精度)が、合成と誘導の強さの認識にどのように影響するか?
  • RQ5DSLの表現力(例:GetSpan)は現実世界のインスタンスでの一般化に寄与するか?

主な発見

SystemBeamGeneralization Accuracy (test)All-Example Accuracy (test)Average-Example Accuracy (test)
Parisotto et al. 2017 (neural synthesis baseline)10034%
Basic Seq-to-Seq10056%
Attention-C10086%
Attention-C-DP100092%
Induction (synthesis architecture variant)353%
  • 注意機構を用いたアーキテクチャは、基本的なseq-to-seqベースラインを大幅に上回ります(約25ポイントの利益)。
  • 最良の合成モデルはFlashFillTestで92%の一般化精度を達成し、以前の最良のニューラルアプローチ(34%)を上回ります。
  • ニューラル合成モデルは、ノイズに対して手作りのルールベースシステムよりはるかに頑健です(ノイズ下で80%対6%精度)。
  • ニューラル誘導と比較して、合成は全例一般化を高く提供しますが、誘導は評価例全体で部分的正解を提供できる場合があります。メトリックによって相補的な強みが得られます。
  • DP-Beamデコードとダブルアテンションを備えた後期プーリングが最も強い結果をもたらし(Attention-C-DP with Beam=1000 は92% の一般化を達成)。
  • Induction (Oy generation) は類似設定で53%の一般化、合成は81%。誘導は平均例精度でより良いが、全例精度では劣る。

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

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

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

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