Differentiable Programming
A technique in machine learning and artificial intelligence that involves training models using gradient-based optimization. Differentiable programs are programs that rewrite themselves at least one component by optimizing along a gradient like neural networks do use optimization algorithms such as gradient descent.
Differentiable programming makes it possible to train models with large amounts of data and complex architectures, such as deep neural networks.