Breakthrough software teaches computer characters to walk, run, even play soccer
Computer characters learn complex motor skills like walking and running thanks to an algorithm called DeepLoco, developed by UBC computer scientists.
Source: University of British Columbia
Credit: Image courtesy of University of British Columbia
Computer characters and eventually robots could learn complex motor skills like walking and running through trial and error, thanks to a milestone algorithm developed by a University of British Columbia researcher.
"We're creating physically-simulated humans that learn to move with skill and agility through their surroundings," said Michiel van de Panne, a UBC computer science professor who is presenting this research today at SIGGRAPH 2017, the world's largest computer graphics and interactive techniques conference. "We're teaching computer characters to learn to respond to their environment without having to hand-code the required strategies, such as how to maintain balance or plan a path through moving obstacles. Instead, these behaviors can be learned."
The work, called DeepLoco, offers an alternative way to animate human movement in games and film instead of the current method which makes use of actors and motion capture cameras or animators. DeepLoco allows characters to automatically move in ways that are both realistic and attentive to their surroundings and goals. In the future, two or four-legged robots could learn to navigate through their environment without needing to hand-code the appropriate rules.
Using his algorithm, simulated characters have learned to walk along a narrow path without falling off, to avoid running into people or other moving obstacles, and even to dribble a soccer ball towards a goal.
The method makes advanced use of deep reinforcement learning, a type of machine learning algorithm in which experience is gained through trial and error and is informed by rewards. Over time, the system progressively identifies better actions to take in given situations.
"It's like learning a new sport," said van de Panne. "Until you try it, you don't know what you need to pay attention to. If you're learning to snowboard, you may not know that you need to distribute your weight in a particular way between your toes and heels. These are strategies that are best learned, as they are very difficult to code or design in any other way."
The motion of humans and animals is governed not just by physics but also control. While humans learn motor control through trial and error, van de Panne says it's hard to tell how much the algorithm mimics the human learning process. After all, the computer program still learns much more slowly than a human. He began working on this type of motor learning problem when he had children; they are now 17 and 20.
"I distinctly remember wondering who will learn agile walking and running skills first: my son, daughter or the algorithm?" he said. "My son and daughter beat me by a long shot."