1

スペースXやテスラモーターズのイーロン・マスク氏やY Combinator社長のサム・アルトマン氏などアメリカを代表する企業のトップや投資家たちが設立した「OpenAI」は、人工知能をオープンソース化する非営利の研究機関です。このOpenAIが運営しているAI学習プラットフォーム「Universe」では、ゲームやブラウザタスクをAIの測定や機械学習に使用するプロジェクトが進められています。Universeで進行している複数のプロジェクトの1つが人工知能により動作する全自動運転カーの開発を行うプラットフォーム「DeepDrive」で、ゲーム「Grand Theft Auto V(GTA V)」で全自動運転カーを動作可能な「GTA V + Universe」をリリースし、実際にGTA Vで全自動走行を行うムービーを公開しています。

GTA V + Universe

https://openai.com/blog/GTA-V-plus-Universe/

現実世界での全自動運転カーは、Googleやテスラモーターズを始めとする多くの企業により開発が進められ公道での走行実験まで始まっています。しかしながら、公道での走行は安全を考慮して最高時速25マイル(約40km)に制限されていて、これが全自動運転カーの開発にとっては大きな壁になっているとのこと。この問題に目をつけた開発者のCraig Quiterさんは、ゲームであれば安全や、走行テストにかかる費用などを一切心配する必要がなく、全自動運転カーのシミュレーションとしては最適だと考えGTA Vに目をつけました。

GTA Vとは、ロックスター・ゲームズから2013年9月に発売されたオープンワールドのゲームです。ロサンゼルスの5倍あるという広大なマップには都市や郊外、山間地帯、海岸など実際の世界に酷似した環境が構築されていて、ゲーム内のノンプレイヤーキャラクター(NPC)も交通規制に従って自動車を運転したり町中を歩いていたりするほか、時間や天気といった概念まであります。Quiterさんは、DeepDrive上で人工知能にGTA Vの全自動運転についてGoogleのディープラーニングライブラリのTensorFlowCaffeを活用し機械学習させ全自動運転カーのエージェントをリリースしました。

Universe GTA Vのエージェントを使うには、GTA VとUniverseのPythonライブラリをインストールし、以下のコードを実行するのみ。

import gym

import universe # register Universe environments into Gym

from universe.spaces import joystick_event

env = gym.make('gtav.SaneDriving-v0')

env.configure(remotes='vnc://:') # point to the GTA V Universe server

observation_n = env.reset()

while True:

steer = joystick_event.JoystickAxisXEvent(-1) # turn right

throttle = joystick_event.JoystickAxisZEvent(-1) # go in reverse

# Alternatively, use WASD to steer: ('KeyEvent', 'w', True)

action_n = [[steer, throttle] for _ in observation_n]

observation_n, reward_n, done_n, info = env.step(action_n)

env.render()


実際にGTA Vで全自動走行を行っている様子は以下のムービーから確認可能です。

DeepDrive Universe - YouTube

全自動で運転されているのは先頭のシルバーの自動車。画面左上ではエージェントに供給しているフレームを、画面左下ではエージェントと環境による診断結果を表示しています。



雨が降った夜道のドライブでも問題なく走行。



信号がある交差点に近づくと、徐々にスピードを緩め……



前方の自動車の手前で停止。前方にいる自動車との車間距離が少し短い気がします。



信号が変わると、前に停車していた自動車と車間距離を十分にとってから走行開始。全自動運転カーはあらゆる環境で問題なく走行していますが、GTA Vでは珍しい超絶安全運転なのが気になるところです。