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.

研究动机与目标

  • 解决终身学习中的挑战,即模型在学习新任务的同时必须保留先前任务的知识。
  • 克服纯神经方法在传递高层概念和避免灾难性遗忘方面的局限性。
  • 通过模块化、可组合的程序表示,实现在多样化任务间对神经组件的有效重用。
  • 开发一种结合符号搜索与基于梯度训练的框架,实现可扩展、可解释的神经架构发现。

提出的方法

  • 使用高阶组合子将神经网络表示为强类型、可微分的函数式程序,以组合神经函数。
  • 采用符号程序合成器,对参数化程序进行类型导向的搜索,选择可重用的库函数与网络架构。
  • 使用随机梯度下降端到端训练合成的程序,同时优化结构与参数。
  • 实现两种搜索策略:自顶向下的、类型导向的枚举,优先选择简单结构;以及类型导向的进化算法。
  • 利用预训练的神经库函数,冻结并选择性地在不同任务间重用组件,防止灾难性遗忘。
  • 使用函数组合子对算法操作(例如求和、最短路径)进行编码,自然表达递归与迭代过程。

实验结果

研究问题

  • RQ1程序合成技术是否能通过在多样化任务间结构化重用神经组件,改善终身学习?
  • RQ2与端到端神经训练相比,对强类型函数式程序进行符号搜索,在学习复杂感知-程序化任务方面表现如何?
  • RQ3与迁移学习和渐进式神经网络相比,Houdini 在多大程度上能避免灾难性遗忘和负面迁移?
  • RQ4该框架能否为涉及视觉输入推理的任务发现可解释、具有算法意义的程序(例如类似 Bellman-Ford 的结构)?
  • RQ5类型化函数式表示是否显著加速搜索过程,并在终身学习设置中提升泛化能力?

主要发现

  • Houdini 发现了一种类似 Bellman-Ford 最短路径算法的程序结构,使用学习到的神经函数近似松弛步骤。
  • 在涉及算法推理的回归任务中(例如计数、求和),Houdini 在 count_digit(5) 上达到 0.41 RMSE,在 recognize_digit(4) 上达到 0.33% CE,优于基线方法。
  • 在 LS5 序列上,Houdini 在 recognize_digit(4) 上达到 0.33% CE,显著优于其他方法,证明了高层知识有效迁移。
  • 在无迁移机会的分类任务上,所有方法表现相似,证实 Houdini 的优势仅在具备迁移潜力的场景中显现。
  • 类型化函数式表示通过早期剪枝不可行程序,显著提升了搜索效率与可扩展性。
  • Houdini 通过冻结并选择性重用神经库函数,在不同任务间避免了负面迁移与灾难性遗忘。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。