Machine Learning: Alchemy for the Modern Computer Scientist
In ancient times, the dream of alchemists was to mutate ordinary metals such as lead into noble metals such as gold. However, by using classic mathematics, modern physicists and chemists are much more successful in understanding and transforming matter than alchemists ever dreamt of.
The situation in software seems to be the opposite. Computer scientists have been unsuccessful in their quest to reliably turn formal specifications into code and to accurately understand the mechanics of side-effecting computation. On the other hand, by using classic mathematics, modern software alchemists have been extremely successful in mutating training data into pure functions using various machine learning techniques, in particular deep learning.
Mechanically learning code from training data is often referred to as “Software 2.0” or “Learning-based development”. This new paradigm of software creation will require a radical rethinking of the ancestral software engineering and imperative programming practices that have been developed in the second half of the last century.
In this talk we will discuss how we are building new probabilistic frameworks and differentiable programming languages that support the composition and construction of learnable code, as well as how we can leverage machine learning at every level of the software stack to make developers more productive and services & products more efficient.