チェロ弾きの哲学ノート

徒然に日々想い浮かんだ断片を書きます。

ブックハンター「アルファ碁VS李世乭」

2017-01-24 09:01:05 | 独学

 124. アルファ碁VS李世乭 (2016年7月 ホン・ミンピョ/キム・ジノ著)

 本書は、コンピュータプログラムのアルファ碁と韓国の世界的プロ棋士である李世乭(イ・セドル)との対局を本にしたものですが、囲碁の本としても、人工知能の本としても、対戦記としても、一級であると考えますので、紹介いたします。

 私は、人工知能に関する本を30年以上前から、数十冊は読んできましたがなかなか良い本には出あえませんでした。まず人工知能は分野が広く、それぞれが勝手に思い描く、人工知能でした。

 私が興味を持ちましたのは、翻訳、ゲーム、医療診断、教育(学習)の分野です。しかし、本当に実績のある人は、そのノウハウは公開しません。素人に不向きな数式の羅列や、人工知能のキーテクノロジーについて、触れられていなかったり、……でした。

 本書は、人工知能の本としても、ベストです。さらには、人間と人工知能がどのように共存すべきかについても、一石を投じています。単にプロ棋士の問題だけでなく、私のような囲碁初心者であっても、人工知能とどのように向き合えばよいか。

 例えば、ちょっとした計算であるとか、ちょっとした記憶であるとか、電卓や電子辞書にもかないませんが、私たちはそれらを自分の脳の延長として、活用してます。さらには、私たちの知能とは何かについて、問い直すヒントになると思います。


 『 人工知能囲碁プログラムである(アルファ碁)が、世界で初めてプロ棋士のファン・フィ二段を相手に5対0で完勝した。そして、世界最強のイ・セドル九段に挑戦状を出したと聞いて、私は驚愕した。

 Crazy Stone や Zen のような現在最強の人工知能囲碁プログラムも、せいぜいアマ五~六段レベルにすぎない。それがある日突然、囲碁プロ棋士を制して、それどころか最強のプロ棋士に挑戦状を出すほど急成長したことが信じられなかった。

 「(アルファ碁)がファン・フィ二段と対局したあと、さらに強くなっていたとしても、イ・セドルに勝つのは難しいだろう」という世間の評価に対して、アルファ碁を開発した、グーグル・ディープマインドのハサビス代表はこのように述べた。

 「彼らはプログラマではない( They are not programmers! )」 この発言は、自分たちはプログラマであり、プログラマとして、今回の対局で勝利することをすでに検証したから挑戦するという意味だ。

 アルファ碁は、イ・セドル九段と闘うためだけではなく、圧倒的な勝利を全世界に認めてもらうためにソウルにやって来た!彼らのこの信じられないほどの自信は、いったいどこから出てきたのか。

 それを知るために、彼らがアルファ碁についてネイチャー誌に発表した「囲碁征服——(深層神経網とツリー探索で征服)」と傲慢な題名の付いた論文を繰り返し熟読した。また、その論文作成に参加した共著者20人の過去10年ほどの研究も調査した。

 そして、私は結論に到達した。今回の対局はアルファ碁が完勝する。もしイ・セドル九段が一勝でもすれば、それは彼が天才だからだと。しかし、このような予想をした専門家は私だけだった。

 私は、イ・セドル九段がアルファ碁に勝てなかったときに、後悔しないよう、5局全体に関する戦略をがっちり準備すべきだと主張したが、誰も私の話に耳をかさなかった。さて、なぜ私は、アルファ碁が圧勝すると予想したのだろう? 』


 『 囲碁以外の古典的ゲームでは、すでに人工知能が人間に勝ってきた。チェスでは、1997年にIBMの「ディープブルー」が世界チャンピオンのカスパロフに勝った。

 けれども専門家たちは、囲碁については少なくとも10年後には、そのような挑戦が可能となるかもしれないとしか予想していなかった。二つの特徴によって、囲碁は人口知能には難しいと思われていた。

 一局で平均的に碁盤上における点が平均250個、平均150手まで進むとしたときに、250¹⁵⁰ となる。次に、対局中のある状況で、どちらが勝つかを予測するのは、非常に難しい。

 チェスや将棋の場合には、それぞれの駒が変わらない機能を持っている。したがって、両対局者が互いに持っている駒とその位置を知っていれば、誰が勝つか予想することができるのだ。

 しかし、囲碁では、石自体の価値はすべて同じだが、状況によって変化する。要石が捨石作戦によって不要な石になって捨てられることもあれば、重要でない石がシチョウアタリになって重要な価値になることもある。

 したがって、囲碁では盤上の石の数や位置に基づいて、その局面で誰が有利なのかを判断することは非常に難しいものだ。

 コンピュータソフトの研究が活発になり始めた60年代以降に、多くの研究者がコンピュータ囲碁プログラムを開発したが、前述の二つの理由で、そのレベルは、アマチュア五級程度のものだった。

 そうするうちに2008年頃、モンテカルロ・ツリー探索(Monte Carlo tree search )と呼ばれるシュミュレーション方法を適用してから、そのレベルがアマ五段まで飛躍的に上昇した。

 モンテカルロ・ツリー探索(Monte Carlo tree search )を一言で要約しますと、分岐に評価値をつけて、低い評価値の分岐について、は探索を打ち切るという手法です。)

 アマ五段レベルの人工知能囲碁プログラムは、一手の着手にあったって2万回のシュミュレーションを実行して、最も勝率が高い手を選択して打つが、まだプロのレベルに達してはいなかった。 』


 『 それなら、プロ囲碁棋士であるファンフィ二段を相手に、史上初めて勝った人工知能囲碁プログラムは(アルファ碁)はどのような構造になっているのか?

 アルファ碁がプロ棋士に勝つほど、素晴らしい性能を発揮するようになったのは、ディープラーンニング(深層学習)の代表的な手法である深層人工神経網(Convolutional Neural Network )を用いたからである。

 深層人工神経網は、比較的新しい機械学習理論であるが、各種のパターン認識大会で優れた効果を出している。この手法が本格的に活用されるようになったのは、2012年からです。

 まず、アルファ碁は、政策網(指導学習+機械学習)と政策網の深層人工神経網、モンテカルロ・シュミュレーションで構成されている。なお、アルファ碁には素早いシュミュレーション fast rollout のための深層人工神経網が、実際には13層あると言われている。

 まず、政策網は深層人工神経網で構成されていて、指導学習する最初のステップでは、まず、ヨーロッパのアマ高段者らがネット囲碁 KGS Go Server で打った16万の対局譜から2940万の盤面を抽出したあとで、つぎにどこの位置に着手するかを学ぶようにした。

 実際にアマ高段者らが次にどこに着手したのかをしっているから(それで指導学習とよばれる)一貫したパターンを分析して身に付ける。この段階で開発されたモデルは、すでに57%の正解率で次の手を予測できた。

 アマ高段者らの打ち方をまねできたとしても、対局で勝利が保証されるわけではない。だからアルファ碁は次のステップで、次の着手の選定の精度をさらに高めるために「機械学習」をする。

 自分自身との対局——すなわち現在のモデル、および以前のモデルから抽出したモデルと数百万回の対局を繰り返すことで試行錯誤しながら自ら学習することにより、モデルを徐々に改善していったのだ。

 たとえば、自分が勝った試合については、勝利に貢献し着手を考えながら、着手の選択率を上げる。特に、この部分でアルファ碁は知能の重要な要素である経験に基づいて、自ら学習する能力を発揮している。

 機械学習をしたモデルは、最初のステップの指導学習をしただけのモデルとの対局では80%以上の勝率を記録した。アルファ碁の最も重要な要素は、人工知能囲碁プログラムで、機械学習を活用して、次の着手選択の精度を高めたことである。 』


 『 ステップ3では、次の着手を最終的に選択するために、打っている対局の状況で、それぞれの着手の候補位置に打った場合、あとに表示される結果が自分にどれだけ有利なのか(勝利率がいくらなのか)二つある方法で評価する。

 一つは、深層人工神経網を用いた評価網 value network で、もう一つは既存のモンテカルロ・シュミレーション rollout を利用するものである。

 評価網は、自分自身との3千万回の対局から3千万の場面を抽出し、深層人工神経網を使って、まだ最後まで打ち終えていない状況で、どちらが勝つかを学習したモデルである。

 アルファ碁の勝利の3番目の要素であり、最も重要な要素は、人工知能囲碁プログラムで初めて深層人工神経網を利用して、非常に優れた評価関数を開発したことである。

 機械学習を活用した評価網では計算は遅くなる。モンテカルロ・シュミレーションは比較的正確で速いけど、あま高段者のレベルくらいである弱点がある。

 アルファ碁は相互補完的なこの二つの手法の長所をいかすために、二つの手法の結果を50%ずつ反映して、最終的に着手位置を決定する。

 アルファ碁の勝利の4番目の要素であり、また非常に重要な要素は、アルファ碁が最良の手を探すツリー探索の過程で、評価網とモンテカルロ方法を初めて精巧に結合して性能を高めたという点である。 』


 そして、アルファ碁とセドル九段との5番勝負が、セドル九段が勝てば破格の賞金100万ドルであった。勝負の経過が書かれていますが、結果は、3敗で勝負は決まったのですが、さらに4戦目を戦って、セドル9段が気力を振り絞って一勝をもぎ取ります。さらに5戦目を戦い疲れても伴い敗れます。


 ここで、囲碁のルールについて、述べます。

 (1) 19×19(361ヶ所)のマス目の交点に、黒石と白石を交互に打つ。

 (2) 相手の石を囲むと取ることができます。(前後、左右を)

 (3) 自殺手は、打ってはいけない。

 (4) 相手の石が交互に取り合う場合、すぐに取り返せない。(コウのルール)

 (5) 陣地が多いほうが勝ち。(先手が7目半のハンデ)   以上です。


 ここで最初に、学習という言葉の定義をしておきたいと考えます。広辞苑によりますと「まなびならうこと」 「新しい知識、技能を習得すること」 とあります。

 学習とは、習い、そのまま自分でできる、または試験で問いに答えることでしたが、ここでの意味は、少し異なります。

 例えば囲碁や将棋や、チェスや株式投資を自分の考えた、必勝のルールに則って試合を行います。その結果、勝った時は、ここが勝敗の分岐点であったと、必勝のルールに追加します。

 負けた時は、ここが勝敗の分岐点であったと、必勝ルールに追加します。そして次の試合や投資にそれを活用して、勝率の精度を上げていくことが学習です。

 層とは、私の推測では、囲碁は170手から240手で、終局しますが、序盤、中盤、終盤に分けます。麻雀で言えば、一手目、二手目、……、二向聴(リャンシャンテン)、一向聴(イーシャンテン)、聴牌(テンパイ)、和了(アガリ)となります。

 これらのフェーズ(層)ごとに、最善手のパターンを持ち、それらに評価値を持ち、そのフェーズ(層)を評価しながら、最善パターンを更新し、精度を上げていく。

 囲碁の盤面で勝敗の分岐の一手をどのように判別するのかはわかりません。そこから何をどのように学ぶのかわかりません。

 層の分け方、評価方法、勝敗の分岐点の判定方法、学習の方法は不明ですが、私たちも人工知能の学習方法に学び、人間の脳力のすぐれた部分は何か、人工知能をどのように活用するかは、私たちの課題でもあります。

 最後に、第三局を終わってからの部分と第四局を終わってからの部分を引用します。


 『 人工知能と真っ向勝負をするために、リングの上に上がり、三連敗を喫した。人類の敗北により、近い将来人工知能に征服させられるかもしれないという不安感も高まった。

 人工知能がずっと進化をしていくと、人の技術力や知能が必要でなくなる時代がくるかもしれない。シリーズとしては第三局で結果は決まったが、第四局と五局の勝負は、グーグルとセドル九段にとっては重要な対局であった。

 一勝でもすれば、アルファ碁に勝てる可能性を残すことができる。セドル九段は賞金ではなく、囲碁と人間の未来をかけて戦うのだ。そのためか、勝負の重みがより増したように感じた。

 結果は、白盤のセドル九段が180手で、中押し勝ちをおさめた。今回も敗北を予感していた。アルファ碁は強力で、完璧に近い姿をみせていたからである。

 囲碁界の人々は敗北意識にとらわれていた。アルファ碁に対する恐怖感は頂点に達していた。しかし、ただ一人、セドル九段は別のことを考えていた。

 アルファ碁に勝つための苦悩はこれまで以上に深く、その過程で答えを探して勝つことができると自分自身を信じていたのだった。

 アルファ碁の父、デミス・ハサビスと現場解説を引き受けたマイケル・レイモンド九段とソンテゴン九段は、お祝いのメッセージを伝えた。

 そして、現場にいた大勢の記者たちが歓声を上げた。まるで宇宙怪物を倒して帰ってきた英雄を讃える雰囲気であった。この対局によって、アルファ碁に勝つことができる可能性を切り開いた。 』 (第123回)