Skip to main content
QUICK REVIEW

[論文レビュー] DreamCoder: Growing generalizable, interpretable knowledge with wake-sleep Bayesian program learning

Kevin Ellis, Catherine Wong|arXiv (Cornell University)|Jun 15, 2020
Explainable Artificial Intelligence (XAI)被引用数 33
ひとこと要約

DreamCoderは、解釈可能で再利用可能な知識を持つ多様なタスクを解くために、ドメイン固有のプログラミング抽象のライブラリとニューラル検索ガイドを共同で拡大し、ウェイク-スリープのベイズ的プログラム帰納を利用する。

ABSTRACT

Expert problem-solving is driven by powerful languages for thinking about problems and their solutions. Acquiring expertise means learning these languages -- systems of concepts, alongside the skills to use them. We present DreamCoder, a system that learns to solve problems by writing programs. It builds expertise by creating programming languages for expressing domain concepts, together with neural networks to guide the search for programs within these languages. A ``wake-sleep'' learning algorithm alternately extends the language with new symbolic abstractions and trains the neural network on imagined and replayed problems. DreamCoder solves both classic inductive programming tasks and creative tasks such as drawing pictures and building scenes. It rediscovers the basics of modern functional programming, vector algebra and classical physics, including Newton's and Coulomb's laws. Concepts are built compositionally from those learned earlier, yielding multi-layered symbolic representations that are interpretable and transferrable to new tasks, while still growing scalably and flexibly with experience.

研究の動機と目的

  • ベイズ学習に基づくプログラマブルな抽象化を通じて、専門的で一般化可能な知識を構築するという目標を動機づけ、達成する。
  • ドメイン固有のライブラリとニューラル検索ガイドを共同で学習するウェイク-スリープのベイesianフレームワークを導入する。
  • 古典的なプログラム合成、グラフィックス、塔の構築、テキスト編集、確率的概念など、多様なドメインにわたってアプローチを実証する。
  • 学習された抽象化が、効率的で解釈可能、かつスケーラブルな問題解決を可能にすることを示す。

提案手法

  • 学習を、可 learnt? Japanese:

実験結果

リサーチクエスチョン

  • RQ1システムは、タスク全体で再利用可能な抽象化を捉えるドメイン固有のプログラミング言語(ライブラリ)を学習できるか。
  • RQ2ライブラリ学習とニューラル検索ガイドを結合すると、プログラム帰納の拡張性と解決品質が向上するか。
  • RQ3抽象化と夢想というウェイク-スリープサイクルが、タスクとドメイン全体での一般化、解釈可能性、データ効率にどう影響するか。
  • RQ4このアプローチは、核心的なプログラミング概念を再発見し、グラフィックス、塔、正規表現/軌道問題といった創造的なタスクを解決できるか。
  • RQ5学習された抽象化が探索の深さ・広さ・全体的な性能に与える影響は何か。

主な発見

  • DreamCoderは、学習済みライブラリのルーチンをニューラルガイダンスモデルと組み合わせることで、複数のドメインにまたがる幅広いタスクを解く。
  • 学習ベースの抽象化と圧縮は、より深く再利用可能なライブラリを生み出し、より多くのタスクの解決と相関する(r = 0.79)。
  • Dreaming(ニューラル認識モデルの訓練)は、ドメインを超えた性能を向上させ、より効率的な問題解決を可能にする。
  • DreamCoderはテキスト編集タスクのベンチマークで顕著な向上を達成し、学習後は約79.6%、学習前の3.7%に対して、平均解決時間がより短くなる(40秒 vs 235秒)。
  • 創造的なドメイン(グラフィックス、塔の構築)では、学習によりほぼ100%に近いタスクカバレッジに近づき、ベースラインが60%未満で停滞する領域で近づく。
  • このシステムは、タスクとドメインをまたいで移転する、人間が解釈しやすい高レベルの構成要素(例: map、パラメトリックオプション)を発見する。

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

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

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

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