「囲碁だけは人間に勝てない」と言われた時代
残された最後の戦場「囲碁」
私たちが囲碁AIの開発を始めたのは2014年からだ。そのころはまだ囲碁AIにも、囲碁AIの大会にも世間の注目はあまり集まっていなかった。
それがあるときから明らかにメディアの取材が増えた。
ディープマインド社(2010年起業、2014年にグーグルが買収)の「アルファ碁」が韓国のイ・セドル九段を破り、ついに人類がコンピュータに負けたとセンセーショナルなニュースが世界を駆け巡ったのが、2016年3月15日のことである。
その直後、同年3月19、20日に開催された第9回UEC杯コンピュータ囲碁大会は、詰めかけたメディアの熱気と夢の実現を目の当たりにした参加者たちの興奮に会場が包まれていたことを、大会に参加していた私はよく覚えている。
私は以前から囲碁AIに注目していた。それは人とAIが勝負をする古典的なボードゲー
ムにおいて、囲碁が最後の砦だったからだ。チェスと将棋はすでに人間がAIに敗北していた。人間にまだ勝利していない囲碁で、最初に人間に勝つAIを開発してみたいと思っていたのだ。
人とAIによる盤上の戦いの歴史は意外に古い。
チェスへのアプローチは、1950年前後の人工知能研究の黎明(れいめい)期から始まっている。チェスをプレイできるプログラムができたのは1958年。AIは1960年代には、やや強いアマチュアレベルにまで力を上げ、1980年代にはグランドマスターという最高位レベルの強さに達した。早くも1997年には、IBMの「ディープブルー(Deep Blue)」が、当時の世界チャンピオン、ガルリ・カスパロフに勝利した。
このときに言われたのは、将棋はチェスと異なり、持ち駒を再利用できて複雑だから、まだまだコンピュータは人間にかなわないということだ。
たしかにその見方は間違いとも言い切れなかった。将棋を指すプログラムの研究開発は1970年代半ばから始まっていた。1990年代まではハードウェアの性能が足りないこともあり詰将棋のレベルにとどまっていたが、一旦、ブレイクスルーが起きれば進化のスピードは早い。2006年に「ボナンザ(Bonanza)」が新技術をもって世界コンピュータ将棋選手権に初出場、初優勝を果たすと、2000年代の後半にはトッププロ棋士に勝利するようになる。
ただこのときも囲碁だけは話は別だった。コンピュータが囲碁のプロ棋士を攻略するには10年、もしくは20年かかるといわれた
囲碁を打つプログラムの研究は将棋よりも古く、1960年代から始められたとされる。当然、研究はなかなか進まなかった。縦19×横19と盤面が広いだけでなく、碁石には将棋やチェスの駒と違って個性がなく、非常に多様な石の連なりで意味や価値を形成する。そのため、強さを評価する関数の設計が悪夢のように難しかったのだ。また、一手ごとの選択肢の数でいっても、10の120乗といわれるチェスや10の220乗といわれる将棋に対し、囲碁は実に10の360乗もある。チェスや将棋に比べれば、囲碁のプログラムが天文学的に複雑になることがわかってもらえるだろう。
囲碁AIが、ようやく強くなりはじめたのは2000年代後半のことである。フランスのレミ・クーロン氏が、(後述する)「モンテカルロ木探索」という新しいアプローチを採用した「クレイジーストーン(Crazy Stone)」を開発して、囲碁AIのレベルを数段階ひきあげたのだ。
携帯ゲームでAIの目覚ましい進化を実感
オセロから囲碁へ
囲碁AIが強くなりつつあったのとちょうど同じ時期、私は中小IT企業・トリプルアイズの代表取締役に選ばれた。就任にあたり、大手企業の下請け稼業からの脱却が未来をつくると考えていた私は、「コンピュータに精通する」「AIやロボットを開発して、人々を幸せにするサービスを創出する」という理念を掲げた。一言でいえばテクノロジー・ファースト。技術を高めることが、イノベーションを生むと考えたわけである。
ところが栄光に向かっての船出はいきなり難航する。
当時は公共事業を中心としたITバブルが終わりを迎え、業界が全体として方向性を模索している時期だった。1年目のキャッシュフローは火の車で、事務所の家賃を払うのも大変な状態だった。怒涛(どとう)のように過ぎる日々のなか、ひたすら新技術を開発するチャンスを待ちつづけた。
転機が訪れたのは、事業が少し軌道に乗り、社員が60人くらいにまで会社が成長した2013年のことだ
ある人の紹介で、東北学院大学の武田敦志先生にお会いした。先生はニューラルネットワークという脳神経を模したプログラムで、リバーシ(オセロ)をするAIを研究されていた。その武田先生の研究室で、リバーシAIをつくっていた学生が縁あって私の会社に入社することになった。
「もしかしたら」と私は思った。「オセロAIの知識があるなら、他のゲームのAIだってつくれるかもしれないぞ」
すでにチェスはAIが世界チャンピオンに勝利している。
将棋もAIがプロ棋士に勝利した。当時の私は将棋AIにかなりの関心を持っていた。というのも、私自身、かなりの将棋好きだからだ。子ども時代は兄に連れられ、街の将棋道場で腕を磨いたものだった。ファミコンやスーパーファミコンのソフトでコンピュータ対戦をすることも好きだったが、いかんせん当時のコンピュータは弱かった。
それが、である。たまたま持っていたガラケーに『激指』という将棋ソフトをダウンロードしてプレイしたところ、まったく歯が立たない。すでにコンピュータは劇的に強くなっていたのだ。
まさかこの私が負けるとは…。将棋AIはこんなに強くなっていたのか。
私はAIの進化を肌身に感じた。自分でもやってみたいと思うようになった
そして囲碁AIの開発を考えるようになった。調べてみると電気通信大学でコンピュータ囲碁大会「UEC杯」を開催している。まずはその大会に出てみようと思った。
2014年、東北学院大学の武田研究室の学生にうちの会社への内定を出したその夏、彼をアルバイトとして雇い、囲碁AIの開発をスタートした。とりあえず碁石を交互に打つところからの開発だった。
初参加のUEC杯で、大手IT企業の研究者に勝利
モンテカルロ木探索が示した進化
2015年春に控えたUEC杯に向けて、一つひとつ手探りながら、着実にプログラムを組んでいった。使ったのは「モンテカルロ木探索」という技術だ。(図表1参照)
[図表1]囲碁のシュミレーション
モンテカルロ木探索は、乱数を用いてランダムにシミュレーション(囲碁AIでは「プレイアウト」と呼ぶ)を行うモンテカルロ法に、ある構造を与えてデータを探索する方法のこと。基本となるモンテカルロ法について「ディープゼンゴ・プロジェクト」の代表である加藤英樹氏の説明を引けば、「ある局面を評価するとき、『適当な』着手で終局まで打ち進め、最終的な勝敗でもとの局面の良し悪しを決めるアイデアで、途中で評価するのが難しければ最後まで進めてしまえば良いという、ある意味シンプルな発想である※注」
※注「数学セミナー」2017年11月号『コンピュータ囲碁とディープ・ラーニング』(日本評論社)
これに、ツリー状の構造に従う「木探索」というデータ探索の手法を取り入れたモンテカルロ木探索を囲碁AIに導入したのが、先に述べたフランスのレミ・クーロン氏だ。ちなみにクーロン氏と共に「クレイジーストーン」を開発したとされる人物は、後に「アルファ碁」の開発にも関わることになる。
私たちはモンテカルロ木探索を研究しながら、プログラムの開発を進めた。昼間に通常の業務をこなした後、開発をするという状態だった。AIの最先端技術を駆使する開発は刺激的なもので、時間はあっという間に過ぎていった。
何とかオリジナルの囲碁AIプログラムを完成させたのは、2015年3月の第8回UEC杯大会の直前だった。初出場した私たちは、端から見れば社長が学生を使ってやる道楽チームに見えたかもしれない。だが私たちは本気だった。
総参加32チームが、それぞれのプログラムによる予選を行い成績上位者が本戦に進む。
淡い期待を胸に私たちは7戦し、結果は2勝5敗、残念ながら予選落ちだった。
とはいえ、わずか半年の開発期間で2勝できたことに、ある手応えを感じた。
なぜなら2勝のうちの1勝が、個人で30年ほど開発を続けている研究者のソフトだったからだ。第五世代コンピュータの開発に携わったといわれる大手IT企業の研究者だった。伝統ある大手企業の研究者を中小企業の私たちが低予算でつくった新しい方法の囲碁AIで倒したという構図に興奮した。いま思い出しても小躍(こおど)りしたくなるくらいにうれしかった。同時にモンテカルロ木探索にすごい可能性を感じていた。
実はこの大会で、ディープラーニングを使ったソフトが独創賞を受賞している。「アルファ碁」登場のちょうど1年前のことだった。後に起きる衝撃への布石がこんな場所に潜んでいたわけである。
最先端のAI研究の成果を取り入れた、もっとも早い実用例の一つが囲碁AIだった。今でも「アルファ碁」と同じ時期に同じアイデアが国内で成果をあげていたことを知る人は、囲碁AIの関係者を除けばほとんどいない。このときこそ、マスコミも日本企業もディープラーニングに注目すべきタイミングだったのではないだろうか。
遺伝的アルゴリズムを用いたニューラルネットワーク
ニューラルネットワークの衝撃
囲碁AIをかたちにすることに成功し、会社でスマートフォンの囲碁アプリをリリースするまでに漕(こ)ぎ着けて、プロジェクトは一応の成果を出した。
「来年は予選を突破しよう」
「はい、社長。頑張りましょう」
そんなふうに意気込んで、私たちは開発を続けた。次の大会に向けて、私たちは虎の子のモンテカルロ木探索に加え、新たな技術開発の必要を感じていた。
私が目をつけていたのは、ニューラルネットワークだった。
ニューラルネットワークとは大まかに言えば、人間の神経細胞(ニューロン)をまねた計算のモデルで、AIが画像などの認識をするために使われている。これによる学習手法の一つが「ディープラーニング」で、もっとも基礎的なアルゴリズムを「ディープニューラルネットワーク」という。
ニューラルネットワークについて教えを乞(こ)いに行ったのは、先述した東北学院大学の武田敦志先生である。武田先生は、ディープラーニングとはまた別の「遺伝的アルゴリズム」といわれる手法を用いてプログラムをつくっていた。
遺伝的アルゴリズムは、生物の進化のような計算アルゴリズムのことだ。生物が自然淘汰や適者生存を繰り返しながら、強い遺伝子を残していくように、プログラムを強化する手法だ。遺伝的アルゴリズムで、ニューラルネットワークを最適化していくのだ。
[図表2]
囲碁AIでは、自己対局を繰り返し、生物の進化のように強い候補手を探していこうというものになる。その意味で、後に登場する「アルファ碁」の強化学習と似ているが、重要なのはディープラーニングではない手法である点だ。
世間では、今やAIといえば猫も杓子もディープラーニングと言いたがるが、他にもさまざまな技術が日夜、研究されていることを忘れてはいけないだろう。決してディープラーニングだけがAIの可能性のすべてではないのだ。
私は武田先生に連絡を取り、「一緒に囲碁AIの開発をやりましょう」と打診すると、先生はそれを快諾してくれた。そこで私たちは自前のノートPCを持って、新幹線に飛び乗って仙台を目指したわけである。
先生の研究室で実際にニューラルのプログラムを見たときは、「これがニューラルか!」と衝撃を受けた。長い1行の文字列は非常に複雑で、そこに手を加えようと思っても、どこをいじれば良いのかまったくわからない。文字列の複雑さに私の胸は高鳴った。
私たちは武田先生と、毎月1度はスカイプで打ち合わせをし、ニューラルネットワークを囲碁AIに導入すべく開発に勤(いそ)しんだ。目標は2016年3月の大会である。
研究開発のストップを余儀なくされたが…
停滞の先にあるもの
しかし、やはりというべきか、話はそう簡単に進まなかった。
新しいテクノロジーの研究開発のすべてに通じることかもしれないが、囲碁AIの開発は普段の下請け仕事と根本的に質が違う。どういうことかというと、下請け仕事であれば依頼された仕様書や要件定義どおりにプログラムを組み上げれば良い。仕様どおりにプログラムが動けば完成となる。囲碁AIでいえば、囲碁のルールどおりに動いてバグなく最後まできちんと打てれば、ある意味で完成といえる。もちろん囲碁のプログラミングはそれだけでもかなり難しい。
とはいえ、それでは他のプログラムに勝つことはできない。「最低限、動けばいい」はスタート地点に立ったにすぎないのだ。「どうすれば相手に勝てるか」「どうすれば強くなるか」を自分たちで考えるところからが本番なのである。プログラマーからすると、いわば仕様書のない世界で、答えがないものごとに挑むことに等しい。強靭(きょうじん)な精神がないと途中で心が折れてしまう。出口があるかもわからない狭い洞窟を腰をかがめてさまようようなものだからだ。
私たちは、プログラムを強くする方法を見出せず、囲碁AIの開発は停滞していた。予算もだんだんと不足していった。
これ以上リソースを注ぎ込んでも、このままでは進歩もなさそうだと判断するほかなく研究開発はストップを余儀なくされた。3月の大会から数カ月後、ちょうど6月の梅雨どきである。
開発をストップした悔しさがある一方で、私はどこか楽観的に構えていた。本格的な開発は厳しくても、武田先生との毎月の会議は継続し、研究開発の火を完全には絶やさないようにする。そうすれば秋ごろまでには翌年の新卒者が決まり、そのなかに囲碁AIに興味がある有能な若者が一人くらいはいるだろうと思っていたのだ。
停滞の後には必ず揺り戻しが来るはず――。
これまでのAIの研究史が何よりそう物語っている。