Monadic Deep Learning
summary
Claim: DeepLearning.scala 2.0 implements dynamic neural networks by modelling layers as composable monadic computations and exposing an monad-based DSL plus an Applicative type class so branches can run in parallel. Implementation specifics: convert layers to differentiable computations (flatMap, pair combinator), mark tasks for parallel GPU/CPU execution, plugin-style hyperparameter and layer injection, and a planned element-wise higher‑order operations path to solve ND4J’s current GPU limitation. Performance tradeoffs and examples of conditional nets and parallel scheduling are shown.
AI-written summary · about
chapters (12)
- 0:00Introduction to the topic
- 1:15Challenges in deep learning
- 3:45Scala and deep learning
- 6:03Programming environment
- 8:23Neural network implementation
- 12:04Higher-order functions
- 14:05Functional programming patterns
- 17:51Conditional neural networks
- 21:03Monads and performance
- 24:04Parallel execution on GPU
- 27:53Managing hyperparameters
- 33:14Future work and conclusion
related talks
34mDifferentiable Functional Programming
39mDifferentiable Functional Programming
32mStructured Deep Learning with Probabilistic Neural Prog
37mNeural Networks are Programs, Too
29mDeep Learning Needs Clojure
48mDynamic Neural Networks with DyNet
51mDeep Learning - What is it and What It Can Do For You
30mConstrained Monotonic Neural Networks
