Bidirectional Reactive Programming for Machine Learning
Not on the map. Why?
Abstract (arXiv)
Reactive languages are dedicated to the programming of systems which interact continuously and concurrently with their environment. Values take the form of unbounded streams modeling the (discrete) passing of time or the sequence of concurrent interactions. While conventional reactivity models recurrences forward in time, we introduce a symmetric reactive construct enabling backward recurrences. Constraints on the latter allow to make the implementation practical. Machine Learning (ML) systems provide numerous motivations for all of this: we demonstrate that reverse-mode automatic differentiation, backpropagation, batch normalization, bidirectional recurrent neural networks, training and reinforcement learning algorithms, are all naturally captured as bidirectional reactive programs.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 10 of its 42 references that are in the map. First posted on arXiv 28 Nov 2023.
Builds on
10 of 42 references.
References · 10
- 2015Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shiftcited by 7,005
- 2017Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layercited by 3,509
- 2020Streaming keyword spotting on mobile devicescited by 47
- 2020Synthesizing Optimal Collective Algorithmscited by 30
- 2020Instead of Rewriting Foreign Code for Machine Learning, Automatically Synthesize Fast Gradientscited by 27
- 2020Trajectory Planning for Autonomous Vehicles Using Hierarchical Reinforcement Learningcited by 17
- 2022You Only Linearize Once: Tangents Transpose to Gradientscited by 10
- 2021Multirate Training of Neural Networkscited by 5
- 2020Deep learning models for predictive maintenance: a survey, comparison, challenges and prospectcited by 4
- 2019Extending TensorFlow's Semantics with Pipelined Executioncited by 1
Built on by
Not cited yet.