PLLGNov 28, 2023

Bidirectional Reactive Programming for Machine Learning

arXiv:2311.16977v1h-index: 16
Originality Incremental advance
AI Analysis

This work provides a novel programming paradigm for machine learning practitioners, though it appears incremental as it extends existing reactive languages rather than introducing a fundamentally new method.

The authors tackled the problem of modeling machine learning algorithms as reactive programs by introducing a symmetric reactive construct for backward recurrences, demonstrating that key ML techniques like backpropagation and bidirectional RNNs can be naturally captured within this framework.

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.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes