2016年06月03日

Google DeepMindによって開発されたAlphaGoが世界最強のプロ囲碁棋士の1人である李世ドルを4勝1敗で破ったことは世界に衝撃を与えた。現時点でAlphaGoは世界ランキングにおいて柯潔九段に次ぐ2位につけており、もし柯潔九段との対戦が実現すれば誰をも寄せ付けない孤高のトップに君臨することだろう。

もともと囲碁は将棋やチェスに比べて場合の数が膨大であり(チェス=10120, 将棋=10220, 囲碁=10360)、コンピュータには複雑すぎて人間よりも強くなるにはまだしばらくの時間がかかると見られていた。実際、将棋でプロを圧倒する実力を達成した(参考: コンピュータ将棋のトッププロを凌ぐ強さが確認されるまで)情報処理学会は、次の目標として囲碁を挙げていたところだった。最後に残ったグランドチャレンジ(大いなる挑戦)を始める矢先に突然現れたのが、AlphaGoだったのである。

AlphaGoに関してはNatureに論文が掲載されている(Mastering the game of Go with deep neural networks and tree search)。これによれば、AlphaGoは盤面を評価するのにvalue networkを用い、動作を評価するのにpolicy networkを用いる。これらのディープニューラルネットワークは人間のプロの棋譜による教師付き学習と自己対戦による強化学習の組み合わせにより学習される。さらにモンテカルロ木検索(MCTS)を組み合わせることで、他の碁プログラムに対し99.8%の勝率を達成し、ヨーロッパの碁チャンピオンを5-0で破り、そしてついに李世ドルを4-1で破ったのだ。


AlphaGoの概要


AlphaGo01
図1: Neural network training pipeline and architecture

まずはNature論文を元にAlphaGoがどのように動くのか見てみよう。図1aはAlphaGoのニューラルネットワークの学習過程を示したものだ。Rollout policy pπとSL policy network pσは、共に盤面に基づき、人間の指し手を予想するために利用するものだ。

SL policy network pσは13層から構成され、3,000万の盤面データをベースに50GPUで3.4億ステップ、3週間にわたり学習を続けた結果、プロの指し手を57.0%の精度で予想することができるようになった。このSL policy network pσは盤面を評価する際に利用される。

一方、Rollout policy pπは精度を犠牲にして高速に解を得るもので、ロールアウト(終局まで手番を進めて勝敗を評価する)の際に妥当な進行手を決定するために利用される。Rollout policy pπは人間の800万の盤面データを元に学習され、最終的に24.2%の精度を得た。精度こそ低いが、policy networkが3msかかるところを、わずか2µsで解を得ることができる。CPUの1スレッドで、1秒間におよそ1,000パターンの初期盤面からのロールアウトをシミュレーションすることが可能だ。

次にpolicy networkを自己対戦によりさらに強化したものがRL policy network pρだ。RL policy network pρは50GPUで1日かけて128万回自己対戦を繰り返し、最終的にSL policy network pσに対して80%の勝率を達成している。また、一切の検索をせずに、RL policy network pρだけを用いて、オープンソースの最強の囲碁ソフトであるPachiに対しても85%の圧倒的勝率を達成している。これだけでも既存の囲碁ソフトよりも強いわけだが、AlphaGoにはまだ先がある。

最後にSL policy network pσとRL policy network pρを用いて、訓練データを自動生成し強化学習を行ってValue network vθを得ている。SL policy network pσでランダムに3,000万盤面を生成し、RL policy network pρで1億6,000万回ロールアウトした勝率を教師データとし、50GPUで一週間、5,000万回、確率勾配降下法を実施している。Value network vθは、盤面の良し悪しを評価するために利用される。

図1bはAlphaGoで利用されているニューラルネットワークアーキテクチャを示している。policy networkは盤面sを入力とし、σないしρをパラメータとする隠れ層を通過し、その盤面sにおける合法手aに対する確率マップpσ(a|s)ないしpρ(a|s)を得る(Σap(a|s)=1.0)。一方、value networkは同様にパラメータθの多くの隠れ層を用いるが、盤面s'における予想される勝敗であるスカラー値vθ(s') [-1,1]を得る。

AlphaGo03
図3: Monte Carlo tree search in AlphaGo

AlphaGoでは、モンテカルロ木検索 MCTS(Monte Carlo tree search)を用いて手の検索を行う。図3はその概要を示したものだ。

  1. 選択されたルートノードから、評価値であるaction value Qが最も高い値を選択しつつ探索木をたどっていく。ここで評価値Qはvalue network vθの積算値とrollout policyによるロールアウトによる勝敗値の積算の重み付きの和として計算される。
  2. リーフノードはSL policy network pσを用いて、確率Pに応じて展開されうる。
  3. リーフノードまで到達すれば、リーフノードはValue network vθ及びRollout policy pπを用いてロールアウトすることにより評価される。
  4. あるアクションの評価値action value Qはそのサブツリーに含まれるすべての勝敗値とvθの平均値を用いて更新される。

その上で、AlphaGoは次のように手を決定していく。

  1. 自分の手番において、現在の盤面をルートノードとし、持ち時間の間、上述のMCTSシミュレーションを繰り返す。
  2. 最終的に現在の盤面において最もロールアウトを行った(=最も勝つ確率が高いため頻繁に探索された)合法手aを選択する。仮にその手が最大の評価値Qをもつ手と一致しない場合には、思考時間を延長する。
  3. 選択した手aのサブツリーは破棄せず保持し、相手の手番中もMCTSシミュレーションを繰り返す。
  4. 評価値action value Qの最大値が-0.8よりも小さくなれば投了する。

AlphaGo04
図4: Tournament evaluation of AlphaGo


図4はAlphaGoの強さに対する評価だ。図4aは様々な碁プログラムとの対戦結果を示したものだ。各プログラムには一手ごとに5秒の思考時間が与えられている。また、棒グラフの薄くなっている部分は対戦プログラムの実力の底上げをするために4子置いた結果を示している。プログラムの強さはイロレーティングで表しており、230ポイント差が79%の勝利確率に相当する。またプロ段、アマチュア段/級の相当する値も記載しており、ヨーロッパの碁チャンピオンでAlphaGoに0-5で敗れた樊麾 Fan Hui(2,984)も掲載している。図には無いが、AlphaGoに1-4で敗れた李世ドルは現時点では3,552であり、AlphaGoは3,610までレーティングを伸ばしている。

図4bはシングルマシンにおけるAlphaGoのパフォーマンスを示したものだ。各コンポーネントを組み合わせて利用することで確実に強さが増している事がわかる。各コンポーネントの評価を組み合わせることで、大局観を有し、個別の盤面についても的確に評価を行うバランスの良いプログラムが実現している。

図4cはAlphaGoの利用リソースに基づくレーティングの変化を示したものだ。李世ドルとの対戦では1,202CPU、176GPUのコンピューティングパワーが投入されたが(運用料金は30億円以上?)、シングルマシンでも3,000近いレーティングが実現されていることがわかる。これは現時点でおよそ世界500位程度の棋力に相当する。

AlphaGo05
図5: How AlphaGo (Black, to play) selects its move in an informal game against Fan Hui


図5は樊麾との実対戦において黒手番のAlphaGoがどのように手を選択したかを図示したものだ。各図において最大値はオレンジ色の円で示されている。図5aは盤面sにおけるすべての次盤面s'のvalue network vθ(s')を示しており、勝率が色で表されている。図5b及びcは盤面sにおける着手aに対する評価値action value Qを示している。図5bはvalue networkのみを用いた評価、図5cはrollout policyによるロールアウトのみを用いた評価だ。図5dはSL policy network pσから直接導出した予想手である。図5eはルートである盤面sからのシミュレーションにおいてどの手が最も頻繁に検討されたかを示したものだ。最後の図5fはAlphaGoの検索木において最もメインとなった予想展開であり数字で表されている。AlphaGoが赤い円で表された手を打った後、樊麾は白い四角で表される手を打ったが、試合後のコメントでAlphaGoが予想した動作(ラベル1)が好ましかったと述べている。

李世ドルとの対戦


御存知の通りAlphaGoは李世ドルとの対戦を4-1で圧倒し、文字通り人外の強さを発揮した。李世ドルとの対戦においては論文時よりも強化・改善され、レーティングにおいて3,500を超える域に達していたと見られる。象徴的だったのはプロの解説者がAlphaGoの手の意味を解説も出来なかった点だ。
「あれ…? あれ…? 今まで見てきた手の中で一番衝撃的な手のような気がする。これは不思議だとしか言いようがないのでは?」(チェ・ユジン囲碁アマチュア五段)

 「不思議だというよりも、あり得ない手です。プロの感覚では考えも付かない手です。どういう意味で打ったんでしょうか?」(イ・ヒソン九段)

 10日、韓国トップの囲碁棋士、李世ドル(イ・セドル)九段と人工知能囲碁ソフト「アルファ碁」の第2局を中継していた韓国棋院運営の「囲碁TV」解説者たちは「解説」ではなく「疑問」を連発した。対局開始約45分後、「アルファ碁」が打った手に戸惑いを隠せなかった。「アルファ碁」の予測できない変則的な手や、ミスだと思われた手を到底説明できないといった様子だった。李煕星(イ・ヒソン)九段は「どうやってこの囲碁が…(『アルファ碁』が)勝てる囲碁になるのだろうか」とため息をついた。

 中盤を過ぎても次々と繰り出される「アルファ碁」の意外な手に、困惑を通り越えて恐怖すら感じているかのようだった。金成竜(キム・ソンリョン)九段は「『アルファ碁』はデータにない手を打っているようで怖い。『アルファ碁』の自己学習能力が進んでこういう碁を打つなら、人間はあまりにも無力な気がする」と言った。

 中盤まで李九段が有利だと見ていた解説者たちは、後に「アルファ碁」の方が有利になっていくと謝罪した。この日、SBSで解説をしていた宋泰坤(ソン・テゴン)九段は「視聴者の皆さんに申し訳ない。李九段の敗着(敗因となった石の置き方)が分からない。人間の目で見ると、『アルファ碁』はミスばかりしていた。今までの理論で解説すると、『アルファ碁』の囲碁は答えが出ない」と言った。対局が終わった後、宋泰坤九段は本紙の電話取材に「対局を見ながら中継している間、狐につままれたような感じだった」と語った。
これは人間が数千年にわたって磨き上げてきた碁の定石が局所最適に過ぎず、より広い視野に立ってみれば、定石よりも価値の高い全体最適な手が存在する事を示している。人が「厚み」と命名して放置してきた空間をAlhaGoは膨大な計算力を背景に攻略したのだ。
これまでの常識では説明できない手を、アルファ碁はその後も頻繁に駆使した。中盤形勢の不利を感知した李九段が上辺に果敢に攻め入った時はこれに対応せず無関心なように左辺を着手した。序盤・中盤の捨て石に近い石をあえて生かして中央側に引っ張っていった時はアマチュアのように見えた。

高段者のトーレードマークである後味(局面を決定せず余韻を残して後続手段を狙うこと)もなかった。時には自ら失敗を招くような手も躊躇しなかった。部分戦闘が広がるたびに勝戦譜を上げたのは常に李九段だったが、霧が晴れた後の局面を確認してみれば、バランスをとっていたりこまかいながらもアルファ碁の優勢だった。狐につままれたようだ。

これについてキム・ソンニョン九段は「アルファ碁は中央の厚みを計算することができるようだ」と評した。5000年の囲碁の歴史で変わらない不変の法則というのは、隅-辺-中央の順で石を置くという点だ。その順で「眼」を効率的に作ることができるためだ。

特に中央の部分はたいてい感覚だけに依存する上に、隅や辺が整理された後に置かれる一種の共同区域だった。だがアルファ碁は序盤から気兼ねなく中央の部分をしっかりと占めて、いつのまにか後半にはこれを徐々に眼へと脱皮させていった。どこにも使い道のない石はなかった。まるで初めから設計図を描いておいて1つずつパズルを合わせていくようだった。

パク・チムン韓国棋院副総裁は「プロ棋士も中央に置くことを躊躇するのは、自身が置く手がどれほどのものなのか、どんな価値なのか分からないためだ。それで漠然と『厚み』と表現するだけだ。だがアルファ碁はこれをすべて数値化できるように見えた」と話した。

囲碁だけの専有物のように存在してきた勢い・勝負の呼吸・判断力など人間の直観力を、アルファ碁が数学的能力で押し倒した瞬間だった。従って人間の囲碁では理解できない変則手が出てくるのだ。行馬(石の形)・布石・手順など人間が試行錯誤を経て積み重ねてきた囲碁の方式もやはり原点から再び検討するかもしれない。キム・ヒョジョン二段は「アルファ碁の囲碁は既存の観念では説明できない。当惑する」と話していた。
AlphaGoと李世ドルの対戦は、同じルールではあっても、まったく別のゲームで争われたと言えるかもしれない。

実世界へのAIの応用


AlphaGoの勝利を受けて、すぐにでもAIが人類を脅かす存在になるのではないか、多くの仕事が失われるのではないか、という不安が湧き上がった。AlphaGoの根幹をなすディープラーニングは近年のAIにおける革新的なブレークスルーだが、多くの人が想像するようなAIが実現するにはまだ複数のブレークスルーが必要だろう。

まず認識しなくてはならないのは、囲碁が二人零和有限確定完全情報ゲームであるということだ。囲碁の他にも将棋やチェス、オセロなど運に左右されないゲームが該当する。

ゲーム理論における分類の中で最も単純なこの二人零和有限確定完全情報ゲームと実世界における様々なタスクの間には極めて大きな隔たりがある。現実世界には多くの人の独自の評価基準に基づく行動が反映されるし、すべての情報を把握することなど出来ないし、プレイヤーの着手以外に多くの要素が介在する。

実世界におけるタスクを扱おうとした際には、フレーム問題(frame problem)記号着地問題(symbol grounding problem)が立ちふさがる。これらはAIにおける難問として知られているもので、フレーム問題は大雑把に言えばどこまでが関係するのかフレームを決めることが困難という問題であり、記号着地問題は記号と概念を結びつけることが困難という問題だ。我々は猫という概念を知っているが、仮にその概念を説明しようとすればどれだけ言葉を尽くしても足りることはない。猫という概念を説明するために別の概念を使わざるを得ず、またその概念の説明が必要となってしまう。こうしてAIは無限に考え続けることになるわけで、フレーム問題は記号着地問題の一種である。

ディープラーニングはこれらの問題を解決する可能性がある技術であると考えられている。ディープラーニングによりAIが自分で特徴を見出し、さらにその特徴を用いて表される概念を取り出すことができれば、あとからその概念に記号を結びつけてやれば良い。猫という概念をAIに学習させ、学習によって得られたその概念が猫だと後から教えれば良いのだ。また、フレーム問題についても、データをもとに現象の特徴を抽出し、その特徴を用いた概念を使って知識表現すれば、ほとんどのケースにおいて実用的な範囲に収まると期待される。

ただし、これらはあくまでも解決の糸口が見えた、というだけで実際に上述のようにうまくいくとは限らない。実際にAIがこれらの問題を解決するにはまだ複数のブレークスルーが必要な状況だ。まだまだ我々が思い描くようなAIができるには長い時間がかかるだろう。

AlphaGoで李世ドルを破ったGoogleは、一方でBoston Dynamicsを売却する決定をし、世間を驚かせた。Boston Dynamicsは四足歩行ロボットであるBigDogで有名なロボティクス企業で2013年にGoogleに買収された企業だが、たった3年で売却されることとなる。トヨタの買収が有力視されているが、なぜGoogleがBoston Dynamicsの売却を決定したかを考察する記事が興味深い示唆を与えてくれる。

In order to make AI work in the real world and handle all the diversity and complexity of realistic environments, we will need to think about how to get robots to learn continuously and for a long time, perhaps in cooperation with other robots," said Levine. That's probably the only way to get robots who can handle the randomness of everyday tasks.

Boston Dynamics's robots need technology that doesn't exist yet. The software to control them and give them autonomy is still a research problem being worked on by universities around the world. This is likely why Google thought it would take a decade to develop Boston Dynamics's technology into a commercial product.

実世界において動作するAIを実現し、実世界の多様性とランダム性を扱えるようにするためには、ロボットが継続的に長い間実世界から学習し続ける方法を見出さねばならない。そうした技術はまだ見出されていないし、ロボットを制御し自律性を与える研究も道半ばだ。そのため、GoogleはBoston Dynamicsの技術が商用になるまでまだ十年単位の時間がかかると判断し、Boston Dynamicsの売却を決定したのである。

ディープラーニングというブレークスルーにより、AIは限定的な世界における特定のタスクに特化すれば、人間を凌駕するパフォーマンスを発揮できるようになってきた。応用が広がり、さらに研究が加速すればAIは様々な産業で変革を起こし、社会のあり方を大きく変える存在となるだろう。ゆくゆくはあらゆる面で人間を凌駕するポストヒューマンとなる知性体が生まれるのだろうが、それにはまだ超えるべき山がいくつもある状況だ。

将来的にAIが人間を超えるのは確かだろうが、それにはまだしばらく掛かりそうだ。




lunarmodule7 at 07:30│Comments(1)TrackBack(0)││Computer Science 

トラックバックURL

この記事へのコメント

1. Posted by Lenna   2016年06月08日 03:01
はてなの時のような画像処理の研究紹介も読みたいです

コメントする

名前
URL
 
  絵文字