Compiling to Recurrent Neurons
Joey Velez-Ginorio, Nada Amin, Konrad P. Kording, Steve Zdancewic
Abstract
Discrete structures are currently second-class in differentiable programming. Since functions over discrete structures lack overt derivatives, differentiable programs do not differentiate through them and limit where they can be used. For example, when programming a neural network, conditionals and iteration cannot be used everywhere; they can break the derivatives necessary for gradient-based learning to work. This limits the class of differentiable algorithms we can directly express, imposing restraints on how we build neural networks and differentiable programs more generally. However, these restraints are not fundamental. Recent work shows conditionals can be first-class, by compiling them into differentiable form as linear neurons. Similarly, this work shows iteration can be first-class—by compiling to linear recurrent neurons. We present a minimal typed, higher-order and linear programming language with iteration called Cajal ( ⊸ , 𝟚 , ℕ ) . We prove its programs compile correctly to recurrent neurons, allowing discrete algorithms to be expressed in a differentiable form compatible with gradient-based learning. With our implementation, we conduct two experiments where we link these recurrent neurons against a neural network solving an iterative image transformation task. This determines part of its function prior to learning. As a result, the network learns faster and with greater data-efficiency relative to a neural network programmed without first-class iteration. A key lesson is that recurrent neurons enable a rich interplay between learning and the discrete structures of ordinary programming.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext 5f8e41ea-ad79-4efb-b46e-ac32fdeb489bBuilds on5
- A simple differentiable programming languageMartín Abadi, Gordon D. PlotkinPOPL 2020 · 49 citations
- Scallop: A Language for Neurosymbolic ProgrammingZiyang Li, Jiani Huang, Mayur NaikPLDI 2023 · 38 citations
- Provably correct, asymptotically efficient, higher-order reverse-mode automatic differentiationFaustyna Krawiec, Simon Peyton Jones, Neel Krishnaswami, Tom Ellis et al.POPL 2022 · 27 citations
- Relational Programming with Foundational ModelsZiyang Li, Jiani Huang, Jason Liu, Felix Zhu et al.AAAI 2024 · 11 citations
- Compiling to Linear NeuronsJoey Velez-Ginorio, Nada Amin, Konrad P. Kording, Steve ZdancewicPOPL 2026 · 1 citation
Related papers
- Distributions for Compositionally Differentiating Parametric DiscontinuitiesJesse Michel, Kevin Mu, Xuanda Yang, Sai Praveen Bangaru et al.OOPSLA 2024 · 7 citations
- Differentiable Synthesis of Program ArchitecturesGuofeng Cui, He ZhuNeurIPS 2021 · 20 citations
- Learning with Algorithmic Supervision via Continuous RelaxationsFelix Petersen, Christian Borgelt, Hilde Kuehne, Oliver DeussenNeurIPS 2021 · 33 citations
- Backpropagation in the simply typed lambda-calculus with linear negationAloïs Brunel, Damiano Mazza, Michele PaganiPOPL 2020 · 24 citations
- Learning Differentiable Programs with Admissible Neural HeuristicsAmeesh Shah, Eric Zhan, Jennifer J. Sun, Abhinav Verma et al.NeurIPS 2020 · 56 citations
