Microsoft has open sourced machine learning (ML) framework Infer.NET, making it available on GitHub to be used for free in commercial applications.
Infer.NET was first created by a Microsoft research team in a Cambridge in the UK nearly 15 years ago. It differs from other ML software as it takes a model-based approach.
ML developers generally source an off-the-shelf algorithm and tweak it so it fits with the goal of the task they want done. By contrast, Infer.NET begins with the task’s requirements as the starting point for the project.
The tool use algorithms to draw probabilistic inferences out of data, it does so by providing a framework for a Bayesian inference in graphical models to achieve machine learning in an easy to operate manner.
Bayesian inference is a statistical inference that updates a hypothesis as more data is fed into the system.
John Winn a Principal Researcher on the project commented in a Microsoft blog post that: “Our goal in creating Infer.NET was to democratize machine learning—to make a tool that brings advanced machine-learning techniques to a broader audience.”
“As part of doing this, we wanted to test out Infer.NET in a wide variety of areas. I have been particularly interested in medical and biological applications, but others have used Infer.NET to solve a dizzying range of problems, including modeling climate change.”
In 2012 the team won a Patent for Humanity award for Infer.NET’s use in humanitarian and biomedical research. The three projects selected for the award were its use in Asthma epidemiology which saw Microsoft and the university of Manchester use it to study asthma by evaluating genetic and environmental factors together.
Its use in genetic analysis was highlighted where it has helped to identify correlations between our genetics and the activity of genes in different tissues.
Lastly, the Microsoft Research team at Cambridge used Infer.NET to: “Examine how key drivers of such dynamics, such as the growth and mortality rates of different-sized trees in different kinds of forests, vary across geographic space and from year to year.”
Yordan Zaykov, Principal Research Software Engineering Lead blogged in more detail how the Infer.NET describes models in a probabilistic program: “Infer.NET compiles the probabilistic program into high-performance code for implementing something cryptically called deterministic approximate Bayesian inference.”
“This approach allows substantial scalability – for example, we use it in a system that automatically extracts knowledge from billions of web pages, comprising petabytes of data. The use of deterministic inference algorithms is complementary to the predominantly sampling-based methods of most other probabilistic programming frameworks.”
“A key capability of our approach is support for online Bayesian inference – the ability of the system to learn as new data arrives. We have observed that this is essential in business and consumer products that interact with users in real time.”