なぜうまくいくのかわからない手法こそ、これからのAIの進歩の鍵を握っている

将棋の名人を破った将棋プログラムポナンザの開発者であり、『人工知能はどのようにして「名人」を超えたのか?』を出版した山本一成さんのインタビューシリーズ、最終回です。前回、最新のポナンザでは良さそうな指し手から順番に並べるオーダリングの部分に、ディープラーニングを導入した結果、劇的に精度が上がったという話をうかがいました。もっとすごいのは、ディープラーニングで局面を読み込ませることで、将棋のルールを一切教えずとも将棋が正しく指せるようになったということ。将棋プログラムはこれから、どこまで強くなるのでしょう。そして、ポナンザで将棋の名人を超えた山本さんは、今後何をしようとしているのでしょうか。(聞き手:加藤貞顕)

物事を分解して理解することには、限界がある

— 5月に開催された世界コンピュータ将棋選手権では、CPU1029基にGPU88基を使ったと聞きましたが、そのマシンはぜんぶデータセンターにあるんですよね。そういう大規模なシステムって、かえって大変なことも多いんじゃないんですか?

山本一成(以下、山本) そうなんですよ。たとえば、「これの処理、よろしく」とサーバに指示を投げるじゃないですか。そのサーバはなんと北海道の石狩にあってですね……。

— 遠い(笑)。

山本 特別に1Gbpsの超高速回線を用意してもらって、データが大きいから局面の画像を10%に圧縮して送ったりしていたんですが、局面の数が多いと回線詰まるし、もうほんとに大変でした(笑)。ネットワークプログラミングは初心者なので、ほんとにわけがわからなかった……。

— そうか、山本さん、そんな新しいことにも挑戦してたんですね。すごいな。だってこれまでのポナンザではやらなかったことですよね。

山本 つらかったですよー。昨年10月の電王トーナメントが終わってから、今年の世界コンピュータ将棋選手権まで、ディープラーニングとクラスタ化しかしてませんでした。今回始めてGPUも使ってるので、CPUとGPUの協調をうまくやるのも大変だったし。

— クラスタ化というのは、複数のマシンをまとめて一つのことを並列に処理するということですよね。

山本 そう、クラスタ化もこれまでなかなかうまくいってなかったんですよね。そもそも、将棋プログラムはコンピュータの処理速度が速ければ速いほど勝率が上がるので、戦力があればあるほどよかったのですが、複数のコア(CPUの頭脳部分)で並列に一つの処理をするのが難しい。
 シェフと料理の関係を考えるとわかりやすいんですけど、1人前の料理をつくるのに2人で協力してやったら、1人のときより速く作れそうですよね。でも、それが4人になったら? 16人になったら?と考えていくと、人数、つまりコアが増える分だけ効率的でなくなってしまっていたんです。リソースはあるのに、うまく使えない。今回のコンピュータ将棋選手権で使ったCPUは1029基で、その一つひとつに88コアとかが入ってますからね。

— もうほとんど、スーパーコンピュータですね。その大量のコアを、どうやって効率的に並列化したんですか?

山本 効果的だったのが、ここ3年くらいで発見されたLazy Smpという手法です。『人工知能はどのようにして「名人」を超えたのか?』には「怠惰な並列化」と書いています。これは、シェフの例えで言うと、みんなバラバラに競い合って1人前の料理を作って、一番早くできた料理を採用するみたいなものです。バラバラとはいえ、たまたま発見できた良い情報などは全体で共有するんですけどね。このへんが「レイジー(怠惰な)」と表現される所以なのかと。で、最新のポナンザに導入したeXtreme Lazy Smpはそれをネットワーク環境に拡張し、将棋の局面を探索した結果を複数のマシンで非同期・相互に共有するんです。

— うーん、それ、なんでうまくいくのかよくわからないですね。

山本 そうなんですよ。それがこの手法の、唯一、最大の弱点ですね。直感に反している。

— 本にかかれていた「黒魔術」という表現がぴったりですね。直感に反していてなんか気持ち悪いから採用しない、という開発者もいるんでしょうか。

山本 いると思いますよ。でも、採用したほうが強くなるんですよ。これからは、こういう手法が増えていくと思います。「物事を分解し、細部の構造を理解すると、全体を理解できる」という還元主義の考え方が、通用しない場面が増えていくでしょう。
 そもそもね、人間ってあんまり賢くないんですよ。よく、人間が短期記憶で記憶できるのは7個までとか言われてるじゃないですか。じつは、そもそも7すら覚えられなくて4±1までらしいですけど。そうなると我々は、100変数の処理なんて、到底理解できないんですよ。人間が複雑なことをそのまま理解したいと思うのは、わりと傲慢な考え方だと思っています。

— コンピュータ囲碁の棋譜を見ていても、そう思いますね。あまりに全局的に物事を見ていて、人間にはもう理解できません。人間は、部分ごとに「こういうかたちになったらいいな」という小さな目標を設定して打つけれど、コンピュータは全体で勝つことを考えている。

将棋プログラムを強くするために、いちばん大切なこと

— 少し話を戻すんですが、ディープラーニングによるオーダリングだけでも将棋って指せるんですね。将棋プログラムは手を読み進める「探索」と、局面がいいかどうか判断する「評価」でできているものだと思っていました。

この続きは有料会員登録をすると
読むことができます。
cakes会員の方はここからログイン

1週間無料のお試し購読する

cakesは定額読み放題のコンテンツ配信サイトです。簡単なお手続きで、サイト内のすべての記事を読むことができます。cakesには他にも以下のような記事があります。

人気の連載

おすすめ記事

この連載について

初回を読む
人工知能はどのようにして「名人」を超えるのか?

山本一成

2016年、電王戦で5戦全勝した将棋AIポナンザ。開発者である山本一成さんは「知能とは何か?」「知性とは何か?」ということを何度も自問することになったそうです。そうすることで、逆に人間の知能がクリアに見えてきたと言います。この思考の結...もっと読む

この連載の人気記事

関連記事

関連キーワード

コメント

yaiask 将棋プログラムポナンザ開発者、山本一成さんのインタビュー第3回。eXtreme Lazy Smpとか、アンサンブル効果とか、大事マンブラザーズバンドとか 約2年前 replyretweetfavorite

plastic_candy 「多様性って大事なんですよ」は、「たくさんの人の知恵を集めたelmoが、少数精鋭を集めて作ったポナンザに勝利したのも、納得…」の流れになっちゃうのか…笑 約2年前 replyretweetfavorite

prisonerofroad #将棋 #science #technology 約2年前 replyretweetfavorite