Project Malmo: Using Minecraft to build more intelligent technology

Microsoft researchers working on Project Malmo include, from top left, Fernando Diaz, Evelyne Viegas, David Bignell, Alekh Agarwal, Matthew Johnson, Akshay Krishnamurthy, Katja Hofmann and Tim Hutton. (Photography by Scott Eklund/Red Box Pictures)

In the airy, loft-like Microsoft Research lab in New York City, five computer scientists are spending their days trying to get a Minecraft character to climb a hill.

That may seem like a pretty simple job for some of the brightest minds in the field, until you consider this: The team is trying to train an artificial intelligence agent to learn how to do things like climb to the highest point in the virtual world, using the same types of resources a human has when she learns a new task.

That means that the agent starts out knowing nothing at all about its environment or even what it is supposed to accomplish. It needs to understand its surroundings and figure out what’s important – going uphill – and what isn’t, such as whether it’s light or dark. It needs to endure a lot of trial and error, including regularly falling into rivers and lava pits. And it needs to understand – via incremental rewards – when it has achieved all or part of its goal.

“We’re trying to program it to learn, as opposed to programming it to accomplish specific tasks,” said Fernando Diaz, a senior researcher in the New York lab and one of the people working on the project.

The research project is possible thanks to Project Malmo, a platform developed by Katja Hofmann and her colleagues in Microsoft’s Cambridge, UK, lab and unveiled publicly on Monday. Project Malmo allows computer scientists to use the world of Minecraft as a testing ground for conducting research designed to improve artificial intelligence.

Microsoft researchers are using Project Malmo for their own research, and they have made it available to a small group of academic researchers under a private beta. This summer, Project Malmo will be available via an open-source license.

Hofmann came up with the idea for Project Malmo about a year ago, in part because she was frustrated by the limitations of other platforms that use simpler, less sophisticated games for artificial intelligence research.

Minecraft is ideal for artificial intelligence research for the same reason it is addictively appealing to the millions of fans who enter its virtual world every day. Unlike other computer games, Minecraft offers its users endless possibilities, ranging from simple tasks like walking around looking for treasure to complex ones like building a structure with a group of teammates.

“Minecraft is the perfect platform for this kind of research because it’s this very open world,” Hofmann said. “You can do survival mode, you can do ‘build battles’ with your friends, you can do courses, you can implement our own games. This is really exciting for artificial intelligence because it allows us to create games that stretch beyond current abilities.”

From doing to learning

Over the past few years, artificial intelligence researchers have gotten very good at teaching computers to do specific, often complicated tasks. Computers can now understand speech and translate it. They can recognize images and write captions about them.

But despite all these advances, computers still aren’t very good at what researchers call general intelligence, which is more similar to the nuanced and complex way humans learn and make decisions. A computer algorithm may be able to take one task and do it as well or even better than an average adult, but it can’t compete with how an infant is taking in all sorts of inputs – light, smell, touch, sound, discomfort – and learning that if you cry chances are good that Mom will feed you.

“The things that seem really easy for us are actually the things that are really difficult for an artificial intelligence,” said Robert Schapire, a principal researcher at Microsoft Research who is part of the team using Project Malmo in Microsoft’s New York lab.

Hofmann said artificial intelligence researchers are able to take tiny slices of that total awareness and build tools that do one thing, like recognize words, but they haven’t been able to combine them in the way that humans do effortlessly. She said that’s partly because we don’t really know how humans are combining those senses.

“We don’t understand ourselves well enough,” she said.

From theory to practice

There has been plenty of theoretical research into general artificial intelligence, but researchers have always been limited by practical ways to test their systems.

Building a robot and trying to teach it to climb a real hill is costly and impractical; unlike in Minecraft, you’d have to repair or replace the robot with another costly machine each time it fell into a river.

It’s also not that easy to test general artificial intelligence research on systems people are using in the real world. Hofmann’s background is in how to make search more of an intelligent assistant than a simple information retrieval system, but she said one problem with testing her theories in real-world scenarios is that millions of people are depending on search engines to work in a predictable way.

“It’s hard to test some of this in practice, and that’s one of the main motivations for building the platform,” Hofmann said.

The Minecraft platform was especially appealing because it allows players to make really complex decisions that have consequences, and to add more and more difficult elements as they get better. It also lets users work together, which could help researchers experiment with how humans and artificially intelligent agents could work together.

“It’s a digital playpen for artificial intelligence,” Diaz said. “It’s an environment in which we can develop an algorithm for teaching a young artificial intelligence to learn different concepts in the world.”

Advancing all artificial intelligence research

From the beginning, Hofmann said the goal with Project Malmo was to build a system that would be useful both for Microsoft’s own research and for the broader artificial intelligence research community.

“We’re looking for opportunities where we can really help accelerate the pace of artificial intelligence innovation in a way that is going to be very close to the real world, with real experiences and real data,” said Evelyne Viegas, the director of artificial intelligence outreach at Microsoft Research.

The Project Malmo platform consists of a mod for the Java version and code that helps artificial intelligence agents sense and act within the Minecraft environment. The two components can run on Windows, Linux or Mac OS, and researchers can program their agents in any programming language they are comfortable with.

Matthew Johnson, the development lead on the project who also works in Microsoft’s UK lab, said the team developed the system with the hope that it would attract a broad range of academic researchers and motivated amateurs, with all levels of programming skills, background and goals. That said, the platform is intended for research into various forms of artificial intelligence and is not a consumer product.

“Our focus, from the beginning, has been on making sure that there’s the lowest possible barrier to innovation,” Johnson said.

Related:

Allison Linn is a senior writer at Microsoft. Follow her on Twitter.