rewritemath's blog

Alphastarの衝撃。人工知能とゲームの関わりを初歩から最新まで。

日本語が分かる全ての人に衝撃を共有できるように、専門家でなくとも分かるよう最大限努めて解説します。

本日、2019年1月25日は歴史的な日です。

StarCraft2で人間のプロに対して人工知能が勝利を収めました。

DeepMind社による発表です。DeepMind社はGoogle傘下の企業で、人工知能開発の世界的リーダー。囲碁でトッププロを下したAlphaGoの開発元でもあります。囲碁で人類を下したというのもそもそも歴史的であり、衝撃的な事実でしたが、今回は、更に大きい歴史的変化と言えます。

 

人工知能とゲームの関わりについて述べて、その後StarCraft2というゲームがどのような立ち位置であったかを説明し、その衝撃を共有するという構成にいたします。

 

 

 人工知能とゲーム

人工知能開発というと範囲が広いのですが、ゲームを人間より上手くプレイするという試みは古くから行われてきました。我々に馴染みのあるものを挙げますと、

  • オセロ
  • チェス
  • 将棋
  • 囲碁
  • ポーカー

これらが、今まで人類が敗北してきた有名な競技であると言えるでしょう。

何故人工知能がゲームをプレイするかという本質的な話をしますと、ゲームは現実の縮小版として捉えることができるからであります(ここは専門家によって多少の意見の違いもあるでしょうが)人工知能を世界に役立てるためには、現実の課題を人工知能に伝えることが必要です。「今こういう問題があるから、解決する方法を考えるのに人工知能の知恵を借りたい」という状況は世の中に沢山あると思います。そのための練習として、ゲームがあるというわけです。何故ゲームなのかといえば、世界そのものよりも人工知能が扱うには簡単だからです。

 

情報量が少ないから、と言ってもいいでしょう。もう少し難しく言うなら、局面数が少ないから。などとも言えます。

 

当然、ゲームにも複雑さというものがあります。〇✖ゲームのように全てのパターンを列挙出来て必勝法が決まるゲームもあれば、そうでないものもあります。

可能性を全部探すことのできるゲームは簡単!コンピュータに計算させるだけでいいの!というのはもちろんその通りです。しかし、実は殆どのゲームは、地球に存在するコンピュータ全てを使っても、死ぬまでに計算が終わらないって知ってました?

「オセロみたいなゲームは全ての可能性を機械が計算出来るから、人間が勝てるわけないよ」と思っているそこのあなた。オセロでさえも、完全解析には至ってないのです。

もう一度言います

 

オセロでさえも完全解析には至ってないのです!

 

8x8の盤上で、マスは白と黒と何もない状態の3パターンしかないようなゲームでも、完全解析するにはコンピュータの計算能力が足りないのです。

ちなみに、6x6のオセロは完全解析できているそうです。

 

何故、コンピュータの性能は年々急成長しているとかムーアの法則だとか言っているのに、まだオセロくらいの簡単そうなゲームが完全解析できていないのか。これが次のテーマです。

 

組み合わせ爆発とムーアの法則

ムーアの法則ってご存知ですか?

半導体の集積率は18か月で2倍になる

というやつです。何を言っているかというと、

「コンピュータの計算能力は1年半で倍になる速度で研究が進んでるよ」という話です。現在もそれは変わりません。1965年が初出だそうですから、現在まで大体55年はこの傾向が続いている訳ですね。しかもこの言葉、ムーア氏の経験則に基づいての発言ですから、この傾向はもっと前から続いている訳です。これ、すごいことなんですよ。実感がわきにくいかもしれませんけど。

 

今日は1日分の仕事ができた

↓1年半後

今日は2日分の仕事ができた

↓1年半後

今日は4日分の仕事ができた

↓1年半後

今日は8日分の仕事ができた

↓1年半後

今日は16日分の仕事ができた

↓1年半後

今日は32日分の仕事ができた

↓1年半後

今日は64日分の仕事ができた

↓1年半後

 

分かりますかね。勤続10年弱の社員が新入社員の64倍の仕事をこなすんですよ。更に1年半経つと、128倍の仕事をこなすようになります。さらに10年経つと10000倍とか仕事するようになるんです。とんでもない成長、進歩でしょう?これだけ急速に進歩しているにも関わらず!オセロが完全解析できないのか!

できんのですよ。まぁ、厳密にいえばオセロは現在のコンピュータの総力を上げて解析すれば、現実的な時間で完全解析は出来るんですけど、ちょっと気軽に試せることではないので誰もやっていないというのが実情ですね。

じゃあ、なぜできないのかを説明しますね。組み合わせ爆発って言葉でよく語られます。

 

www.youtube.com

 

 

説明すると言ったな。あれは嘘だ。お姉さんが代わりに説明してくれる。

というわけで、組み合わせ爆発というのはこうなるのです。少し計算する世界を広くするだけで、ムーアの法則の凄さを軽く飛び越えた世界が待っている。そして、オセロの世界は…お姉さん!!!

 

とまぁ、話を無限に長くする訳にはいかないので初歩の説明も外注できるところは外注します。

 

例えば囲碁の場合、19x19の盤面のどこでも打てますよね。19x19=361と思って、大体一手進むごとに361倍の世界が広がっているのです。組み合わせ爆発。将棋でも、9x9で約

80パターン盤面のどこかで何かが変わるとして、一手辺り80倍に膨らんだら…組み合わせ爆発。

 

オセロ、チェス、将棋、囲碁それぞれの合法局面数。どうも見積もりで色々論争があるようですが、一番広まっているのは

 

  • オセロ…10の60乗
  • チェス…10の120乗
  • 将棋…10の220乗
  • 囲碁…10の360乗

 

でしょうか(よく知らない。詳しい人が居たら信用できるソースをTwitterかコメントで教えてくれると嬉しいです)

 

お姉さん!!!(分からない人はさっきの動画を見てない人ですね?組み合わせ爆発を数えることでお姉さんが途方もない時間を費やすという動画です。もうやめて!お姉さん!さあ一緒に!)

お姉さん!!!

 

さて。では、なぜお姉さんのようなことにならないで、完全解析できないのにオセロとかでも人間に勝てるんですか?という話なんですね。

一言で答えを言ってしまうと、ソフトウェアの進歩が答えです。つまり、やり方の研究が進んだ結果、出来るようになったということです。

 

ソフトウエアの進歩については以前書いているような気がするので置いておくとして、次はゲームの種類の話をしていきます。

 

ターン制、リアルタイム

お互いのターンが決まっていて、その間に行動を行うというのを交互に繰り返すゲームがターン制ゲーム。それに対してリアルタイムのゲームは、毎秒20~60回(人間の認知速度の限界に近い)の瞬間があって、そのどこで行動してもいい、行動しなくてもいいというタイプのゲーム。

一般的にターン制のゲームの方が組み合わせ爆発はおきにくい。将棋などは、100手と少しで終わることも多く、どんなに多くても300手程である。オセロは60手程。(手数はお互いのターン数の合計)

数秒で20~60手進むというのが数十分続くと考えると、リアルタイムのゲームがどれだけ広大な世界であるか分かるだろう。

 

完全情報ゲーム、不完全情報ゲーム

世界がどういう状態であるかが全て見えているゲームと、隠されているゲーム。例えば囲碁、オセロ、将棋、チェスは相手が何をしたか、相手の手元に何があるかが全て見えるゲームだから完全情報ゲームだ。一方で、相手が何をしたかが隠されていたり、相手の手持ちに何があるか見えないゲームは不完全情報ゲームとなる。ポーカーや麻雀などがそう。

当然、不完全情報ゲームの方が難しい。

 

今まで攻略されてきたゲーム、オセロ、チェス、将棋、囲碁は、どれもターン制かつ完全情報ゲームでした。しかし、StarCraft2はリアルタイムの不完全情報ゲームです。しかも、時間の1単位辺りに取れる行動のパターンは1000にも届きます。

f:id:rewritemath:20190125172819p:plain

ゲームの種類。DeepMind社の資料

 

 

和訳集(クリックで開閉)

Benckmarks of complexity(ゲームの複雑さの判断基準

inceasing complexity(ゲームの複雑さの上昇。右に向かうにつれてゲームは複雑になる)

information Type(プレイヤーに与えられる世界の情報

Near-perfect(ほぼ完全)

Perfect(完全)

Imperfect(不完全)

player(ゲームをプレイする人数)

single player(一人)

multi player(複数)

Action Space(世界の広さ。操作して移動できるマス目の数)

Movers per game(操作数の合計。大体)

 

 

ちなみに、アタリのゲームは一人プレイのゲームで対戦型ではありません。過去にDeepMind社が攻略した対象で、通称テレビゲームとかビデオゲームとか言われていた最初期のゲームです。Action Spaceは世界の広さ。StarCraftではとても細かく操作ができます。とてつもない広さだということが分かりますね。

 

 オセロもまだ完全解析できていないというのに(何度言うんだ)これほど複雑性を増しているにもかかわらず人間よりも巧みにプレイすることが可能とは、技術の進歩は驚異的です。

 

閑話休題

 分かる人向けに今まで攻略されて人間のプロより上手くなったゲーム達の紹介。私が知っている範囲である程度知名度のあるものなど

  • オセロ(ターン制の二人制ゼロ和確定完全情報ゲーム)
  • チェス(ターン制の二人制ゼロ和確定完全情報ゲーム)
  • 将棋(ターン制の二人制ゼロ和確定完全情報ゲーム)
  • 囲碁(ターン制の二人制ゼロ和確定完全情報ゲーム)
  • StarCraft2(リアルタイムの二人制ゼロ和確定不完全情報ゲーム)(RTS
  • Dota2(リアルタイムの二人制ゼロ和確定不完全情報ゲーム)(MOBA系)(5v5でもプロチームに勝利)
  • 大乱闘スマッシュブラザーズ64(リアルタイムの二人制ゼロ和確定完全情報ゲーム)(格闘ゲーム
  • ポーカーのテキサスホールデム(ターン制の2人制ゼロ和不確定不完全情報ゲーム)
  • コンバット(ゲームではないかもしれないが、戦闘機を使った戦闘シミュレーションアメリカ空軍の大佐が負けた、操縦も戦略もお手の物らしい)

    人工知能パイロットが無人戦闘機の戦闘シミュレーションで元空軍大佐に勝利 - GIGAZINE

 あと、古いFPSでも勝ってたのを見かけた気がする。忘れた(情報求む→https://twitter.com/jaguring1/status/1089092320408915968?s=19

 

変わり種だと、ジェパディっていうクイズ番組で優勝したってのもあります。まぁあれは旧世代の遺物みたいなもんだから…(これ以上はコメントを差し控えます)

 あと、全部のゲームに詳しいわけではないのでゲームの分類に違いがあったら教えてください。それ以外でも間違いがあったらしてくれると助かります。

 

リアルタイムの二人制ゼロ和確定不完全情報ゲームでは以前にもOpenAI主導でDota2に勝利しているわけですが、勝利に近いかどうかを判定するのがMOBAよりも純正(?)RTSの方が難しいんですよね。しかもStarCraft2は使用するユニット数が多いし戦略要素が強い(個人の感想です)

 

 そういう訳で、判断に関係する情報を全て与えられていなくても(不完全情報)、時間の区切りで可能性が爆発的に増える場合でも(リアルタイム)、戦局が有利か不利かを判断し、戦略を自分で練ることができ、そしてそれが人間のプロに匹敵する(もしくは圧倒する)レベルに人工知能は達したという訳です。

 

これが、AlphaStarの衝撃。

 

これだけではありません。

f:id:rewritemath:20190125184643p:plain

Action/minute

これをご覧ください。Action/minuteというのは、分間操作数とでも言いましょうか。人間のプロの訳半分しか操作をしていないのにも関わらず(つまり、ものすごい速度で細かい操作を行って有利を築いたわけではない!)この実力なのです。更に、人間よりも反応速度は遅く設定してあると言います。それにも関わらず人間のプロに勝利するとなると、これは戦略が優れていると評価するしかないでしょう。

更に、入力(与える情報)を人工知能先生が分かりやすいように変換する操作をせず、画面の情報だけでプレイさせても同等の強さまで成長したというのです。

f:id:rewritemath:20190125185308p:plain

青いのは画像だけ与えたバージョンのトレーニング。横軸はプロの強さ。

7日で大体強さが飽和しているっぽいですが、5日もトレーニングすれば人類くらい勝てますよ~カメラから画像情報を与えただけですよ~ってのがとんでもない。

意地悪な捉え方をすれば、人間はキーボードが、マウスが、肉体が、目が、反応速度が!という言い訳の全てを既に潰してきていると言えます。
 

 ミスをしないというのはそもそも、戦略を練る時点でミスをする可能性とかは同じ条件ですし、操作ミスも巻き返せるだけの操作数が人間にはあるんじゃないですか?って言ってきている(受け取りを意地悪にすればこういう解釈になる)

 

 これがAlphastarの衝撃。

 

 さぁ、人類が勝てるゲームはまだあるかな?(あるにはあるけれど、あったとしても、Googleが本気を出せばすぐに制圧されてしまいそうだし、StarCraft2程の複雑なゲームでここまで実力が伸ばせるということなら、大体のゲームはお手の物といった感じだろう)