Skip to main content
QUICK REVIEW

[論文レビュー] HOUDINI: Lifelong Learning as Program Synthesis

Lazar Valkov, Dipak Chaudhari|arXiv (Cornell University)|Mar 31, 2018
Ferroelectric and Negative Capacitance Devices被引用数 26
ひとこと要約

Houdiniは、生涯学習をプログラム合成として定式化する神経記号的フレームワークを提案する。シンボリックなプログラム探索と勾配降下法を組み合わせることで、微分可能で強く型付けされた関数型プログラムを学習する。高レベルの概念を異なるタスク間で効果的に転送可能にするために、ニューラルライブラリ関数を再利用することで、画像認識+アルゴリズム的タスク(例:数え上げ、最短経路計算)において、災難的忘却やネガティブな転移を効果的に回避する。

ABSTRACT

We present a neurosymbolic framework for the lifelong learning of algorithmic tasks that mix perception and procedural reasoning. Reusing high-level concepts across domains and learning complex procedures are key challenges in lifelong learning. We show that a program synthesis approach that combines gradient descent with combinatorial search over programs can be a more effective response to these challenges than purely neural methods. Our framework, called HOUDINI, represents neural networks as strongly typed, differentiable functional programs that use symbolic higher-order combinators to compose a library of neural functions. Our learning algorithm consists of: (1) a symbolic program synthesizer that performs a type-directed search over parameterized programs, and decides on the library functions to reuse, and the architectures to combine them, while learning a sequence of tasks; and (2) a neural module that trains these programs using stochastic gradient descent. We evaluate HOUDINI on three benchmarks that combine perception with the algorithmic tasks of counting, summing, and shortest-path computation. Our experiments show that HOUDINI transfers high-level concepts more effectively than traditional transfer learning and progressive neural networks, and that the typed representation of networks significantly accelerates the search.

研究の動機と目的

  • 過去のタスクから得た知識を保持しつつ、新しいタスクを学習する生涯学習の課題に対処すること。
  • 純粋なニューラル手法が高レベルの概念を転送するのを妨げる限界を克服し、災難的忘却を回避すること。
  • モジュラーで合成可能なプログラム表現を通じて、多様なタスク間でニューラルコンポONENTを効果的に再利用できるようにすること。
  • シンボリック探索と勾配ベースの学習を統合し、スケーラブルで解釈可能なニューラルアーキテクチャ探索のフレームワークを開発すること。

提案手法

  • 高階関数コンビネータを用いて、ニューラル関数を組み合わせることで、強く型付けされ、微分可能な関数型プログラムとしてニューラルネットワークを表現する。
  • シンボリックなプログラム合成器を用いて、型指向の探索を実施し、ライブラリ関数とアーキテクチャを再利用可能な形で選択する。
  • 確率的勾配降下法を用いて、合成されたプログラムをエンドツーエンドで学習し、構造とパラメータの両方を最適化する。
  • 2種類の探索戦略を実装する:トップダウンで型指向の列挙(単純さを重視)、型指向の進化的アルゴリズム。
  • 事前学習済み関数のニューラルライブラリを活用し、タスク間でコンポONENTを固定・選択的に再利用することで、災難的忘却を防止する。
  • 合計、最短経路計算などのアルゴリズム的演算を、再帰的・反復的手続きを自然に表現できる関数コンビネータで表現する。

実験結果

リサーチクエスチョン

  • RQ1プログラム合成技術は、多様なタスク間でニューラルコンポONENTの構造的再利用を可能にすることで、生涯学習の性能を向上させることができるか?
  • RQ2型付き関数型プログラムに対するシンボリック探索は、エンドツーエンドのニューラル学習と比較して、複雑な認識+手続き的タスクを学習する際にどのように異なるか?
  • RQ3Houdiniは、転移学習やプログレッシブニューラルネットワークと比較して、災難的忘却やネガティブな転移をどの程度回避できるか?
  • RQ4視覚入力に対する推論を伴うタスクにおいて、Houdiniは解釈可能でアルゴリズム的に意味のあるプログラム(例:ベルマン=フォードに類似)を発見できるか?
  • RQ5型付き関数型表現は、生涯学習の文脈において、探索プロセスの高速化と一般化性能の向上に顕著に寄与するか?

主な発見

  • Houdiniは、リラクゼーションステップを近似する学習済みニューラル関数を用いて、ベルマン=フォード最短経路アルゴリズムに類似したプログラム構造を発見した。
  • アルゴリズム的推論を含む回帰タスク(例:数え上げ、合計)において、Houdiniは count_digit(5) で 0.41 RMSE、recognize_digit(4) で 0.33% CE を達成し、ベースラインを上回った。
  • LS5 シーケンスにおいて、Houdiniは recognize_digit(4) で 0.33% CE を達成し、他の手法と比べ顕著に優れており、高レベルの転送が効果的であることを示した。
  • 転送の機会のない分類タスクでは、すべての手法が同程度の性能を示した。これは、Houdiniの利点が転送可能な設定において顕著に現れることを確認した。
  • 型付き関数型表現により、不適切なプログラムを早期に除外することで探索が高速化され、効率性とスケーラビリティが向上した。
  • Houdiniは、タスク間でニューラルライブラリ関数を固定・選択的に再利用することで、ネガティブな転移と災難的忘却を回避した。

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

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

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

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