Unity Technologies on Monday released version 0.5 of its ML-Agents toolkit to make its Unity 3D game development platform better suited for developing and training autonomous agent code via machine learning.
Initially rolled out a year ago in beta, version 0.5 comes with a few improvements. There's a wrapper for Gym (a toolkit for developing and testing reinforcement learning algorithms), support for letting agents make multiple action selections at once and for preventing agents from taking certain actions, and a refurbished set of environments called Marathon Environments.
In these virtual spaces, AI researchers can teach software agents to perform certain tasks by rewarding them for correct actions. This sort of reinforcement learning can be limited to digital environments like video games or mapped to software-driven machines in the real world.
Through its latest code update, Unity is making the case for Unity 3D as a key tool for AI research, a goal that company code boffins describe in a preprint paper titled, "Unity: A General Platform for Intelligent Agents."
"Within this reference paper, we describe our vision for Unity as a simulation platform that builds on and extends the capabilities of other similar platforms and outline the ML-Agents toolkit as a research tool, discussing both the fundamental design, as well as the additional features," explains Arthur Juliani, senior software engineer for deep learning at Unity Technologies, in a blog post.
Over the past few years, simulators like the Arcade Learning Environment (which provides a Python interface for controlling simulations of Atari video games), DeepMind Lab, Project Malmo, Gym, and Gym Retro, among others, have been used to train software agents using deep reinforcement learning and related AI techniques.
Juliani, one of the co-authors of the paper, and his colleagues, argue "existing simulation platforms used for AI research are insufficient for enabling the development of truly human-like artificial intelligence."
Complexity had benefits
They contend Unity 3D provides great sensory complexity (through real-time lighting and custom shaders), physical complexity (via physics engines), cognitive complexity (via C# scripting and GameObject structure), and social complexity (via built-in multiplayer networking) than other platforms.
And they've thrown down a benchmarking gauntlet using the Proximal Policy Optimization algorithm (used for machine learning). These performance figures are listed in Unity's paper.
Top video game dev nerve-center Unity can now be used to train AIREAD MORE
In an email to The Register, Juliani said Unity 3D offers a number of benefits, but one of the best for researchers is the Unity Editor. "Since rapid iteration is so important when experimenting, having the Editor UI makes tweaking different aspects of the environment much more intuitive than exclusively going through code," he said.
On the backend, Unity in July struck up a partnership with Google Cloud Platform.
It's difficult to say whether a yardstick as open to interpretation as "human-like artificial intelligence" is attainable or even desirable – who really wants code that refuses commands because it has a different opinion? But Unity 3D, the researchers say, has been validated in projects like AI2Thor, in the form of Unity-powered learning that informs robotic navigation, and an OpenAI project for teaching a robotic hand to grasp objects.
Assuming AI practitioners warm to Unity 3D, Juliani says the company intends to support more types of machine learning, such as computer vision and generative modeling.
"We plan to expand the API over time to make it easier for different researchers to modify to meet their needs," he said. "Right now it is relatively [reinforcement learning] focused, but with v0.5 we released protobuf definitions, which enables people to modify the communication API, and expose additional aspects of Unity to Python. We plan to continue along this line in the future." ®