This blog post is authored by John Platt, a Distinguished Scientist at Microsoft Research.
Hi, I’m John Platt. For 17 years now, I’ve been creating and using machine learning (ML) algorithms at Microsoft. ML has become very popular lately, so often people ask me, “What is machine learning? What do you use it for?”
I am happy to answer these questions, because, as it turns out, the use of ML is pervasive across Microsoft’s vast array of products – something that makes Microsoft a fun and impactful place to do ML (it’s like being a kid in a candy store).
In general, ML converts data sets into pieces of software, known as “models,” that can represent the data set and generalize to make predictions on new data. Because ML is so broadly used, I find it useful to put ML applications into a rough taxonomy. ML can be used in three different ways:
- Data Mining: ML can be used by people to gain insights from large databases.
Statistical Engineering: ML can be used to convert data into software that makes decisions about uncertain data.
Artificial Intelligence: ML can be used to emulate the human mind, to create computers that can see, hear, and understand.
At Microsoft, we use ML for all three of these purposes. For example:
The Microsoft Malware Protection Center, collaborating with Microsoft Research, has used ML to create software to automatically detect malware, and to help analysts gain insight into malware development. You can read more about this in a blog entry from Dennis Batchelder.
Building a Search Engine
Microsoft’s Bing search engine is a very complex system that interprets your query, scours the web, and returns information that you will find useful. Because Bing has such high volume of traffic, we must use automated decision-making to handle the uncertainty and ambiguity of natural language. We have exploited ML to create many components of Bing that work together to form a high-quality search engine. One particular form of ML that is useful for search is ranking: a few years ago, a team from Microsoft Research won a Learning to Rank competition using the algorithms we’ve developed.
Enabling Computers to See and Hear
Microsoft has been pushing the state of the art in both computer vision and speech recognition. The software that recognizes your gestures in the Kinect was created by ML. Microsoft’s speech recognition system is based on deep learning, a form of ML model that is inspired by the structure of the brain. We have also used ML to create a real-time speech-to-speech translator.
Looking at these exciting applications, I realize that now is a magical time for machine learning. Many researchers and developers have been working steadily on these applications for years. Because of Moore’s Law and the internet, we now have enough labeled data and computation to enable ML to create remarkable software. I’m looking forward to providing our algorithms and tools to other developers, so that they can use their creativity to create their own remarkable applications.
In my next post, I will talk about how ML at Microsoft has evolved over the last 20 years. I’m looking forward to the opportunity to interact with our readers through this blog!