Video game developers have long used artificial intelligence to create credible worlds. It is not surprising then that researchers can now use some of these same game creation tools to train AI.
At a conference at Transform 2019's VentureBeat conference last week, the vice president of AI and machine learning at Unity Technologies, Danny Lange, explained that game engines are perfect for creating what he calls a "real" computer intelligence: self-learning systems capable of producing complex behaviors amount of time. With game engines (like the company's Unity engine), you can simulate real-world rules and test smart agents.
"If you think of [it], the game engine has three dimensions, time, physics … it has everything you need to play with the central elements that led to [human] intelligence, "Lange said.
The company has trained agents in various scenarios through its Unity ML-Agents Toolkit plug-in. Agents acquire new skills and behaviors through reinforcement learning, where the only thing they know in a given virtual environment is what is right (to be rewarded for completing the task) and what is wrong not (to be penalized). Other than that, it's a blank slate.
An example that Lange showed involved a chicken trying to cross a busy road. The goal of the agent was to recover the gifts (the reward) scattered in the level without being touched by the cars (the punishment). Artificial intelligence struggled to understand the rules of the game at first, but after six hours of repeated training, Lange said she had become "superhuman", skilfully dodging cars while collecting more than 100 gifts. line.
In another scenario, the agent had a spider-shaped avatar consisting of eight joints and four legs. The artificial intelligence had to find how to use and control those parts of the body in order to move forward. The result is a little janky (spiders jump more often than they walk), but in the future, this type of accelerated learning can help game developers save time during the creation of non-playable characters.
"Imagine the programming I would need to write – programming in Java, C #, C ++, Python, etc." which indicates which articulation to move, when and how much, "Lange said. "Or I can just let the spider shake for an hour and, by trial and error, she discovers how to move four legs and eight joints according to a given pattern, from left to right."
Lange and her team pushed this idea further with Puppo, an adorable corgi agent. Using reinforcement learning and physics-based movement, Puppo learned to walk, run, jump and pick up a stick. The researchers even created a simple game (you hit the stick with your mouse) to show how effectively the dog retrieves the stick.
In a different demonstration, Lange showed what happens when you assemble dozens of individually trained puppies. Their goal was to pursue a bowl filled with bones on a playground. While they were running to the bowl (which was constantly moving along the track), the dogs became competitive and started to push themselves and create their own shortcuts by running on the grass.
Earlier this year, Unity partnered with Google to create a self-learning test with Obstacle Tower, a video game that only artificial intelligence agents can play. It consists of 100 levels that challenge an officer's ability to overcome obstacles, including puzzles, complicated patterns and dangerous enemies. Unity is currently running a contest to find out which AI can make it farthest away (Lange said the main competitor could only reach level 19).
With Obstacle Tower and other projects, the company is trying to prove that reinforcement learning, combined with game engines, can be a powerful way to create sophisticated artificial intelligence. After all, said Lange, it's the same process that every smart life on our planet uses to survive.
"That's how kids work. That's how we operate. That's how animals work. … Throughout the learning process, you do not lose a clue [about something] to really start to understand [it]," he said.