Calculus phobic's introduction to differentiable programming in Python
Want to unlock a powerful new tool?
Differentiable programming is an emerging field in numerical optimization, brought about by the deep learning revolution, providing general and accessible optimization capabilities that can be applied to diverse domains.
Despite its great potential, it’s not uncommon for developers to move along when they happen across this topic, leaving it to the “ML guys” and repressing bad memories from calculus class. But it doesn’t have to be that way! In fact, a big part of the differentiable programming offering is exactly to offload having to calculate derivatives and gradients manually. I’ll introduce the basic framework of differentiable programming with the JAX library, and demonstrate with a couple of simple examples. We’ll then discuss more advanced use cases and applications.
You'll learn how to:
- Identify problems where differentiable programming is applicable
- Formulate problems for differentiable programming
- Optimize problems with JAX
Target audience: Solid proficiency with basic python is sufficient for the talk (functions, loops, lists, operators). There will be math, but I promise it will be light and handled gently.
Is this talk just for ML people? Absolutely not! Differentiable programming has applications beyond the world of ML, and you don’t need to know fancy math to use it.