arXiv · 2311.16977
Bidirectional Reactive Programming for Machine Learning
Abstract
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.
Explore related subjects
Keep this discovery
Dumitru Potop Butucaru, Albert Cohen, Gordon Plotkin, Hugo Pompougnac. 2023-11-28. Bidirectional Reactive Programming for Machine Learning. https://arxiv.org/abs/2311.16977
Cite the original work for its findings. Save a collection to share your selection of sources.