Turns out matrices may be more relevant to our future than we thought

We previously talked about how Transfer Learning will radically change ML. People seemed to love it, so we thought we’d follow up with some thoughts on democratizing AI and Software 2.0.

Machine Learning has had significant impact on the technology industry in the past few years, but many engineers still view it as little more than a highly specialized tool with a complex, esoteric setup. This is for good reason, since ML hasn’t reached the plug and play accessibility of most modern engineering paradigms.

As it turns out, when solving problems in the real world it is significantly easier to collect data than to write explicit programs. This contrast is the driving force behind what some brilliant folks refer to as Software 2.0

Machine Learning as the Basis of Software 2.0

Software 2.0 differs from the current standard in one important way: it will center on neural network weights, not explicit algorithms. The engineers of the future will be significantly more productive because of this, as their role will revolve around finding the constraints of the problem they need to solve and narrowing down on the optimal ML program to satisfy those constraints. These programmers won’t be occupied with writing intricate, explicit programs and maintaining them, but instead collecting data and picking the right ML paradigm to match.

The transition from explicit programming to Software 2.0 is already underway, and can be observed in fields like Robotics, Image Classification, Translation, and Gaming. For example, Speech Recognition used to be extremely time intensive to build, involving Hidden Markov Models and preprocessing but today is primarily supported by neural networks.

Of course, this isn’t to say that that Software 1.0 will disappear, but that it will move into the role of infrastructure, supporting the paradigms proposed above.

The First Step: Accessible Machine Learning

The first step to this incredibly productive future is to make Machine Learning more accessible to the everyday engineer. Many programmers still view neural networks and other models as little more than specific tools built through a complex, arduous process.

But paradigms like Transfer Learning are changing this, and ML is more applicable to real world problems than ever before. Pretrained models are becoming increasingly prevalent and making use of them promises to supercharge most general development needs. In tapping into a trained model for a related purpose to its original design, teams can leapfrog the setup and training required to bring a model up to par for the task.