Updated In the past hour or so, an AI bot crushed a professional video games player at Dota 2 in back-to-back one-on-one showdowns.
The computer player was built, trained and optimized by OpenAI, Elon Musk’s AI boffinry squad based in San Francisco, California. In a shock move on Friday evening, the software agent squared up to top Dota 2 pro gamer Dendi, a Ukrainian 27-year-old, at the Dota 2 world championships dubbed The International.
The OpenAI agent beat Dendi in less than 10 minutes in the first round, and trounced him again in a second round, securing victory in a best-of-three match. "This guy is scary," a shocked Dendi told the huge crowd watching the battle at the event. Musk was jubilant.
OpenAI first ever to defeat world's best players in competitive eSports. Vastly more complex than traditional board games like chess & Go.— Elon Musk (@elonmusk) August 12, 2017
According to OpenAI, its machine-learning bot was also able to pwn two other top human players earlier this week: SumaiL and Arteezy. Although it's an impressive breakthrough, it’s important to note this popular strategy game is usually played not one-v-one but as a five-versus-five team game – a rather difficult environment for bots to handle.
Complex strategy games are all the rage in the AI world at the moment. Some of the biggest companies, such as Facebook and Google's DeepMind, are racing to conquer games including StarCraft or Montezuma’s Revenge.
Dota 2 is similar to StarCraft in some respects, as it requires careful planning by the player. Gamers need to gauge when to attack and trick opponents in order to defeat enemy units. It’s also an imperfect information game, unlike chess or Go in which both players have access to the same information and are on equal footing.
It’s unclear exactly how OpenAI’s bot was trained as the research outfit has not yet published any technical details. But a short blog post today describes a technique called “self-play” in which the agent was trained using a mix of reinforcement and supervised learning over a two-week period, repeatedly playing against itself with coaching and information about the game from the OpenAI team.
Basically, its performance got better over time as it continued to play the strategy game against itself, with hints and some preprogramming from its developers – information on choosing items and particular attacks to use were hardwired in, for instance. However, it learned to predict its opponent's movements, and pick and develop strategies in unfamiliar scenarios.
It also taps into the Dota 2 bot API to get information not normally available to human players, such as distances between objects, as well as control its movement. This live data stream gave it an edge over human players. It also concentrated on playing just one character type, a Shadow Fiend, out of dozens available.
OpenAI said the next step is to create a team of Dota 2 bots that can compete or collaborate with human players in five-on-five matches. ®
PS: Elon Musk tweeted this evening to say AI is, right now, a bigger threat to the world than North Korea, adding: "Nobody likes being regulated, but everything – cars, planes, food, drugs, etc – that's a danger to the public is regulated. AI should be too."
Updated to add
It sounds as though players at The International were able to best the bot by the end of the night: humans outwitted it in 50-plus matches after picking up on its weaknesses, according to witnesses at the event.
AI blogger Denny Britz summarized the bot's achievements and shortcuts here, putting its win in perspective.