paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Compiling to Linear Neurons

编译到线性神经元
POPL 10(POPL)2026匹配度 4/10 · 论文属于程序语言与机器学习的交叉,涉及类型化线性语言、可微编译和神经网络直接编程,与PL→AI方向有间接关联;但它不涉及用户核心关注的静态分析、Agentic/LLM程序、浮点程序分析或贝叶斯程序分析,因此匹配度有限。引用 1 inbox
Joey Velez-Ginorio, Nada Amin, Konrad Kording, Steve Zdancewic
crossref: 2026-09-10

AI 速览

一句话:提出类型化高阶线性语言 Cajal,并证明其程序可编译为线性神经元,从而以可微方式直接编程神经网络。

神经网络通常通过梯度下降等学习算法从数据中间接习得功能,难以直接嵌入离散算法,因为离散结构往往不可微,无法与基于梯度的学习兼容。本文提出 Cajal (⊸, 𝟚):一种类型化、高阶且线性的编程语言,旨在作为直接编程神经网络的最小载体。作者证明 Cajal 程序可编译为线性神经元,使离散算法能以与梯度学习兼容的可微形式表达。基于 Cajal 实现,作者将线性神经元与其他神经网络链接,在学习前确定其部分功能。实验表明,这种链接可加速学习、提高数据效率并更易调试。论文表明线性编程语言为直接编程神经网络提供了路径,促进学习与普通编程离散结构之间的丰富交互。

问题
神经网络通过梯度学习间接确定功能,缺乏离散结构,导致大多数离散算法难以编译进网络,因为离散算法不明显可微,与梯度学习不兼容。
方法
提出类型化高阶线性语言 Cajal (⊸, 𝟚),并证明其程序可编译为线性神经元,从而将离散算法表达为可微形式;实现该语言并将线性神经元链接到其他神经网络。
评估
通过 Cajal 实现进行实验,将线性神经元与其他神经网络链接以在学习前确定部分功能,结果表明可加快学习、提高数据效率并更易调试。
原文摘要(Abstract)

We don’t program neural networks directly. Instead, we rely on an indirect style where learning algorithms, like gradient descent, determine a neural network’s function by learning from data. This indirect style is often a virtue; it empowers us to solve problems that were previously impossible. But it lacks discrete structure. We can’t compile most algorithms into a neural network—even if these algorithms could help the network learn. This limitation occurs because discrete algorithms are not obviously differentiable, making them incompatible with the gradient-based learning algorithms that determine a neural network’s function. To address this, we introduce Cajal ( ⊸ , 𝟚 ): a typed, higher-order and linear programming language intended to be a minimal vehicle for exploring a direct style of programming neural networks. We prove Cajal ( ⊸ , 𝟚 ) programs compile to linear neurons, allowing discrete algorithms to be expressed in a differentiable form compatible with gradient-based learning. With our implementation of Cajal ( ⊸ , 𝟚 ), we conduct several experiments where we link these linear neurons against other neural networks to determine part of their function prior to learning. Linking with these neurons allows networks to learn faster, with greater data-efficiency, and in a way that’s easier to debug. A key lesson is that linear programming languages provide a path towards directly programming neural networks, enabling a rich interplay between learning and the discrete structures of ordinary programming.

链接与引用

DOI 原文 · arXiv · PDF(开放获取) · DBLP

BibTeX
@article{abs-2511-13769,
  title = {Compiling to Linear Neurons},
  author = {Joey Velez-Ginorio and Nada Amin and Konrad Kording and Steve Zdancewic},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {10},
  number = {POPL},
  year = {2026},
  doi = {10.1145/3776677}
}