Yesterday, Unity Technologies unveiled Machine Learning Agents, an AI toolkit that will turn Unity creation engine into an artificial intelligence powerhouse.
Unity Technologies, the creator of the famous creation engine, announced through its website the open beta version of Unity Machine Learning Agents (ML-Agents). The said AI toolkit aims to help developers and researchers involved with machine learning to train agents in more realistic and complex situations via Unity with less technical barriers, according to Business Wire.
The introduction of Unity’s AI agent was believed by experts to be a critical innovation also applicable in other fields of technology such as robotics, automotive, and next-generation games. An aggressive move by a company whose primary mission is to democratize access to superior technology and help developers solve difficult problems.
Writing on their blog site, Unity said:
“As the world’s most popular creation engine, Unity is at the crossroads between machine learning and gaming. It is critical to our mission to enable machine learning researchers with the most powerful training scenarios, and for us to give back to the gaming community by enabling them to utilize the latest machine learning technologies.”
#Unity just unveiled its AI-powered toolkit Machine Learning Agents!Click To Tweet
“As the first step in this endeavor, we are excited to introduce Unity Machine Learning Agents.”
The Unity Machine Learning Agents
According to Unity, Machine Learning Agents will provide better flexibility and ease-of-use to the growing number of developers who are interested in applying machine learning in developing highly intelligent agents.
An apparent attempt of the company to improve the state of the current Reinforcement Learning training cycle “used to learn behavior for everything from industrial robots, drones, and autonomous vehicles, to game characters and opponents.”
“At Unity, we wanted to design a system that provides greater flexibility and ease-of-use to the growing groups interested in applying machine learning to developing intelligent agents,” Unity said. “Moreover, we wanted to do this while taking advantage of the high-quality physics and graphics, and simple yet powerful developer control provided by the Unity Engine and Editor.”
The open beta version of the ML-Agents SDK will enable researchers and developers to transform any game or simulation made using the Unity Editor into environments where “intelligent agents can be trained using Deep Reinforcement Learning, Evolutionary Strategies, or other machine learning methods through a simple to use Python API.”
“We are releasing this beta version of Unity ML-Agents as open-source software, with a set of example projects and baseline algorithms to get you started.”
Unity also encourages everyone to provide feedback and contribute on their GitHub page.
Potentials and Features of the ML-Agents
Aside from Unity, other tech companies, such as Google, have also already explored reinforcement learning. For instance, Google used deep reinforcement learning to teach AI agents to play 1980s video games like Breakout, and at some point, master the ancient Chinese game Go.
Here are some of the training scenarios made possible by Unity Machine Leaning Agents:
- Single-Agent – A single agent linked to a single brain. The traditional way of training an agent. An example is any single-player game, such as Chicken.
- Simultaneous Single-Agent – Multiple independent agents with independent reward functions linked to a single brain. A parallelized version of the traditional training scenario, which can speed-up and stabilize the training process.
- Adversarial Self-Play – Two interacting agents with inverse reward functions linked to a single brain. In two-player games, adversarial self-play can allow an agent to become increasingly more skilled, while always having the perfectly matched opponent: itself.
Aside from providing flexible training scenarios, ML-Agents also has the following features:
- Monitoring Agent’s Decision Making – An Agent Monitor class in Unity which can display aspects of the trained agent, such as policy and value output within the Unity environment itself.
- Curriculum Learning – Curriculum learning is the process of gradually increasing the difficulty of a task to allow more efficient learning.
- Complex Visual Observations – ML-Agents allows multiple cameras to be used for observations per agent. This enables agents to learn to integrate information from multiple visual streams. The case when training a self-driving car which requires multiple cameras with different viewpoints. A navigational agent which might need to integrate aerial and first-person visuals, or an agent which takes both a raw visual input, as well as a depth-map or object-segmented image.
- Imitation Learning (Coming Soon) – By utilizing imitation learning, a player can provide demonstrations of how an agent should behave in an environment, and then utilize those demonstrations to train an agent in either a standalone fashion or as a first-step in a reinforcement learning process.
Right now, Unity promises to iterate quickly and provide additional features for those individuals who are interested in Unity as a platform for machine learning research, and those who are focused on the potential of machine learning in game development.