第7回 人工知能の本命!? あらゆるゲームを攻略する深層強化学習

深層学習の成果を一般に広く印象づけた出来事は、なんといってもGoogle傘下のDeepMindが開発したAlphaGoが人間のトップ棋士であるイ・セドル九段を破ったことだろう。さらに正体を隠してオンライン囲碁でも連戦連勝を飾った上で有終の美を飾りながら引退したAlphaGoに、感情を揺さぶられた人間は少なくなかったはずだ。

私はかつて日本棋院の協力のもと、囲碁ゲームの開発などを担当した経験があり、いかに囲碁が難しい題材であるか肌で知っていた。当時、囲碁の勝敗判定すら通常のコンピュータアルゴリズムでは不可能に近いと考えられていて、正確な勝敗判定には「本物の」人工知能が必要であり、人類はまだそれを手にしていないと言われていた。それくらい、囲碁はコンピュータで扱うには難しいゲームであり、プログラミングの常識とはかけ離れた存在だった。
第6回「To memorize, or not 覚えるか、忘れるか、それが問題だ。」を読む

なぜ囲碁は難しいのか

オセロや将棋が簡単で、なぜ囲碁が難しいかというと、まず単純に碁盤の持つ情報量が膨大であることに由来する。オセロは8✕8で64マス、将棋は9✕9で81マス、しかし囲碁は、19✕19で361マスと単純に将棋の4倍のマス目があり、さらにそれぞれのマス目が、空白、白、黒の3状態を持つため、囲碁の盤面は3の361乗、つまり約1.7✕10の172乗パターン存在することになる。これはひとつの盤面の処理に仮に0.01秒かかるとして、5.5✕10の156乗億年かかることになる。宇宙の年齢はせいぜい150億年だから、宇宙開闢(うちゅうかいびゃく)から今までの時間を全部使ってもぜんぜん処理が追いつかない。

将棋の盤面も同じくらい複雑だが、将棋の場合は飛車、角、王など、重要度の高いコマの位置関係に絞り込んでパターン分けすることで全体情報量を減らし、人間に勝利するようになった。

ところが囲碁は将棋と違って、「どのコマが重要か」という強弱がない。序盤でなにげなく置いた石が布石となって後半逆転を生む、みたいなパターンがほとんどで、棋士にしても「なぜそこに置いたのか」と言われて論理的に説明できることが少ないのである。

つまり将棋まではある程度は論理的な設計で情報量を減らすことができるが、囲碁は「どれが重要なのか」という「感覚」をプログラムに獲得させなければならない。

従って、それまでのコンピュータがやっているような逐次処理ではプログラミングすることがほとんど不可能で、だからこそ囲碁は人工知能の最終課題のひとつと言われてきた。

AlphaGoが強い理由

AlphaGoは人工知能が人間の棋士と同じ「勝負勘」を獲得できることを世界で初めて示した。人間を騙し、布石を置き、人間に逆転する。

AlphaGoとイ・セドル九段の対局の解説番組を私も見ていたが、解説しているプロの棋士が混乱するほどの高度な手をAlphaGoは次々と繰り出してきた。

AlphaGoの強さの秘密は、 深層強化学習である。
強化学習そのものはもともと生物学や神経科学の分野では古くから研究されてきた。ある状況が与えられた時にどのように振る舞うのが最も効果的か学習する。そのためには、通常のニューラルネットワークの学習と異なり、ある状況に対する行動が、後々どのように影響を及ぼしたのか学習する必要がある。

ただし、強化学習には限界があった。「ある状況」を効果的に認識する方法が欠けていたのである。この「状況」の認識を深層ニューラルネットワークの一種である畳込みニューラルネットワークにやらせることによって劇的な性能向上を得ることができた。これが深層強化学習である。

畳込みニューラルネットワークは、本連載の第2回で紹介したような画像分類などで主に使われてきた基本的な技術だが、AlphaGoでは盤面の情勢の判定に畳込みニューラルネットワークを使う。文字通り盤面を「見て」情勢を判断するわけだ。単に画像として見るだけでなく、ルール上打てない場所とか、さっき相手が打った場所などの情報も同時に「見る」ように設計されている。

次にAlphaGoは「次に打つべき手」を画像として想像する。しかし、常に「次に打つべき手」が正しいとは限らない。そこで、何手か先まで打った後で、最終的にその手が良かったのかどうか、遡って学習する。

深層強化学習の興味深いところは、ほとんどあらゆるゲームに応用可能な点だ。
AlphaGoを生み出したDeepMind社が最初に知られるようになったのは、ブロック崩しという古典的なゲームをAIが自動的に攻略するビデオである。

この原理も非常にシンプルで、過去4コマの画像を畳込みニューラルネットワークに入力し、その出力結果から行動を決定して、スコアが入るか、ライフを失うかしたら強化学習ネットワークにフィードバックするだけだ。ここでも従来からの強化学習と深層学習の組み合わせによって劇的な効果を得ている。

しかも全く同じ深層強化学習ネットワークが、その他のゲームにも適用可能なことが明らかになり、発表当時は世界を驚かせた。数年前は世界がアッと驚いたその成果も、今は誰でも入手可能なサンプルプログラムのレベルまで落とし込まれている。

人工知能のほうが人間よりも上手く解決できる?

深層強化学習そのものの研究も進んでいて、最近のポイントは「好奇心」の導入だ。最新の深層強化学習テクニックでは、「好奇心」を人工知能に組み込んでいる。つまり、あまりにも同じことばかりを繰り返しているとその状態に「飽きて」、他のことをしたくなるように仕向けるのだ。好奇心を組み込んだ人工知能はそれまで不可能だった3D迷路から脱出することもできるようになった。

深層強化学習は単にゲームを攻略するという矮小な問題にとどまらない。
ロボットの制御、ドローンの自動飛行などにも強化学習が導入されているし、今後もこの傾向は増えていくだろう。

なぜならば、深層強化学習が意味するのは、「ゲーム化が可能なあらゆる問題は人工知能の方が人間よりも上手く解決できる」ということだからだ。なにせ人類の遊ぶゲームの中で最も難しい思考ゲームである囲碁で人類を下したわけだ。その他のゲームに応用することは非常に簡単だろう。

株取引、国家戦略、広告戦略、営業戦略、組織運営などなど、さまざまな難問が人工知能によって解かれるようになるだろう。深層強化学習そのものとともにこれから必要とされてくるのは、これまでコンピュータに解かせようと思ってもみなかった既存の難問を、どのようにして適切に「ゲーム化」できるかというゲームデザインの能力である。

ゲームデザインが間違っていればたとえ人工知能が解決しても現実の問題を解決できない。「ゲーム」という表現に語弊があるなら、「数理モデル化」と言い換えてもいい。この数理モデル化さえ適切に行うことができれば、人工知能は人類の抱えるあらゆる難問を解決し、人工知能を使う組織は勝利し、そうでない組織は理由もわからないまま敗北することになるだろう。そんな世界はもう目前に迫っているのだ。

さて、最終回となる次回は、AIの未来の話をしよう。

<今回のまとめ>
●AlphaGoの強さの秘密は、畳込みニューラルネットワークと深層強化学習である
●ゲーム化が可能なあらゆる問題は人工知能の方が人間よりも上手く解決できる
●これから必要とされるのは、「数理モデル化」を適切に行える能力である