Skip to main content
QUICK REVIEW

[論文レビュー] Programming with a Differentiable Forth Interpreter

Matko Bošnjak, Tim Rocktäschel|arXiv (Cornell University)|May 21, 2016
Topic Modeling参考文献 32被引用数 58
ひとこと要約

この論文は、勾配降下法を用いて部分的なプログラムスケッチから手続き的行動を学習できる微分可能Forthインタプリタ∂⁴を紹介する。Forthコードを微分可能抽象機械として埋め込むことで、プログラマがアルゴリズム的構造などの手続き的知識を組み込む一方で、バックプロパゲーションにより未指定の演算を最適化できる。このフレームワークにより、単語問題の解決などの神経的推論タスクで最先端の性能を達成した。

ABSTRACT

Given that in practice training data is scarce for all but a small set of problems, a core question is how to incorporate prior knowledge into a model. In this paper, we consider the case of prior procedural knowledge for neural networks, such as knowing how a program should traverse a sequence, but not what local actions should be performed at each step. To this end, we present an end-to-end differentiable interpreter for the programming language Forth which enables programmers to write program sketches with slots that can be filled with behaviour trained from program input-output data. We can optimise this behaviour directly through gradient descent techniques on user-specified objectives, and also integrate the program into any larger neural computation graph. We show empirically that our interpreter is able to effectively leverage different levels of prior program structure and learn complex behaviours such as sequence sorting and addition. When connected to outputs of an LSTM and trained jointly, our interpreter achieves state-of-the-art accuracy for end-to-end reasoning about quantities expressed in natural language stories.

研究の動機と目的

  • 神経ネットワーク学習における限られた訓練データの課題に対処するため、モデル設計に部分的な手続き的知識を組み込むこと。
  • Forthプログラムのエンドツーエンド微分可能実行を可能にし、未指定のプログラム部品の勾配ベース最適化を可能にすること。
  • 微分可能抽象機械を通じて、神経ネットワークと記号的プログラム構造を統合するフレームワークを提供すること。
  • 学習されたスロットを備えたプログラムスケッチが、未観測の問題サイズに一般化できることを示すこと。また、手続き的事前知識を含まないモデルと比較して優れた性能を発揮すること。
  • 自然言語による数量に関する推論タスクなど、LSTMなどの神経アーキテクチャと記号的プログラムインタプリタを共同で訓練できること。

提案手法

  • Forthプログラミング言語のための微分可能抽象機械を設計し、そのスタックベースの意味論を連続的かつ微分可能な操作としてモデル化すること。
  • Forthプログラムを、データスタック、リターンスタック、ヒープ、プログラムカウンタの状態遷移を定義する単語の系列として表現すること。
  • ユーザー定義の目的関数に基づき、勾配降下法を用いてバックプロパゲーションで最適化される神経スロットをForthスケッチ内に実装すること。
  • 微分可能Forthインタプリタを、LSTMエンコーダーなどのより大きな神経計算グラフに統合し、エンドツーエンドの学習を可能にすること。
  • 神経プログラム実行の高速化と学習効率の向上を図るため、記号的実行最適化を適用すること。
  • 入出力ペアの学習を通じて、スケッチ内の欠落した演算(例:ソートや算術演算)を学習すること。

実験結果

リサーチクエスチョン

  • RQ1微分可能Forthインタプリタは、部分的なプログラムスケッチと入出力例からのみ、手続き的行動を効果的に学習できるか?
  • RQ2構造的なプログラムスケッチのみを用いて限られたデータで学習した場合、未観測の問題サイズにどの程度一般化できるか?
  • RQ3Forthスケッチを通じた手続き的事前知識の組み込みが、エンドツーエンドの神経モデルと比較して、神経的推論タスクの性能にどの程度向上効果をもたらすか?
  • RQ4微分可能インタプリタは、LSTMなどの大規模な神経アーキテクチャにシームレスに統合可能であり、自然言語推論タスクにおける共同学習が可能か?
  • RQ5複雑な推論シナリオにおいて、記号的プログラム構造と神経学習を組み合わせることで、どの程度の性能向上が達成できるか?

主な発見

  • ∂⁴インタプリタは、プログラムスケッチと入出力ペアのみを用いて、シーケンスのソートと算術加算を正しく学習し、未観測の問題サイズに一般化した。
  • LSTMに接続され、共同で学習されたモデルは、自然言語ナラティブにおける数量に関するエンドツーエンド推論で最先端の正確性を達成した。
  • 高レベルのアルゴリズム的構造(例:再帰的ソート)のみがスケッチとして提供されていても、このフレームワークは手続き的行動の有効な学習を可能にした。
  • 微分可能Forthインタプリタにより、プログラム実行全体を通じたエンドツーエンドのバックプロパゲーションが可能になり、記号的コード内での神経コンポonentの最適化が可能になった。
  • 記号的実行に基づく最適化は、学習中の神経プログラム実行を顕著に高速化した。
  • 従来の神経プログラム誘導に依存するモデルや、推論タスクにための明示的中間表現を必要とするモデルと比較して、本手法は優れた性能を発揮した。

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

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

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

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