連載
西川善司の3DGE:グランツーリスモのAI「GTソフィー」は,ドライビングテクニックの教科書を書き換える
本稿では,GTソフィーはいかにして開発され,どのような能力を持ち,そしてどのような可能性を持っているのかを解説したい。
なお,GTソフィーの開発には,開発中のグランツーリスモ7ではなく,既存タイトルである「グランツーリスモSPORT」を用いたという。先述の発表にもあるように,同じ技術を応用してグランーツリスモ7に対応したGTソフィーは,時期未定の将来アップデートで実装するとのこと。つまり,リリース直後のグランーツリスモ7には搭載されないであろうということは,記憶に留めておいてほしい。
GTソフィーの開発に用いられた深層強化学習とは?
車両の物理シミュレーションにおける先進性で,最初期作品から時代の最先端を快走していたGTシリーズだが,車両を動かす仮想ドライバーのAIについては,Xbox向け「Forza Motorsport」(以下,Forza)シリーズのような競合作品に,やや及ばないと指摘されることがあった。
これまで,GTシリーズにおけるAIの基本的な動きは,コースのレコードラインを辿ることを最優先として,周囲の環境認識は甘さが目立った。たとえば,コーナリング中のプレイヤーカーに,後ろからAIカーが激突してくるといった非人間的な行動が見られたためだ。一方,Forzaシリーズでは,AIドライバー開発にMicrosoftのAI研究開発チームが協力することで,ニューラルネットワークベースのAI「Drivatar」をいち早く導入していた。しかし,GTソフィーの誕生によってGTシリーズのAIが大きく進化することで,新たな局面を迎えることになりそうだ。
GTソフィーは,ソニーグループ肝いりのプロジェクトとして開発されたようで,技術レベルも非常に高いものとなっている。GTソフィーの開発には「深層強化学習」(Deep Reinforcement Learning)の手法が用いられたそうだ。
強化学習とは,「動物のしつけ」にたとえられることもある機械学習モデルの1つだ。たとえば,犬に芸を仕込むことを例にしてみよう。
- 犬が飼い主の求める芸――お手やおまわりとか――をしたら,飼い主はエサ(報酬)を与える
- 逆によくないこと――無駄に吠える,噛み付く――をしたら罰(=マイナスの報酬)を与える
- 一定時間しつけたら,犬を別の環境で放したり,他の人に会わせたりしてちゃんとしつけた芸ができることを確認する
- しつけの結果が思惑どおりならば,さらにその方針でしつけを継続する
- うまくいかないようならば,しつけの方針を改善してやり直す
- 繰り返し
ただ,GTソフィーで使われた手法は,強化学習の前に深層が付いている。これは,機械学習における実装手法のひとつである深層学習(Deep Learning)を適用していることを意味する。犬のしつけ事例で考えると,犬の行動原理,いうなれば犬の脳に相当する部分に深層学習を応用したと言えよう。
最初はデタラメに動き回る犬が,エサと罰を与えられ続けることで,エサが最大にもらえる行動を取れるように何百万回もしつけていく。そうすると無駄な行動やよくない行動がそぎ落とされて,最適行動を選択しやすい学習データが完成するというわけだ。
GTソフィーの開発プロセス
次に示すスライドは,GTソフィーの開発にあたって掲げられた基本コンセプトである。
順に説明していこう。
まず「Physical Realism」(物理的なリアリティ)は,「GTソフィーが運転時に操作するのは,実際にゲームをプレイする人間のプレイヤーと同じアクセル,ブレーキ,ステアリングである。操作によって得られる挙動は,GT世界の物理法則に従う」と言っている。意訳すれば,AIのために特別なごひいきはしない,ということだ。
「Realtime Race Tactics」(リアルタイムレース戦術)は,「単にコース内を走れるだけではなく,人間を含む競争相手の車両を積極的に抜き去る戦術を繰り出せること」を掲げている。さらに,戦術自体は,AI開発者がGTソフィーに教えるのではなく,GTソフィー自体が発見することで習得させる。
3つめの「Sport Etiquette」(スポーツエチケット)は,「ただうまく走って,敵車を追い抜くだけではなく,モータースポーツの常識的なマナーも習得すること」という意味だ。これについては後段で説明しよう。
さて,GTソフィーにおける開発プロセスは,先述した犬のしつけ的な流れで行われた。GTソフィーは,GT内で人間のプレイヤーと同様に,アクセルやブレーキ,ステアリングを操作してコースを走行するわけだが,その学習方法はこんな感じだ。
まず,コース内に収まるように運転できれば報酬を与える。アクセル全開走行のみで走ってコースアウトしてしまえばマイナス報酬だ。するとAIは,ブレーキをうまく使ってコース内を走れるようになる。そのうえで,以前よりも速いタイムを出せるようになったら,より高い報酬を与えるようにすると,次第にコースを速く走れるようになるわけだ。
コースを速く走れるようになったら,今度は,このAIを複数台コースに投入して,競わせての学習を行わせる。他車を追い越すことができれば,これまた高い報酬を与える。ここでも,AIに対して,追い抜きのコツを開発者が教えてやることはない。AIが何百万回も試行する中で,自分で見つけていく。
たとえば現実世界では,走行中の敵車の真後ろに着くと,スリップストリーム現象が起きて空気抵抗が少なくなり,そこからの飛び出し加速が鋭くなる。GT世界でもこの現象は再現されているが,AIは何百万回という試行の中で,このレーシングテクニックを自ら(偶然に)発見して,自然と利用するようになった。また,ブレーキングのタイミングを敵車とずらしたり,コーナリング開始時に敵車よりも早めにコーナー内側に張り付くようなレーシングテクニックも,自ら発見していったそうだ。こうして,どうすれば敵車を追い抜けるのかという行動原理を,AIは独自に習得して成長することになる。
ただ,これだけだと文字どおり,我が道を行くスタイルの荒っぽい運転をするAIになってしまう。そこでGTソフィーでは,敵車に衝突した場合は重いマイナス報酬を与えることで,レースエチケット(マナー)を教育した。こうした学習効果により,コーナーのイン側に先に付いている敵車に対して,さらにその内側へ自車の鼻先をねじ込んで抜くような危険走行を,AIは避けるようになっていくのだ。
このようにして開発されたβ版のGTソフィーは,2021年の7月と10月に,4台のAIと,4名の日本のトップGTプレイヤーと団体戦レースを行った。
7月のテストレースでは,人間のチームプレイ的な連携戦術にGTソフィーが太刀打ちできなかったそうで,人間側が勝利した。その後,連携戦術などへの改良を盛り込んで挑んだ10月のテストレースではGTソフィーが人間プレイヤーを圧倒したそうだ。なお,実際のGTソフィーの走りっぷりについては,グランツーリスモの公式YouTubeチャンネルで公開中なので,興味がある人はそちらを参照してほしい。
GTソフィーの学習メカニズム
ところで,名前だけを聞くと単一の存在といった印象を受けるGTソフィーだが,実際には複数のAIからなる集合体であるとみられる。実際,GTソフィーの学習は,ソニーAIが持つ分散学習技術と,SIEが持つクラウドゲーム技術(≒仮想マシン技術)によって,同時並列的に行われたと説明されている。つまり,多数のグランツーリスモを仮想マシン上で動かして,分散学習技術で複数のAI学習を同時並列で行ったわけである。
次に示す図は,ソニーAIから提供されたもので,GTソフィーの学習フェーズにおけるハードウェアおよびソフトウェアの構成を示した概念図だ。
「ジョブ1」から「ジョブ3」までの下側に描かれた「PS4s」は,SIEが管理する多数のPlayStation 4(以下,PS4)を表しており,各PS4上では,グランツーリスモSPORTが動作している。
GTソフィーが存在するのはPS4s上ではなく,図中の「データ収集(CPU)」の部分だ。データ収集部分は,1台のコンピュータ上でLinuxベースの仮想マシンを複数実行したうえで,各仮想マシン上でGTソフィーを1基ずつ動かすという形で実装している。仮想マシン上で動かすのではなく,コンピュータ上でGTソフィーのインスタンスを複数走らせる方法にも対応していたそうだが,自動管理のしやすさから仮想マシンを用いる方法を採用したという。
この仕組みでは,グランツーリスモSPORTとGTソフィーの実行部は分離されているわけだが,どうやってGTソフィーは,グランツーリスモSPORTをプレイするのだろうか。もちろん,物理的にゲームパッドを操作するわけはない。GTソフィーが学習で用いたグランツーリスモSPORTには,GTソフィーとのやりとりを行うための専用APIを実装してあるという。そして,ゲームパッドの入力に相当するコマンドを,GTソフィーからネットワーク経由でPS4s上のグランツーリスモSPORTへ伝送することで操作するのだ。
図中の「学習(GPU)」部分は,GPUサーバーを表しており,複数のGTソフィーそれぞれが学習に活用する。GPUサーバーも仮想化されており,各GTソフィーからは,あたかも自分専用にGPUリソースが与えられているのように見えている。
実際の学習にあたって,GTソフィーにゲーム映像の入力は一切行っていない。Google傘下のAI企業であるDeepMindが,「StarCraft II」をプレイするAIを開発したときに用いたような,AIで処理しやすいように事前処理した簡易な画像データを入力するようなこともしていないとのこと(関連記事)。情報は,すべて数値データとして与えたそうだ。グランツーリスモSPORT側からGTソフィーへデータを与えるには,前出の専用APIを用いている。
入力されるのが数値情報だけでは,たとえば「自車が道幅のどのあたりを走っているのか」という認識を,GTソフィーはどの行っているのだろうかと,不思議に思う人も多いだろう。
次の図を見てほしい。これは,走行するコースの一部(赤枠部分)を拡大したものだ。3本の点線は,それぞれがコースの右端,センターライン,左端の座標を示す点の集合を意味している。
GTソフィーは,専用APIを用いて,グランツーリスモSPORTから,図のような自車を中心とした座標系における相対座標を取得することで,コース上の自車位置を把握している。たとえば,コース上における自車の位置座標と,コース左端,中央,右端からの相対的な座標が分かれば,「自分は今,コースの左寄りにいるのか,それとも中央寄りにいるのか」といったことを認識できるわけだ。
こんな仕組みを用いて,ゲーム映像を使うことなく,GTソフィーはコースのどこを走っているかを認識しているわけである。
AIへの期待は,人間が見つけられなかった新しい常識の発見
さて,GTソフィーの発表イベントにおける質疑応答で,筆者は,「GTソフィーによって,人間が行わないようなドライビングテクニックの発見はありましたか」と質問した。すると,PDI代表の山内一典氏は,「ドライビングテクニックの教科書を書き換えることになるかもしれない発見だった」と,非常に興味深い答えを返した。
サーキット走行時やレースドライビングのセオリーというか,定説のひとつに「コーナリング進入時の減速は,コーナー手前の直線の段階で済ませておけ」という「スローイン/ファーストアウト」の原則がある。しかし,GTソフィーは,速度を落としきらずにコーナーへと進入して,巧みなアクセル操作とブレーキ操作をコーナリングの最中にも継続的に行うことで荷重移動をリアルタイムに前後の車輪に分散しながらコーナーを抜けていくという,言うなれば「ファーストイン/ファーストアウト」の常識外れなコーナリングを行うというのだ。
これは,そうしろと教えたわけでなく,何百万回という強化学習のによって,GTソフィーが独自に発見して習得したものだ。
実際,AIが発見した新境地を,実戦に取り入れて大活躍している人はすでに存在する。将棋界で一世を風靡している天才棋士の藤井聡太氏だ。藤井氏は,AIを用いた序盤研究によって,将棋界の定石を覆す奇手や新手を高頻度で繰り出しているそうで,まさにAIが発見したテクニックの実戦活用の事例と呼ぶに相応しい。
自動車レースにおける「ブレーキはコーナー手前の直線で踏め」は,将棋で言うところの「序盤は王(玉)を囲え」に相当する定説だが,実際,藤井氏は王を初期状態で放置したまま,居玉(いぎょく)状態で戦うという定説無視の戦術で戦うことが多いそうだ。今後も,AIの開発とその進化によって,そうした奇手,新手が発見されることはありうるだろう。
さて,今回の発表においてソニーは,ソニーAIが持つAI開発技術と,SIEが持つクラウドゲーミング技術によるコラボレーションを,今後は他のゲーム開発スタジオにも展開していく計画であると表明している。つまり,深層強化学習によって鍛えられた他ジャンルのゲームAIが誕生する可能性もあり得るわけだ。そして,AIを開発する対象のゲームが,グランツーリスモのように現実世界をシミュレーションしたタイプのゲームジャンルであれば,そこでもまた,,現実世界において人間が常識としていた事象に,変革がもたらされるかもしれない。
改めて言うことでもないが,ゲーム開発とAI開発は,やはり最先端のコンピュータサイエンスなのだな,と気付かされる。
グランツーリスモ公式WebサイトのGTソフィーページ
キーワード
Gran Turismo(R)7 (C)Sony Interactive Entertainment Inc. Developed by Polyphony Digital Inc. “Polyphony Digital logo”, “Gran Turismo” and “GT” are registered trademarks of Sony Interactive Entertainment Inc. Manufacturers, cars, names, brands and associated imagery featured in this game in some cases include trademarks and/or copyrighted materials of their respective owners. Any depiction or recreation of realworld locations, entities, businesses, or organizations is not intended to be or imply any sponsorship or endorsement of this game by such party or parties. All rights reserved.
Gran Turismo(R)7 (C)Sony Interactive Entertainment Inc. Developed by Polyphony Digital Inc. “Polyphony Digital logo”, “Gran Turismo” and “GT” are registered trademarks of Sony Interactive Entertainment Inc. Manufacturers, cars, names, brands and associated imagery featured in this game in some cases include trademarks and/or copyrighted materials of their respective owners. Any depiction or recreation of realworld locations, entities, businesses, or organizations is not intended to be or imply any sponsorship or endorsement of this game by such party or parties. All rights reserved.
- 【PS5】グランツーリスモ7【早期購入同梱物】10,000,000Cr(ゲーム内クレジット)・カーパック(3車種)(封入)※プロダクトコード有効期限:2022/8/4
- ビデオゲーム
- 発売日:2022/03/04
- 価格:¥8,200円(Amazon) / 7380円(Yahoo)