Yahoo!ニュース

八尋伸

プロ棋士に迫ったAI「Bonanza」 保木邦仁「将棋を知らないから作れた」

2020/05/26(火) 10:08 配信

オリジナル

コンピュータは永遠にプロには勝てない──。将棋AI(人工知能)はかつて、こう言われていた。2005年6月、そんな世界に突如、トップ棋士に迫る実力を持った将棋AIが現れた。Bonanza(ボナンザ)だ。開発した保木邦仁さん(44)は当時、将棋をほとんど知らない光化学の研究者だった。将棋を知らないからこそ得られた発想と、異分野の研究をしていたからこその気づきが、ブレイクスルーを生んだ。(ジャーナリスト・田中徹、撮影・八尋伸/Yahoo!ニュース 特集編集部)

後悔が残る歴史的対局

2007年3月21日、将棋界の歴史に残る対局が行われた。「大和証券杯ネット将棋」の特別対局。将棋界の頂点である竜王(当時)・渡辺明氏がプロ棋士として初めて公の場で将棋AI「Bonanza」と対局した。先手のBonanzaは自陣の王将を守る「穴熊」という戦法をとると、渡辺竜王も「穴熊」で応戦。中盤までBonanzaは優勢に進めたものの、112手で渡辺竜王に敗れてしまった。大善戦に対局は沸き、この一戦によって、Bonanzaは広く知られることになった。開発者は、対局当時、東北大学大学院で助教だった保木邦仁さん(44)だ。

ただ、この対局は注目度という点で、保木さんにとって後悔が残るものだったという。

渡辺竜王がボナンザに快勝 世界最強の将棋コンピューターソフト「ボナンザ」と対局する渡辺明竜王(左)=21日午後、東京都内のホテル(写真:共同通信社)

「チェスでは、米IBMがつくったスーパーコンピュータ『ディープ・ブルー』vsロシアのチェス選手、ガルリ・カスパロフという対戦があり、1996、1997年に世界が注目するビッグイベントになりました。また、囲碁でも2016年に(Google関連会社がつくった)囲碁AI『AlphaGo』vs世界チャンピオンである韓国のイ・セドルの対局で世界的なニュースになりました。

それらと比べると、棋士の渡辺さんには申し訳ないことをしてしまった。竜王の渡辺さんを迎えるのにふさわしい、もっと大きな舞台を用意したかったという後悔があります。それはいまでも気にかかっています」

Bonanzaは、過去のプロ棋士の対局で双方が指した手を記録する棋譜を大量に読み込み、学習するAIだった。Bonanzaが学習したのはプロやアマ高段者の棋譜約6万。当時としては膨大な量だった。保木さんはポスドク(博士研究員)時代の自由な時間の中、大学のコンピュータを使い、2004年から1年かけてBonanzaを開発した。そして完成すると、ウェブ上に無償で公開した。

公開後、またたく間にBonanzaは評判になった。棋力が高いうえ、クセがありつつもコンピュータらしくない「自然な」手が多いことも注目された。

(写真: 読売新聞/アフロ)

「2005年6月、当時流行していたホスティングサービスのgeocitiesに実行ファイルを公開しました。何かに追われたわけではなく、あくまで好奇心による探求と実験。技術的な苦労はむしろ、チャレンジとして楽しみました。

何かを先取りしたとは思いませんでしたけど、面白いものができたという手応えはありました。実際、将棋愛好家のみならず、プロの間でも話題になりました。渡辺明竜王は当時、ブログに『奨励会有段者もコロコロ負けているらしいんです』と驚きを記してくれました」

2006年には、第16回世界コンピュータ将棋選手権に初出場し、優勝。2009年には、オープンソースソフトウェアとしてソースコードも公開した。アカデミズムの世界では新しい知見は公開・共有されて、さらに発展していく。Bonanzaでも同じことが起き、世界中のさまざまな人から、局面の状態を判断する「評価関数」計算の高速化、指す手を毎回探索する「全幅探索」の効率化といったテクニックが寄せられた。Bonanzaはさらに強くなった。と同時に、他の開発者から「Ponanza」「ボンクラーズ」などBonanzaをベースとした「チルドレン」と称される将棋AIが生まれるに至った。

「反響があったからソースも見せたくなったのかな。目立ちたがり屋なのかもしれません。フィードバックは期待していましたけど、予想以上の反応で、インターネットってすごいなと改めて感じました。まだSNSとかいまほど広がっていない時代です」

ゆっくりした時間の中、AIの開発を始めた

保木さんは現在、電気通信大学で准教授を務め、ゲーム情報学を専門とする。だが、2000年代初頭は東北大学大学院に所属し、光化学の研究者だった。2003年にカナダ・トロント大学のセント・ジョージ・キャンパスに渡った。

(撮影:八尋伸)

「光化学の研究が面白くなっていたところに、カナダの最先端の研究者がポスドクを募集していたので、応募しました。

当時、分子を思い通りに操って化学反応させる『制御』と、そのための計算機シミュレーションを行う研究をしていました。分子に光を当てると、分子が別の分子に組み替わります。レーザー光は太陽光と違う性質を持っていて、分子の組み替わり方も違ってきます。それをシミュレーションで繰り返し、新しい化学反応を発見できるかもしれないと思っていたのです。しかし、研究の世界では一発当てるのは大変でした」

大学まで徒歩15分ほどのワンルームのアパートに住みながら3年間を過ごした。集中すれば徹夜もする。好きな時間に大学に行って帰ってくるような、自由な研究時間を過ごすうちに、Bonanzaの開発に取り組むようになったという。

「キャンパスは都心部にありましたけど、周囲には緑がたくさんあって、日本にいた時と時間の流れが違っていて、すごくゆっくりしていました。(生まれ故郷の)札幌にも似ていたというか。そんな生活に慣れ、じっくりと物事を考えることができるようになったのが2年目でした。

そんな時期に、ふと思いついて読んでみたのが『ディープ・ブルー』の論文でした。米IBMが開発し、世界チャンピオンを破った。興味をもってコンピュータチェスに関する論文や文献を読んでいきました。そのうち『将棋だったら、まだできることがあるかもしれない』と思うようになりました」

(写真:ロイター/アフロ)

保木さんは将棋については「駒の動かし方もうろ覚え」の素人だった。当時、将棋AIの世界では、アマチュア将棋の強豪が開発に関わるのが一般的だった。保木さんは化学反応の計算機シミュレーションを専門としていただけに、コンピュータチェスの論文はすんなり読むことができた。だが、将棋の世界に素人が挑戦する無謀さには気づいていなかったという。

「化学のシミュレーションと人工知能。違う分野ではありますが、やっていることは、実は同じだと思いました。手順、アルゴリズム、計算手法をどう設計し、プログラミングでどのように実現するかということですから」

全幅探索と機械学習の2方法で突破する

当時の将棋やチェスのAIは、局面の優劣を判断した評価(評価関数)と、将来の局面で自分が有利になるよう指し手を決める(探索)ことで成立していた。保木さんがBonanzaの開発にあたって、取り組んだ方法論は大きく二つある。

ひとつは、探索の際に可能な限りあらゆる手を読む「全幅探索」を採用したことだ。これは「チェスAI」の方法と同じだったが、それ以前の将棋AIとは異なるやり方だった。Bonanza以前の将棋AIでは、計算資源の効率化のため、「有効」と考えられる手のみを探索していた。

もうひとつは、評価関数の作成でプロの棋譜を参考にしたことだ。機械がプロの指し手を最適手と判断するよう、「評価関数を自動的に学習(機械学習)」するよう設定した。それまでの将棋AIでは、開発者がプロの指し手を目指して手作業で行っていた。だから、将棋AIの製作者は自身もアマ強豪である必要があった。

「全幅探索」と「評価関数の機械学習」の実用化がBonanzaのブレイクスルーだった。

(写真:當舎慎悟/アフロ)

「将棋をよく知らないから、自分では評価関数をつくれない。ならば、プロの棋譜を参考にすればいいと思っただけです。強い人の棋譜データはあるのだから、それから知識を獲得する機械学習を使えばいいかなと。

後にボナンザ・メソッドと呼ばれるようになりましたが、機械学習には光化学の『制御』の手法と通じることがありました。『制御』とは物質や事象の性質が望むものになるような働きかけを実現することです。自分にとっては、光化学の分野でいう『制御』こそ、情報工学の分野で言われる機械学習だったのです。

自分の定義では、制御とは<プログラムの振る舞いを、観測によって得られたデータに基づいて調整すること>です。つまり、観測(プロの棋譜)から得られたデータによって、プログラムの振る舞いを調整すれば、プロに近い振る舞いが期待できるわけです。

将棋AIの言葉で表現すれば、<既知の局面から着手や優劣(評価)を学習し、未知の局面の着手や優劣を予測すること>です」

ただし、こうした手法は、コンピュータチェスではうまくいっていなかった。Bonanzaが成功したのは将棋とチェスのゲーム性の違いもあると保木さんは言う。例えば将棋の「歩」とチェスの「歩」に当たる「ポーン」は同じではない。「歩」はどんな状況でも前に1マスしか進めないが、「ポーン」は初手に限り、前に2マスまで進められ、斜め前に相手の駒がある場合は相手の駒を取って斜めに進むことができる。似ているゲームだが、そんな「駒割」=駒の価値、ルールが違っていたからだ。

(撮影:八尋伸)

「チェスで『ポーン』を一つ失うことは、『歩』を一つ失うよりも大きな失点です。チェスの場合、駒割の違いによって一手による局面の優劣の変化が大きいため、駒割の計算は機械学習をせずとも容易にすることができます。そのせいか、チェスAIは手作業による評価関数でもプロに迫る強いものができていました。評価関数の機械学習も試みられていましたが、やはり熟練者の手作業のほうがよいとされていたのです。そんなこともあって、将棋でも機械学習は敬遠されていたようです。

逆に、将棋は一手による局面の優劣の変化が小さいため駒割の計算が難しく、さらに持ち駒を使うというルールのため、熟練者によるチューニングより、機械学習が向いていたということではないでしょうか」

こうして開発した将棋AIを保木さんはBonanzaと名づけた。スペイン語で「鉱脈」「思いがけぬ幸運」といった意味。幸運を信じたわけではなく、テレビの特撮戦隊ものによく使われる「ゼット」の響きを気に入り命名したのだという。

渡辺竜王との対局後、Bonanzaのソースコードを参考にした他の将棋AIがプロ棋士を破るようになった。将棋や囲碁といったボードゲームでは、機械同士が対戦し訓練する強化学習により、もはや人間が追いつけないレベルに達した。

「コンピュータの性能が向上し、アルゴリズムが洗練されて高度になれば、特定の分野で人間を超えるソフトウェアが出るのは当然だと思います。公開したソースコードを基に、さらに強い将棋AIが生まれてきたことは素直にうれしい。

ただ、人間と機械、優劣をつけるわけではなく、人間の思考をアルゴリズムで実現することが目標の一つなのです。『人間対機械』は、そのための一つの方法です。なので、対局を受けてくれた渡辺明さんや、関係者にはいまも感謝しています。麻雀やポーカーのような不確定要素が多いゲームでは人間をはっきりと超えていませんし」

心底おもしろいと思えるものに熱中することが大事

保木さんは2006年に東北大学大学院に戻ったのち、2010年に電気通信大学・先端領域教育研究センターに特任助教として着任。光化学分野を離れ、「様々な場面での意思決定、最適戦略を数学モデルから探る」ゲーム理論を教えることになった。現在はゼミで9人の学生・院生とともに「人工知能とゲーム」をテーマに、麻雀のほか、大貧民といったカードゲーム、欧州版の軍人将棋のようなガイスターといったボードゲームの戦術研究をしている。

ただし、世のさまざまなゲームが将棋AIのようにうまくいくわけではないと保木さんは言う。

「将棋やチェスは1対1で行い、勝ち負けがあり、手はすべて双方に公開されます。こうしたゲームを『二人零和完全情報ゲーム』と呼び、計算処理の性能向上、データの大規模化が進めば、コンピュータの勝率は間違いなく向上します。仮に将棋もチェスも囲碁も、あらゆる局面を現実的な時間で読むことができる計算性能があれば、究極のAIができるでしょう。

一方、麻雀やカードゲームのような不完全情報ゲームでは、まだ機械優位とは言えません。参加者が複数人で、公開される情報も限られ、運の要素も入り込んでくる。局面の判断や勝つための探索という最適化戦略の条件が複雑になるからです。例えば4人が参加する麻雀では、自分のほかにプレーヤーが3人います。誰に勝てばいいのか、あるいは誰と協力すればいいのか、各自の持ち点とゲームの進行状況で目標は時々刻々変化します。

そうしたゲームの最適解はまだまだ分かりません。ただ、データ処理をしてどうすれば勝ちやすいか、パターンを認識したり探索したりして、より最適な答えを出すものはできつつあります。

また、二人零和完全情報ゲームを含めて近年のゲームAIの強さの向上は、コンピュータの性能向上だけでは説明できません。効率のよい手法や手順、アルゴリズムの組み合わせを発見し、実現するプログラムがなければ、これほどの発展はなかったでしょう」

(撮影:八尋伸)

保木さんがプログラミングを始めたのは高校生の時。寄り道した本屋でふと手にした参考書がきっかけだった。ただ、なぜプログラミングがおもしろいと思ったのかはよくわからないという。

「プログラミングは、BASICと呼ばれる基本的な言語から始まり、機械語へと進みました。大学に進むと、光化学の本格的なシミュレーション計算もできるようになりました。ただ、なぜプログラミングがおもしろいと思ったのか、自分自身でもピンとこないんですよ。

そもそも、あんなもののおもしろさはどこにあるんでしょうね。本を読んでみたらおもしろかったというか、自分で設計して実際に動く達成感、というのはあるのかもしれない。その理由も後付けかもしれない。やっぱり動機ってよくわからない。でも、とにかくおもしろいと感じたんですよね」

Bonanzaの開発はポスドクの期間で自由な時間ができたときの産物だった。現在は大学教員となり、論文など短期で成果を出さなければならなくなった。そんな現実に仕事の意義を見いだしているという。

「やはり世間の人々が求めるAIって、現実社会の課題を扱うことのできるものだと思うのです。

電気や配水などのインフラ設備、自動車など、いまやあらゆるものにコンピュータが組み込まれ、そこでプログラムが使われています。それぞれで何十万と手順がある。それを人間が手作業で正確に行うなんて不可能です。つまり、プログラムがないと、いまの世の中は動きません。Bonanzaは将棋のAIですが、最適化するアルゴリズムは他のことに利用できるかもしれない。そうして社会の役に立ったらうれしいですね。

いま、大学教員として成果を出さなければならないことが増えました。でも、本当はゆっくりと純粋に、好奇心を惹かれることを追求できたらいいと思うんです。研究は、自分が心底『おもしろい!』と思えることこそが大事なのではと思います。自分の経験でも、そんな気がしてなりません」

(撮影:八尋伸)


田中徹(たなか・てつ)
新聞社社員。1973年、北海道生まれ。著書に『頭脳対決! 棋士vs.コンピュータ』(新潮文庫、共著)、『AIの世紀 カンブリア爆発 ―人間と人工知能の進化と共生』(さくら舎)など。@TTetsu