Monadic Deep Learning
Not on the map. Why?
Abstract (arXiv)
The Java and Scala community has built a very successful big data ecosystem. However, most of neural networks running on it are modeled in dynamically typed programming languages. These dynamically typed deep learning frameworks treat neural networks as differentiable expressions that contain many trainable variable, and perform automatic differentiation on those expressions when training them. Until 2019, none of the learning frameworks in statically typed languages provided the expressive power of traditional frameworks. Their users are not able to use custom algorithms unless creating plenty of boilerplate code for hard-coded back-propagation. We solved this problem in DeepLearning.scala 2. Our contributions are: 1. We discovered a novel approach to perform automatic differentiation in reverse mode for statically typed functions that contain multiple trainable variable, and can interoperate freely with the metalanguage. 2. We designed a set of monads and monad transformers, which allow users to create monadic expressions that represent dynamic neural networks. 3. Along with these monads, we provide some applicative functors, to perform multiple calculations in parallel. With these features, users of DeepLearning.scala were able to create complex neural networks in an intuitive and concise way, and still maintain type safety.
Key facts. No citing papers in the map yet (data through 14 Oct 2026). Builds on 10 of its 48 references that are in the map. First posted on arXiv 23 Jul 2023.
Builds on
10 of 48 references.
References · 10
- 2014Adam: A Method for Stochastic Optimizationcited by 37,240
- 2017Outrageously Large Neural Networks: The Sparsely-Gated Mixture-of-Experts Layercited by 3,509
- 2015Automatic differentiation in machine learning: a surveycited by 855
- 2014Caffe: Convolutional Architecture for Fast Feature Embeddingcited by 288
- 2015MXNet: A Flexible and Efficient Machine Learning Library for Heterogeneous Distributed Systemscited by 195
- 2014DenseNet: Implementing Efficient ConvNet Descriptor Pyramidscited by 66
- 2017Dynamic Deep Neural Networks: Optimizing Accuracy-Efficiency Trade-offs by Selective Executioncited by 59
- 2018The simple essence of automatic differentiationcited by 23
- 2017DyNet: The Dynamic Neural Network Toolkitcited by 21
- 2017DeepDSL: A Compilation-based Domain-Specific Language for Deep Learningcited by 4
Built on by
Not cited yet.