Differentiable Programming
YouTube search... ...Google search
- Programming paradigms | Wikipedia
- Automated Learning
- Automatic differentiation - Wikipedia
- Graph
- Julia Computing & MIT Introduce Differentiable Programming System Bridging AI and Science | Yuqing Li - Synced - Medium
- Zygote Zygote extends the Julia language to support differentiable programming. With Zygote you can write down any Julia code you feel like – including using existing Julia packages – then get gradients and optimise your program. Deep learning, ML and probabilistic programming are all different kinds of differentiable programming that you can do with Zygote.
“People are now building a new kind of software by assembling networks of parameterized functional blocks and by training them from examples using some form of gradient-based optimization.” - Facebook Chief AI Scientist Yann LeCun
Differentiable programs are programs that rewrite themselves at least one component by optimizing along a gradient, like neural networks do using optimization algorithms such as gradient descent. Here’s a graphic illustrating the difference between differential and probabilistic programming approaches. A Beginner's Guide to Differentiable Programming | Chris Nicholson - A.I. Wiki pathmind
TensorFlow 1 uses the static graph approach, whereas TensorFlow 2 uses the dynamic graph approach by default. Differentiable programming | Wikipedia