半年後に将棋の神様が現れるかもしれない話──最強将棋ソフト開発者が語る“ディープラーニング勢の台頭による将棋ソフトの進化”
電竜戦
──今回の電竜戦で上位に入ったソフトだと、たとえば5位のBURNING BRIDGESさんは、定跡を手入力でやってらっしゃるとか……。
杉村:
私もそれ、聞いていました。評価値を見て、1手ずつ入力してると。
──まるで職人技のような……。
杉村:
棋士の先生もそうやっていらっしゃる方はいるんじゃないですかね。『2番目の手で進めて行ったらこうなったから、やっぱり1番目の手がいいんだな』と調べていって、それを手入力で定跡を作っていくという方法は。
──その手法は私もプロの方から聞いたことがあります。
杉村:
BURNING BRIDGESさん、強かったですからね。悪い定跡は入っていなかったみたいですし。だからその方法でも強くなります。大変ではありますが……。
──言い方は悪いんですが、手法としてはコンピューターの扱いに慣れていない人でもやれそうだなと思うんです。いろいろと試行錯誤しても、そうやって作ったものとさほど強さが変わらないというのは……やはり、強くする限界に来ているということなんでしょうか?
杉村:
テラショック定跡を使っても、手入力の定跡よりもレーティングが上がらず、NNUE関数をいじっても、レーティングが50変わるかどうかという状況なんです。
だとしたら、探索部を改良するか、それともディープラーニングに移行するという方法のほうが強くする可能性はある……という話を、これから磯崎さんがしてくれると思います(笑)。
──ではそろそろ電竜戦の話題に……今回お二人が『みずうら王』というソフトを作られて、それはどんなソフトになると予測しておられましたか? また、その予測が電竜戦の結果とどう違ったのかということをお聞かせいただきたいのですが。
磯崎:
私ねぇ、将棋盤を見てると何か気持ち悪くなるんで……。
──ええ!?
磯崎:
将棋自体、あんまり見なくて。開発してる時は、将棋盤を一切見ないんです。開発したものを自己対局させるフレームワークがあって、そいつに投げてやれば、勝率だけが返ってくる。
──ボタン1つで。そして数字だけを見ていると。
磯崎:
これが将棋ソフトの開発なのか、はたまた温室栽培で野菜の収穫量を増やすソフトの開発なのか、わかんなくなるんです(笑)。
──将棋クエストで四段の実力者の言葉とは思えません(笑)。
磯崎:
探索部も、強いやつを大会前に公開しちゃって。自分で自分の首を絞めた面が……(苦笑)。
──じゃあ大会の進行をご覧になっていた杉村さんにうかがいます。初日は、圧勝でしたね。本戦で2位になったGrampus(ぐらんぱす)にも勝っていましたし。
杉村:
あれは定跡の段階で勝っちゃいましたね。
──しかし2日目の本戦では、競争相手に後手を引き続けるという不運が……。
杉村:
クジ運のせいにしてはいけないんですけど……ただ、人間だと先手52%くらいでも、コンピューター同士だと先手55~57%くらい勝率に差があります。それだけでレーティング50くらい損をしていることになりますね。
──あの、脇に逸れちゃって申し訳ないんですが……「将棋は先手必勝なのか、それとも後手必勝なのか?」っていう話題は、たぶん将棋が生まれたときからあると思うんです。
その……後手のほうが強いソフトを作るのって、やっぱり無理なんですか? 将棋のゲーム性として……。
杉村:
後手のほうが強いかはともかく、先手番で強い評価関数と後手番で強い評価関数が異なるということは、ありうると思います。
──おおっ!
杉村:
それ同士を戦わせて、後手番の勝率が先手番の勝率を上回るかは別ですよ? ただ、先手番専用・後手番専用とで評価関数をわけたほうがいいのかもしれないという話は、磯崎さんともしたことがあります。
──そういう構想はおありなんですか? 磯崎さん。
磯崎:
将棋の結論が仮に引き分けだとすると、後手は引き分けに持ち込むしかないんです。ただ……引き分けで、どうなの? みたいな……。
──プロの対局だと、千日手か持将棋になるということですよね。後手番で絶対に千日手にする人がトップだったら……最初は面白くても、すぐに飽きるでしょうねぇ。
磯崎:
引き分けにしたいなら、後手は引き分けになりやすい戦型に誘導したほうが得なわけです。でも普通の実戦だと、仮に将棋が先手必勝でも、先手が間違えたら後手だって勝てるわけです。
それにコンピューター将棋の大会だと、引き分けは0.5勝になっちゃう。そうすると、そこを狙うのは損だなと。
──確かに。
磯崎:
角換わりとかは、定跡レベルで千日手を狙えてしまう。だから先手で角換わりに行く定跡を使うのは、損でしょうね。
杉村:
それは思います。みずうら王の定跡は私が用意したんですが、先手は相掛かりしか指さない。千日手になりにくいからですね。
──すみません。脱線してしまって……では2日目の本戦ですが、みずうら王は4回戦で、初日には勝ったGrampusに負け。そして5回戦で、ディープラーニング系のソフトであるGCTに敗北しました。
杉村:
GCTに負けたのは序盤の精度の差かなと思ったんですが……Grampusに負けたのは、上手く指されたなと。
──相掛かりの、捻り飛車でしたよね?
杉村:
ええ。みずうら王は振り飛車が苦手で、しかも後手番で相掛かりを避けません。そこを上手くミックスして突いてこられた感じがして……ああ、これは嫌な形だなと。
──捻り飛車は、途中で飛車を横に動かしますからね。それが結果的に振り飛車っぽい形になったということでしょうか?
杉村:
そうなのかなぁと。で、実際に逆転されてしまって。向こうも事前にそういう定跡を作っていたわけではなくて、ソフトが勝手に指したみたいなんですけど。
──優勝候補のみずうら王が中盤で2敗し、大会は予想外の大混戦。ものすごく白熱しました! そして迎えた最終局の9回戦で、歴史に残るドラマが起こります。
杉村:
最後のBURNING BRIDGESさんとの対局は、勝てば逆転優勝だったと思うんですが……。
──熱い戦いでしたよね!
杉村:
千日手模様から、負けてしまって……ただ、みずうら王がどれだけ強かったとしても6割くらいしか勝てないわけです。同じ3990Xを使っていますし、そんなに差はないとすると……。
──こういう結果も有り得ると。みずうら王は勝てば優勝という戦いに負け、最終的には4位という成績でした。負けた将棋は全て後手でしたね。
そして……1位には、なんとディープラーニング系のソフトであるGCTが輝くという、驚愕の結果となりました! まさかあのインタビューの直後にもう、ディープラーニングが1位になる時代が訪れるとは……。
杉村:
磯崎さんは探索部を改良してくれたんで、そのぶん強くなったと思います。私のほうは、そこまで強くなっていなかったので……しかもディープラーニング勢が、予想以上に強くなっていたので。
──やはり、強くする限界が来ているということなんでしょうか?
杉村:
評価関数については、そうですね。たぶん、これ以上強くは……ならん。と思っています。
ディープラーニングの時代が到来?
──前回のインタビューでは、これからディープラーニング勢との戦いが白熱していって、どんどん面白くなるだろうということでした。今回、実際に戦ってみて、いかがでしたか?
磯崎:
今回ね? AWSでA100というのが使えるタイミングになってしまいまして。
──AWSは、アマゾンの提供するサービスですね。A100は、GPUを開発しているNVIDIAという企業が今年の5月に発表した、モンスター級のGPU……で、いいんですよね?
磯崎:
以前から使えていたV100というのの3倍くらい速いんです。そのA100を8基買うと2000万円くらいするんですが、それと同じパソコンを……もうそれはパーソナルではない規模ですけど……AWSで使えるようになったと。こっちのCPU(Ryzen Threadripper 3990X)は50万円くらいですからね(苦笑)。
──うわぁ……。
磯崎:
しかもGPUって並列演算に特化してるんで、普通のCPUと比べて1秒間の演算性能が10倍くらいあって。
──物量だけでボコボコにされてしまいますね……。
磯崎:
計算量はこっちの100倍くらいかもしれません。ただ、GCTやdlshogiはそのマシンパワーをフルに使えていたわけではなくて。ちょっと遊び時間があるようでした。チューニングがまだ足りなかったみたいで。
──まだ余力を残していると? どのくらいなんです?
磯崎:
GPUの使用率を見てみたら、30%くらいしか使ってなかったとか。
──漫画みたいですね!? 「これが30%のディープラーニングだ……!」みたいな。
磯崎:
まだ本気を出していない、みたいなね(笑)。
──GPUって凄い勢いで伸びてるってうかがってましたけど、そこまで…………けど、お高いんでしょう?
磯崎:
AWSでA100のインスタンスを借りるのは、そこまで高くなくて。A100×8のインスタンスで1時間3000円くらいなんです。ただ、利用には条件があるんです。申請して、それが通れば使えるというわけです。
──なかなか一般の人では、将棋ソフトの開発に使うのは難しいと?
磯崎:
研究者の方が使われることが多いみたいなので、誰でも使わせてもらえるわけではなさそうです。
──私は電竜戦もリアルタイムで拝見し、解説なども聞いていましたが……ディープラーニング系のソフトは、かなり異次元の将棋を指すというか、異質というか……。
磯崎:
序盤がメチャ強いです。大局観が優れているので。
優勝したGCTって、大会の後で公開されたんです。ただ、私はいいGPUを持っていないんで、とりあえず自分の開発機で動かしてみたんですけど……。
──GPUでなくても動くんですね。
磯崎:
でもCPUでやらせるから(GPUの何十分の一ぐらいの速度しか出なくて)、1秒間に100局面くらいしか読めないんです。GPUの何十分の一しか読んでないはずなのに、私よりも強い。
──将棋クエストで四段の磯崎さんよりも強いとなれば、大部分の人間より強いですね。
磯崎:
別のソフトと対戦させてみても……レーティングでいうと、おそらく2800くらいある。100局面しか読んでないのにそれって……。
──読んでる局面数が少ないのに強いというのは、つまり大局観が優れているということですよね? 従来、それが人間の強みとされてきました。
磯崎:
コンピューターはこれまで1秒間に何百万局面も読んで、ようやく人間と同じくらいになったぞと言ってきたわけです。それなのに100局面で人間と同じレベルなんだったら、GCTの大局観は人間と同じレベルに達しているんだなと。
──A100というのを使うと、もっと読めるんですよね?
磯崎:
GCTは今回の大会では秒間70万局面くらい読めていたとおっし
──1秒で人間がどれだけ読めるかはわかりませんが……ヘタをしたら、人間と同じ大局観を持ち、何万倍も速く読めるという、おそろしいソフトが誕生したのかもしれませんね……。
磯崎:
今回の電竜戦ではGCTは1手10秒かけていたとして、人間換算にしたら、それは何年分……何十年分の局面を読んだの? っていう話になりますね(笑)。
──うぅーん…………いやもう、話が凄すぎて……。杉村さんはGCTの将棋をご覧になって、いかがでしたか?
杉村:
GCTとの対局では、みずうら王は序盤で「自分がいい」と言っていて、GCTも「自分がいい」と言っていて。それで、みずうら王が反省させられて負けたという形でした。
──みずうら王の序盤の認識が誤っていた、ということでしょうか。
杉村:
対局の戦型自体も、コンピュータ将棋でよく指されている相掛かりという居飛車の戦法でした。つまり、序盤の力負けということになると思います。
で、(ディープラーニング勢は)終盤力が若干、CPUを使っているソフト……NNUE勢に比べて弱いとされていて。実際にGCTは他の対局で、終盤で逆転負けしたこともあったんですが……みずうら王との対局では全くそんなこともなく、勝ち切られたという感じです。
磯崎:
終盤は、ゲロゲロ弱いんですよ。dlshogiって五手詰めどころか三手詰めも見逃しますし。
──そこまでなんですか!? 電竜戦を拝見していると、普通に詰まして勝ってたような……?
磯崎:
AobaZeroという、同じディープラーニングで作られているソフトが棋譜を公開しているんです。それを見たら……三手詰めを見逃して頓死してる棋譜とかもあって。
dlshogiの場合、これを改善するために、探索開始局面では、即詰みの有無をチェックしてます。ただ、それだけですとわりと頓死したりするので、末端の局面でもdlshogiは五手詰めの有無をチェックしていますが、その五手詰めを、三手詰めとか一手詰めとかにしていくと、弱くなっていくらしくて。
──聞けば聞くほど不思議なソフトですねぇ……。
神様のレーティング
杉村:
今回の電竜戦では、ディープラーニング勢とNNUE勢は、ほぼ同じくらいの強さだったと思うんです。優勝はディープラーニング勢でしたけど、全勝優勝というわけではなかったですし。
──そうなんですよね。優勝したGCTは7勝1敗2千日手(千日手2回で1敗扱い)で、4位のみずうら王は6勝3敗。dlshogiは4勝5敗で6位でしたし、全体的に互角だったと思います。
杉村:
ただ、ここから半年後にコンピューター将棋選手権が行われるとして……そこまでにどのくらい改良する余地があるのかというと、磯崎さんが最近「こうしたらdlshogi強くなるんじゃないの?」みたいなこと言ってるので……。
──ライバルを強くしちゃってるじゃないですか!
磯崎:
遊び時間のところで話した、30%くらいしか使ってなかったやつ。あれを私が改良すれば100%使えるようになるんです。
──その時点で3倍!
磯崎:
それだけでレーティング300くらい強くなります。他にも私、改良点を見つけていまして。
──トータルでは、どのくらい強くなるんです……?
磯崎:
500くらいは上がるんじゃないかと。
──ごひゃ…………ちなみに、NNUEだとどうなんですか?
磯崎:
探索部分を1年間かけて100くらい。評価関数は50上がるかどうか……みたいな勝負をこっちはしてる。なのに向こうは簡単に500とか上がる余地があるので、半年後には勝負にならないなと。
杉村:
電王戦当時の、佐藤天彦名人とPonanzaのレーティングの差がおそらく500くらいじゃないですか。そのくらいの差を、半年で付けられてしまう。
磯崎:
はっはっは!
──それは、もう…………勝負にならないレベルですね……。しかしそこまで差が付くとなると、開発の軸足もそちらに移すという可能性もあるんでしょうか?
磯崎:
やねうら王は既にdlshogi互換のエンジンをほぼ実装しまして。
──おお~!(インタビュー後に『ふかうら王』として公開されました! 名前!!)
磯崎:
探索部は、dlshogiよりは、やねうら王のほうを使ったほうが強いよ、というところまで持っていきたいです。今後はこのような互換エンジンがたくさん生まれていくような状況になったと思います。
──すみません、あの…………ディープラーニングしてる部分って、評価関数……なん、です、よね?
磯崎:
ああ、そこの説明が必要ですね。
──すみません。勉強してきたつもりでも、お話をうかがっていると自分の理解の足りなさがどんどん浮き彫りに……。
磯崎:
ディープラーニングって、探索部分も従来のものとは違っていて……また図を書きましょうか。
磯崎:
探索と、評価関数がありまして。やねうら王の探索部分は、チェスのものを参考にしているんです。評価関数はNNUEですね。
ディープラーニング系のほうは、評価関数はResNet(れす・ねっと)という……これ、ググれば出てくるんですが、画像分類というもので使われています。犬と猫を見分けますよ、というやつです。
──ディープラーニングといえば、画像認識ですよね。
磯崎:
で、探索部分はモンテカルロ・ツリーサーチという……。
──あっ! 囲碁のやつですか?
磯崎:
そう、同じです。MCTSと略すんですが、やねうら王で動かそうとした場合、これを作らないといけませんし、ResNetも動くようにしないといけませんし……じゃあやねうら王の何が残ってんねん? って話なんですが……。
──何が残っているんでしょう?
磯崎:
実際は、この2つの他にも、指し手を生成するものとか、いろんな定跡をファイルから読み込んで現在の局面に選択するものとか……探索と評価する部分の他にも割とたくさんコードが必要でして。
──そういう部分が、やねうら王は洗練されているということでしょうか?
磯崎:
そうです。だから互換エンジンを作る時にも使えて、短い時間で完成しました。
──そのエンジンを使って、定跡を作ったり、学習させていったりする手法を使えば、今までのような方法でディープラーニングのソフトも強くしていくことができるんですか?
磯崎:
はい。定跡については、今までのノウハウが使えます。学習のやりかたは、ちょっと違うんですけど……ノウハウは似通っている部分がありますから。
ディープラーニングで将棋ソフトを作っていたのは、dlshogiの山岡さんと、AobaZeroのチームと、2つしか大きなチームはなかったんです。山岡さんも一人だと手が回らない部分があったんですが、やねうら王はたくさんの人が参加して、もうサンドバッグのようにタコ殴りにされて……。
──いろんな人が手を出して、改良していったというわけですね(笑)。
磯崎:
ある程度、技術が枯れてて。もう雑巾絞れないくらいカチカチになってるんですね。でもdlshogiにはまだまだ伸び代があるんです。改良したら強くなりそうな部分も見えているので……。
──では今後は、やねうら王を改造していた人たちが、ドドドドッとdlshogiに雪崩れ込んで行く可能性が高いと?
磯崎:
これはすごいことになるぞ……という感じではありますね。
──水匠は、評価関数を改良していたんですよね? この図でいうとNNUEという部分を。
杉村:
この図でいうと、やねうら王の評価の部分ですが……その部分の中の更に小さい部分として『教師局面を作成して学習させる』という部分があるんです。
──はい。
杉村:
その教師局面をどうやって作って、それを何か加工したほうがいいのか、加工したほうがいいのならば、どう加工したらいいのか? っていう部分。そこが一番、検証できていた部分なんです。それはおそらく、ディープラーニングでも活きると思います。
dlshogiの評価関数も、教師局面があって、それを学習した結果、強いのが生まれるということなので。ノウハウは、ある程度活きると思っています。だから私も、やねうら王のNNUEのまま開発を進めるわけではない可能性もあります。
──ResNet水匠みたいな感じの?
杉村:
水匠という名前のままかはわかんないですけど(笑)。学習の対象は、変わる……かも、しらんと。
──NNUEでは、サイズを大きくしないように、学習させる棋譜を絞って強くしていきました。しかしその制約が外れるとなると、試したいアイデアなどはたくさんある……という感じなんですか?
杉村:
そうですね。ただ、学習に適した局面だけを学習させていったほうが強くなる、という部分はおそらく変わらないのではないかと。
その学習に適した局面というのを、どうやって作っていけばいいのか。その部分で工夫していきたいですね。
──今後、開発するうえでお金がすごくかかるようになる……みたいなことって、あるんでしょうか?
磯崎:
それがまだわかんなくて……GPUって1年で2倍くらいの性能になることって、よくあるんです。製品のサイクルとして、同じパフォーマンスのものが1年後には半額になっていたりすることが、まだまだあるんですね。
──活気がある業界ですもんねぇ。NVIDIAも株価がガンガン上がってて。
磯崎:
今すぐめちゃ強いのを作ろうとしたら、すごくお金がかかるかもしれません。けど、来年とか再来年とかなら、今の値段の半額とか四分の一とかで開発に参加できるようになっているかもしれませんしね。
──半年後に、世界コンピュータ将棋選手権が行われるとして……その頃には、どんな戦いが行われるようになっているんでしょう?
磯崎:
500とかレーティングで上がるわけですからね。今のレーティングが4500くらいだとしたら、5000を超えることになるんですよ。
──ご、ごせん……。水匠が4500で、藤井二冠3300くらいだったでしょうか……。
磯崎:
5000てね? コンピューターがまだ人間のプロと同じくらいの強さだったときに、神様のレーティングだったんです。
──神様?
磯崎:
将棋の神様がいたとして、レーティングなんぼくらいや? っていう時に、5000くらいちゃうかと。一説には、そう言われていたときもあったんです。
ところが、いざ5000のソフトができるとなると……まだまだ上、なんぼでもあるで? みたいな感じではあります。
──あっさり5000は超えて、しかもディープラーニングのソフトはさらに強くなっていく可能性を秘めている……ということなんですね……。
杉村さんは、ソフトを使って人間の将棋もご覧になっているんですよね? そんな神様みたいなソフトが実用化されたら、人間の将棋はどう変わっていくと思われますか?
杉村:
あー……どうなんでしょう? 私にはぜんぜんわからないんですが……今のところ、ディープラーニング勢の指し手が従来のものと全く違うということはないので……。
しかし、序盤は、すごく強いはずです。だからディープラーニング系のソフトを使って序盤研究をするほうが捗るのは間違いないと思います。ただ、動かすためのパーツを集めたり、ソフトを導入する部分で挫折するプロ棋士の方も出てくるかもしれません。
──AWSを契約したりする必要も出てくるかもしれませんよね。そのあたりのことをうかがってみたくて、次は囲碁のプロ棋士の方にもインタビューしてみようと思っているんです。
磯崎:
囲碁は手が広いので、AIから学ぶことがすごく多かったですよね。従来とは打ち方がかなり変わったみたいなんですが……将棋はコンピューターが強くなっても、オープニングで角道を開けるのは変わらなかったですしねぇ。
──なるほど確かに。Ponanzaは初手に金を上がってましたけど、あれは最善を追求したわけではなかったですしね。
磯崎:
将棋のオープニングについては、もともと人類だけで完成されていたんじゃないですかね? 囲碁と比べると、ディープラーニングのソフトが強くなっても、人間にはインパクトが無いんじゃないですか?
感覚をブチ壊すまでには至っていないですよね? 強い人が指してるな、という程度で。
──なるほどなるほど……杉村さんも同じ感想をお持ちですか?
杉村:
少なくとも、一般の方が見るぶんにはあまり変わらないと思います。もしかしたらプロの先生から見ると、違いが出てくるのかも…………たとえば、矢倉の6六歩が消えたとか。
──ありましたね。2五歩を決めるようになったとか。
杉村:
相掛かりでも、飛車先の歩を交換しなくなったとか。そういった部分で何かしらの違いを発見できるようになる……かも、しれません。
これからディープラーニング系がどんどん強くなっていったら、逆に6六歩が復活したり、また飛車先の歩を交換するようになるかもしれませんし、「振り飛車いいじゃん!」となるかもしれない。
今までと、まったく違う戦法が生まれるということはなくても、指し方としてこっちの方がいい……みたいな形で影響があるかもしれないですね。
──飛車を振ったら評価値がいきなり200下がる、という部分をもう少し詳しく見ていくことができるかもしれない……?
杉村:
かもしれないですけど……今のdlshogiも、振り飛車の評価はよくないですけどね(笑)。
──はっはっは! 将棋の神様はやっぱり居飛車が好きなんですかね? 今日はありがとうございました!
将棋界では、棋士に対する定番の質問があります。
『もし将棋の神様がいたら……?』
この続きは『何をお願いしたいですか?』『何を聞きたいですか?』『何枚落ちなら勝てますか?』と様々ですが、棋士ならば神様絡みの質問を一度はされたことがあるでしょう。
羽生善治九段は(かなり昔ではありますが)『神様と将棋を指して勝てますか?』という質問に対して「神様が角落ちなら勝てる気がする」と答えました。
渡辺明名人は『神様に何を聞きたいですか?』という質問に「まず前提として、僕は将棋の神様は存在しないと思っています」「それよりまず先に、神様あなたどのくらい強いのよと言いたい。まずそこからですよ」とドライに切り返します。
藤井聡太二冠は『神様に何をお願いしたいですか?』という質問にこう答えて、話題になりました。
「せっかく神様がいるなら、一局お手合わせ願いたい」
昨年は中止となった世界コンピュータ将棋選手権が、2021年はネット上で開催される予定です。
5月3日から5日までの3日間。今からおよそ半年後です。
おそらくその大会は、ディープラーニングを使った将棋ソフトが上位を席巻することになるでしょう。
果たして、将棋の神様は現れるのでしょうか?
そして、将棋の神様が本当に現れたとき……積み重ねられた『もし将棋の神様がいたら?』という疑問に、答えは得られるのでしょうか?
―あわせて読みたい―
・人間にうまく負けるためのゲームAIはいかに開発されているのか。将棋、囲碁、麻雀などの定番系ゲームを手掛ける開発会社に聞いてみた