いま読まれている記事

AIが激ムズ100メートル走ゲー『QWOP』の人類の世界記録を抜く。人間の元世界記録保持者を教師とし、独学と模倣の果てに大記録を達成

article-thumbnail-210317g

 2008年に公開され、4つのキーで人間の両足を操作する超難度の徒競走ゲームとして話題を呼んだ『QWOP』だが、本作をAIにプレイさせる試みが海外でひそかに注目を集めている。

 データサイエンティストのウェスリー・リャオ氏は「強化学習」「模倣学習」を使ってAIに『QWOP』をプレイさせる方法について発表した。簡単に説明すると「強化学習」はAIが何度も試行錯誤を繰り返して学習する方法、「模倣学習」は人間のお手本を元にAIが学習する方法だ。

AIが激ムズ100メートル走ゲー『QWOP』の人類の世界記録を抜く。人間の元世界記録保持者を教師とし、独学と模倣の果てに大記録を達成_001
(画像はYouTube 「AI sets new QWOP World Record (47.34) using Reinforcement Learning」より)

 『QWOP』は、「壺男」こと『Getting Over It with Bennett Foddy』の開発者として有名なベネット・フォディ氏が2008年に公開したFlashゲーム。ランナーがトラックを走り切る時間を競うという内容で、倒れてしまうとゲームオーバーとなる。キーボードのQ、W、O、Pはそれぞれ左右の足の太ももとふくらはぎの動きに対応。一見簡単そうに見えるかもしれないが、不可思議な物理演算のために100メートルを走りきることすら難しい。

 そんな超難度のゲームは凄腕プレイヤーたちの挑戦の的となり、2013年には51秒という世界記録がギネス記録に申請され認定された。配信から12年が経った2020年には、日本のスピードランナーくろうど氏が記録を更新。現在はりゅういっち(ぐんまねこ)氏の手でさらに記録が塗り替えられ、世界記録は「48.34秒」となっている。

 ゲームを公開したフォディ氏のウェブサイトは、2011年の時点で閲覧回数が3000万回を超えており、2021年現在ではさらに数倍にはなっているだろう。そんな数多のプレイヤーが挑戦したゲームにおいて、ぐんまねこ氏はトップに君臨していると書けば、この世界記録のすごさもわかりやすいかもしれない。

 この『QWOP』の記録にAIが挑むため最初に試されたのは、DeepMind社の「ACER」と呼ばれる深層強化学習アルゴリズムだ。このアルゴリズムは最新の経験とメモリに記憶された古い経験を組み合わせて学習する。リャオ氏はACERを使い、できるだけ早く『QWOP』を学習させようとした。その結果が上記の動画となる。

 氏はまずゲームをAIに遊ばせることで効率よい走り方を学習させようとした。最終的にAIがはじき出した最適解は、「ひざこすり走法」だった。この走法は倒れることなく完走するにはたしかに最適解だが、世界記録を目指すには遅すぎる。

AIが激ムズ100メートル走ゲー『QWOP』の人類の世界記録を抜く。人間の元世界記録保持者を教師とし、独学と模倣の果てに大記録を達成_002
(画像はTowards Data Scienceより)

 AIの独学では『QWOP』の世界記録に挑戦することが不可能だと悟ったリャオ氏は、今度はAIのために先生を用意することにした。AIに学習させるのは、現実のランナーも使う「ストライド走法」。ストライド走法とは歩幅を大きく取る走り方で、ひざこすり走法よりは間違いなく速く走れる走法だ。

 まずはリャオ氏自身がゲームをプレイし、その方法をAIに学習させようとした。しかし、ここに大きな問題があった。リャオ氏自身、このゲームをまともにクリアできなかったのだ。氏は「残念ながら、私のプレイはかなりひどいです、練習した日のあと、私は約28メートルしか走ることができませんでした」と振り返っている。
 それでも何か学ぶ部分はあるかもしれないと、自身の50回分のプレイをAIに学習させた。氏は「当然のことながら、結果は非常に貧弱でした」と記しており、この方法は失敗したかに思われた。

 視点を変えてストライド走法という新しい技術が利用できるか確認するため、AI自身に訓練させてみた。すると90時間の学習後、ついに人間らしく歩幅を開いて走る方法を開眼。記録も大幅に更新し、タイムアタックの記録を集積する「Speedrun.com」でいえばトップ15位圏内に入る「1分25秒」という記録を達成した。

 この時点でAIは人間のトップランナーが使う高度なテクニックまでは学習できなかった。さらなる記録更新には、もうひとつブレークスルーが必要になる。

AIが激ムズ100メートル走ゲー『QWOP』の人類の世界記録を抜く。人間の元世界記録保持者を教師とし、独学と模倣の果てに大記録を達成_003
(画像はTowards Data Scienceより)

 リャオ氏はAIの学習のため、世界記録保持者であるくろうど氏に連絡を取った。くろうど氏はこのAIの先生として、50回分の自身のプレイをこころよく提供してくれたという。

 このデータを使った機械学習は当初、リャオ氏のデータを使ったとき同様あまりうまくいかなかったという。そこで、AIの経験とくろうど氏のデータを少しずつ組み合わせて使う手法を取った。
 この手法では、最初にくろうど氏のすべてのデモンストレーションを記憶に追加するのではなく、実際の経験と同じ速度で少しずつ追加していく。この方法が成功する理論的根拠はなかったが、驚くほど上手くいったのだという。

 さらに調整を加え、プレトレーニング、25時間の独自学習、15時間のくろうど氏のデータを使ったトレーニング、そしてさらに25時間の独自学習を行った。約65時間の学習後、「1分8秒」という記録を達成。ストライド走法を編み出したときからさらに17秒短縮し、トップ10圏内の記録となった。

 くろうど氏の協力もあり、AIは『QWOP』の走り方をマスターしていく。ここからは速さを求めるため、AIのアルゴリズムをACERから同じDeepMind社の「優先順位付きDDQN」(Prioritized Double Deep Q Network)に変更。
 「DQN」(Deep Q Network)は、ゲーム向けのアルゴリズム。『DOOM』『スペースインベーダー』を自力でプレイして解けるAIとして広く知られている。「DDQN」は「DQN」の抱える問題を緩和するために考案されたものだ。

 リャオ氏はACERの記憶をDDQNに移植し、報酬関数を変更する。報酬関数とは、AIがゲームをプレイする上で何をすべきか、すべきでないかを「ご褒美」にたとえて表現する、強化学習において重要な値だ。
 胴の高さが低い、胴が垂直に動いている、ひざが過度に曲がっているといった行動は『QWOP』で走ることを学習する上では避けるべき要素だった。こうした「すべきでない」ことは初期学習のためにはよかったが、走り方をマスターしたAIには不要だ。こうした「補助輪」を外し、純粋に走る速度を高めることだけを目指す。

 DDQNに移ってからは、数分のプレトレーニングと40時間の独学だけが行われた。その結果ついにAIは「47.34秒」という記録を出し、人間の世界記録「48.34秒」を超えた。
 この記録は「Speedrun.com」には掲載されないが、もし機械学習によるRTAが競技になれば『QWOP』の種目で最初の公式記録となるだろう。

AIが激ムズ100メートル走ゲー『QWOP』の人類の世界記録を抜く。人間の元世界記録保持者を教師とし、独学と模倣の果てに大記録を達成_004
(画像はTowards Data Scienceより)

 AIの学習時間は105時間と、世界記録を達成するまでの時間と考えると短く思える。だが、その裏にはリャオ氏のさまざまな試行錯誤や、くろうど氏の協力が不可欠だった。人間とAIの二人三脚により、この記録は達成されたのだ。

ライター/古嶋誉幸

ライター
AIが激ムズ100メートル走ゲー『QWOP』の人類の世界記録を抜く。人間の元世界記録保持者を教師とし、独学と模倣の果てに大記録を達成_005
一日を変え、一生を変える一本を!学生時代Half-Lifeに人生の屋台骨を折られてから幾星霜、一本のゲームにその後の人生を変えられました。FPSを中心にゲーム三昧の人生を送っています。
Twitter: @pornski_eros

本ページはアフィリエイトプログラムによる収益を得ている場合がございます

新着記事

新着記事

ピックアップ

連載・特集一覧

カテゴリ

その他

若ゲのいたり

カテゴリーピックアップ