ゲームにおける人工知能

松原仁氏(以下、松原):みなさん、おはようございます。ご紹介いただきました松原です。今日は人工知能について。……まあ、私はともかくとして、(ほかの登壇者が)けっこうオールスターキャストで(笑)。

この後いろんな話があると思いますので、私以外、こういうネタにはしないだろうなということで、この話をさせていただきます。

背景ですけれども、ご存じのとおり、こういうセッションが設けられるように、おかげさまで今、人工知能は3回目のブームになっています。

それで、今までの2回のブームと違うのは成果。実際に多くの人が、人工知能の成果をスマホのアプリですとか、そういうものに使っている。

そのなかで人工知能の能力というのは、少なくとも部分的には上がっているわけですが、人間に追いつき追い越そうしていると言われていて、そうなったときにどうなるのか。我々はどうすればいいのか。仕事が奪われるという側面も含めてですね。

そういうことを考えたときに、ゲームではありますけれども、今まさに将棋と囲碁では、人工知能の能力が人間に追いつき追い越そうとしているところです。

こういうゲームの世界に直接関わるのはプロ棋士というごく一部の人なわけですけれども、将棋と囲碁がどのようにしてこうなっているのか、今どういう状況で、これからどうなろうとしているかということを考えることは、今後、ゲーム以外のところで我々多くの人間に関わる話になってきたときに参考になるのではないかということで取り上げています。

こういう表はゲーム情報学にあるんですけど、初手からゲームが終わるまで、場合の数を全部数え上げるとどれぐらいになるか。それと、そのゲームで、コンピュータが人間のトップを超えたと思われる年。

実際に対決したのもあるので、将棋が「?」なのは実際に対決していませんが、実力的には超えたとか。それがこの表のようになっています。

人工知能の「ハエ」

オセロ、チェスというのは1997年に(コンピュータが人間を超えた)。将棋は、やはり将棋ファンとしては、実際、羽生善治さんと対決してコンピュータが勝たないかぎりは、絶対負けたと認めない(笑)。まあ、多くのプロ棋士が負けているんですけど。

でも、実力的には羽生さんに勝ち越すだろうというのは、去年宣言をしていて、それで「?」になっています。まあ、やっていないけど。

囲碁は、あと10年かかると私も言っていたんですけど(笑)、ご存じのように、2016年の3月にGoogleのAlphaGoがイ・セドルに勝ちました。1人2人彼より強い人はいるんですけれども、ほとんど世界チャンピオンなので、(コンピュータが人間を超えたのは)今年ということになります。

この場合の数の計算ですけれども。例えばチェスだと平均分岐数という、ある局面でルール上指せる手が何通りあるかという統計をとると35通りぐらい。それでチェスは1局何手で終わるかというと平均80手で終わる。というと、35の80乗というので計算をしています。

それで、これを見ていただくとわかるとおり、コンピュータでしらみつぶしが今できるのはチェッカーぐらいなんですけれども。オセロ、10の60乗以上は、今のコンピュータがいくら速いといっても、まだ本当の意味での全部は読めないので、選択的に選んでいます。それでも場合の数が大きければ難しいというので、こういうふうになっています。

今日は囲碁と将棋の話なんですけれども、世界的に人工知能で一番やられていたゲームというのはチェスなので、おさらいとしてチェス。

人工知能という名前は1956年にジョン・マッカーシーがつけて今年で60年目ですが、人工知能のきっかけというのは、1950年前後にアラン・チューリング、クロード・シャノンという情報系の超大物が、コンピュータにもチェスをさせた。「ミニマックス法を使えば、次の手を計算できる」という。

ミニマックス法というのは、もともとフォン・ノイマンなどが経済モデルで20世紀のはじめの頃に出したモデルですけれど、それをゲームに使えることを示した。

人工知能の「ハエ」。これも、こう名付けたのはマッカーシーだと言われていますけれども、生物学がハエで進んだように、人工知能の研究がチェスで進んだというので、これはほめ言葉です。

だいたいどのゲームも始めた頃はどうしようもなく弱くて、心が折れるというか、折れた研究者はたくさんいて。「チェスをやっていたけど、やめた」という研究者がたくさんいます。将棋も囲碁もそうですが。

それをしぶとくやっていると、最終的にはいいことがあるという感じですけど。最終的に、ご存じのように、1997年にDeep BlueというIBMのマシンがガルリ・カスパロフに勝ちます。

Deep Blueの登場

その後ほとんどマスコミではなにも言わない。だいたい世界チャンピオンに勝つと、そのゲームは人工知能の命題としての役割を終えるんですが、2000年代後半にはパソコンソフトが当時の世界チャンピオンに勝ったりします。

2010年代が赤で書いてあるのは、さすがにスマホに世界チャンピオンが勝つようなソフトを乗せても、誰もダウンロードしてくれないというか(笑)、買ったとしても100戦100敗。ぜんぜん楽しくないので、入れてもしょうがないんですが、スマホに乗るぐらいのアプリになっていると言われています。

それで、Deep Blueですね。実は、カーネギーメロン大学のグループをIBMがもろともスカウトして、1989年ぐらいから始めた。だいぶ負けたんですけど、ほぼ20年前、1997年に当時のスーパーコンピュータとか並列処理で勝ってこれは大ニュースになりました。

だからこの頃は、機械学習というのが強くなったポイントなんですけれども、Deep Blueは、ごく一部機械学習を使っているもののそれは本当にごく一部で、ほとんど作り込みというか、人間がプログラムを書いています。だから、それが将棋や囲碁とずいぶん違うところです。

これが、人工知能の進歩についてのテレビ番組があると、必ず出てくるカスパロフのかわいそうな……。といって、私も出しているので他人のことは言えませんが。カスパロフですね。

これは、ニューヨークに見に行ったときの解説会場にある対局。まだ勝負が最終的についてないとき。この右の5人がIBMのDeep Blueのチームです。

ボナンザメソッドで圧倒的に強くなった

それで、将棋というのは、ゲームをご存知の方はおわかりかと思いますが、チェスのルールと似ているんですけど、敵から取ったコマが使えるという持ち駒制度というのがある。さっきの場合の数、チェスが10の120乗で、将棋は10の220乗。将棋のほうがはるかに大きいのはこのせいです。

あと、金とか銀、将棋知らない方はごめんなさい、小駒という、ちまちま動く駒が多いと形勢が微妙になる。チェスは大きく動く駒が多いので、形勢判断がはっきりしやすいんですけれども、将棋は形勢判断が微妙なので、コンピュータにはその判断が難しいという時代が続きました。

将棋の研究は、チェスからはもう四半世紀遅れて、70年代半ばに始まりました。私も、1人目ではないんですけど、たぶん数人目、1桁目で70年代の後半に無謀にもプログラムを書き始めました。

ずっと弱かったんですが、さっきのチェスのように手作りというか、プログラマーがプログラムを作っていたんです。

2006年に、将棋ファンの方はご存じかもしれませんが「Bonanza」というソフトが生まれて。今、作者の保木邦仁さんは電通大の准教授やっていますけど、彼がはじめて機械学習で将棋の評価関数というのを作りました。

数万局~10数万局のプロ棋士の棋譜を入力して。例えば、羽生さんがこの局面でこの手を指したっていったら、その局面で評価値が、羽生さんの指した手が一番高くなるようにパラメータを変更するというようなことを延々と繰り返す、ということをしました。

アイデアは、それまでも「やればいいよね」というのはあったんですけど、本当にやって作ったのはこの人が最初です。これがコンピュータ将棋で圧倒的に強くなったので、それからみんなこの、「ボナンザメソッド」という名前がついているんですけど、機械学習で評価関数を作るという方法を、今にいたるまで、ずっとみんなやっている。

その後、勝ち始めて。情報処理学会では、昨年「もう勝つよ」というのをやりました。

人工知能が局面を評価する仕組み

ここらへんはミニマックス法なのでいいかと思いますが、こういう将棋の局面がパッとあったときに、どの点数をつけるかという評価関数。これをいかに正確にするかということと、深く探索すること。ゲームというのは、深く探索すればするほど強くなります。

羽生さんに認知実験に協力していただいているんですけど、羽生さんはふつう14~15手先まで読みます。

弱かった頃は将棋のソフトは1桁だったんですけれど、今の将棋のソフトは20手近く読みます。20手というか、もっと読みます。やはり、それが羽生さんにも勝ち越す。

さっき口で申し上げたようなことを図示したのがこれで。(スライドを指して)今の評価関数で「5・1・7」というふうについていると、今は「7」が一番高いので、コンピュータはこの「c」という手を選ぶわけですけど。

羽生さんとかプロ棋士が実は「a」という手をこの局面で選んだら、この点が上がるようにパラメータを調整して、この点が下がるようにパラメータを調整して、こっちが一番になるようにすれば、コンピュータは次この局面になったときにこっちを選ぶと。そういうアイデアです。

アイデア自体は単純なんですけど、それで「あから」が誕生する。これが情報処理学会で公募して作ったキャラクターで、「人間をバカにしてるのか?」と言われたんですけど。バカにしたつもりはありません(笑)。

本当はプロジェクトとしては、「歩から香、桂。最後、飛車だ」とか言っていたんですけども、なかなか対戦に、それこそ羽生さんとの対戦にいたっていません(笑)。

これはそのとき、女流プロと対戦した写真です。

(スライドを指して)これ、一番右が私で。なんか目が虚ろですが(笑)。この清水市代さんというのが敗者の弁を語っています。私がそのあと勝者の弁を言うはずなんですが、なに言っていいかというのを考えていて。あまりいいこと言えなかったという。

その後、商売になるというので、ニコニコ動画がプロ棋士との対戦をやって。第2回、第1回は米長邦雄さんという人と1対1だったんですが、5対5というのをしばらくやって。

これはもう3年前になりますけれども、本格的に現役の男性プロ。男性プロのほうが女性プロよりも経験的に強いわけですが、それに勝って。Bonanzaと名前は似ていますが、ちょっと違う、ponanzaというのが勝ち越します。今一番強いのはこれです。

電脳戦でコンピュータが負け越し

去年はこの電脳戦が始まってからはじめてコンピュータが負け越します。だけど、反則負けとかバグ負けとか、なんか「将棋の勝負か?」というような。

正直にいって、対等に戦うとプロ棋士の分が悪いというので、1台指定のパソコンでやります。クラスターを使っているようなチームとかあるので、そういうチームはやはり単独のパソコンだと弱くなるんです。

あとつらいのは、数ヵ月前にソフトを固定して、それをプロ棋士のパソコンにインストールして勉強し放題で、なおかつバグ取りは許さず、という。

こうしたら絶対ソフトウェア工学的にというか、バグ出しをして、「こうなったらこの手順で勝てるぞ」というのをプロ棋士が本番でもやったら勝てるって、乱数が入ってなきゃ思うわけですが。

そのとおり、本番の一番大事なところで。これ勝ったほうが勝ち越すという状況で、プロ棋士としては最後の砦なんですけれども。

阿久津主税さん。阿久津さん、悪くないと思うんです。この人、絶対勝たなきゃいけなかったわけですから。

正々堂々と戦って勝てると思えば、正々堂々と戦ったんだと思うんですが、もう正直申し上げて正々堂々と戦って勝つ確率は非常に低いと思って、あらかじめバグ出しして。

こういう局面になると、後手のコンピュータはここに角を打つんです。このソフトはそうなんです。これはダメなんです。このあと、こっち(棋士側)が勝てるんです。というので、このとおり。

(会場笑)

それでコンピュータは投げないですが、プログラマーがもうこれで戦意喪失して、ここで投げるという。始まってまだ1時間ぐらい。夕方まで番組とってあったのにどうしようっていう。大変だったんですが、まあ、こういうことになりました。

(会場笑)

それで今年も、「5対5はちょっともう勝負として……」というので、羽生さんや渡辺(明)さんという強い人は予選出なかったんですけれども、プロ棋士の予選で1位になった山崎隆之8段。山崎さん本人には申しわけないですけれども、将棋ファン以外誰も知らないだろうという。でも、優勝した人だから強いんですが、山崎さんとさっき出てきたponanzaが2日間制で2局やりました。

よくわからないルールなんですけれども、(ponanzaが)圧倒的に強くなって、もうコテンパンでした。

ちなみにこれの来年の予選に、今、羽生さんが出ている。今度は羽生さんが出るというのでニュースになって。そろそろベスト16からベスト8になる対局があるはずです。

だけど、あと4局プロに勝たないと羽生さんがコンピュータと対戦しない。4局勝つと、来年、羽生さんがとうとう出てくると。

ここだけの話、予選なんかしないで、最初から羽生さんを代表にすればいいのにって思うんですけど。ちょっと空気読んでないぞという感じですね(笑)。

(会場笑)

人工知能の“創造性”

終了宣言を、情報処理学会の会員の方は去年10月……10月号かな、11月号かに出しました(『情報処理』Vol.56 No.11 2015年11月号)。なかなか、それこそ羽生さんと対戦できないので、「勝ったつもり」というやつですね。

それで、将棋の教訓というのが、いくつかコンピュータ将棋にあるんですけれども、1つおもしろいのが創造性というやつ。

人工知能が得意なこと、人間が得意なことというのはいくつかあって。人間が得意だと思われていること、「こういう仕事はしばらくAIに奪われないだろうな」というのは、創造性を使う仕事だと言われています。

実際そうだと思うんです。少なくともしばらくはそうだと思うんですけど、永久にコンピュータが創造性をもてないかというと、そうではないのではないかということを、将棋が具体的に示しています。

将棋にも創造的な手と言われる手があります。「新手」、新しい手というんですけれども。ルール上指せる手が限られているんだから、本当に発見したわけじゃないんですけれども、いわゆる再発見というか。

それまでプロ棋士は、その手はいい手だと思わなかったので採用してなかったんだけど、優秀な創造性のあるプロ棋士が、その手がいい手だというのに気づいて、指してみて、本当にいい手で、勝つと。

そうすると、ほかのプロ棋士が「すごい。この手はいい手だ」というので、もうその局面になると、その新手というのをみんな踏襲するようになる。

それは、年配の将棋ファンだとご存じ、升田幸三さんなんていうのがそういうのが得意だと言われていたプロ棋士です。

それをここ数年は、コンピュータが見つけています。コンピュータ同士、もしくはコンピュータとプロ棋士の対局で、最近コンピュータは新手をたくさん出すんですね。プロ棋士や人間は思いつかなかったような手を。

コンピュータが弱かったときには、プロ棋士が思いつかなかったような新しい手というのは悪い手だったんですけれども(笑)、今やコンピュータのほうが強いぐらいになっているので、いい手であるとされる。

それで、例えばこれ、将棋ファンじゃない方、申しわけない。(スクリーンを指して)これ、3七銀。

これは名人戦というプロ棋士の間でも一番大事な、はっきりいうとギャラが高い、数年前の実戦です。先手が羽生さんで、後手が森内俊之さんという当時の名人。

当時の名人の森内さんがこの局面で3七銀と打ったんですが、これはプロ棋士の間ではすごく有名な局面で、実戦がもう何百局もあるのかな。

なんですけど、3七銀と打ったプロ棋士はいなかったんです。でも、この対局の1ヵ月前に、さっき出てきたponanzaが、コンピュータ同士の対局だったんですが、ここで3七銀と打って、これがいい手で、後手が勝つんですよ。

森内さんはそれを勉強していた。「ああ、いい手だ。もしどこかで出てきたら使おう」と思ったら、一番大事な名人戦で出てきちゃったので使った。それで勝ちます。

羽生さんにあとで感想戦で聞いたら、「知らなかった。不勉強だった」。羽生さんがコンピュータの手を知らないで「不勉強だった」と言ったのが、プロ棋士にとってはまずショックだったようですが、そういうことがあります。

プロ棋士も人工知能の手を見て学ぶ

図面の違うところから取ってきたので申しわけありませんが、これは違うタイトル戦。これが一番有名なんですけれども、渡辺明さんという羽生さんと同じぐらい強い人と、郷田真隆さんのタイトル戦です。

細かくなるんですけれども、こっちの6六にあるのが5五に出てくるというのを「5五銀左」といいます。

それで、同銀って取られると、先手は銀を取られたので取り返さないといけないんですが、そこで4七銀と下がると。銀損なんですが、これで先手がいいというのを、渡辺さんがタイトル戦でやったんです。

これも、コンピュータがこの局面でこの手順をやって、先手で勝っている。だから、そういうのが出てきています。

だから、今プロ棋士は、とくに若いプロ棋士はコンピュータの対局を勉強しています。みなさんもご興味があれば見ていただくといいんですけど、「floodgate」という24時間コンピュータ同士が延々と戦っているというマニアックな対局場があって、コンピュータは夜中もずっとやっています。

あと、とっても強いです。当たり前ですけど。今やプロ棋士より強い対局をやっているので。私もたまに見るんですが、ほとんど意味がわかりません。

そういうのをプロ棋士も見て勉強して、実戦で打つということをやっています。だから、それは人工知能も独創性のを持てるということの1つです。