──プロ棋士がお互いの手を殺し合って、なかなか戦いが始まらない……みたいな感じになるんですね。
磯崎:
だから、短い時間で戦わせた勝率の通りにはならないんです。振り飛車の評価値が悪いのは、短い時間で戦わせて教師を作るから、一手の価値が高くて、そういう評価が出てしまうだけで……長い時間で戦わせれば、あそこまで悪くならないのではと。そんなことを漠然と思ってます。
──非常にわかりやすいご説明でした。そういうことだったんですね……。
評価関数とは何なのか?
──そもそもNNUE関数というのは、どういうものなんでしょう? あの、コンピューターにそんなに詳しくない人にもわかりやすいように教えていただけると……。
磯崎:
うーん……わかる人に簡単に伝えようとすれば、三層のニューラルネットです。
──アニメとかSF小説とかで聞きますね。ニューラルネット。人間の脳を模しているとか……。
磯崎:
ニューラルネットって、最近はディープラーニング【※】で何かと登場しますので、聞いたこともあると思うんですが……ディープっていうくらいだから、普通はもっと深いんですね。層が。
※機械学習の手法。
──層がたくさんあるからディープなわけですね。
磯崎:
三層ってぜんぜんディープやないじゃないですか。
──あ、やっぱ三層だと浅いんですね。
磯崎:
三層だから、そんなに表現力もなくて。それでも従来の評価関数よりは強かったと。そういう感じです。
──浅いのに強かったのは、どうしてなんですか?
磯崎:
ニューラルネットって、コンピューターにとって計算しやすいんですね。1回の命令で32個の掛け算とかをできたりするんです。ストリーム演算といいまして、1命令で何個も同時に計算できる。従来の、1つの命令で1つ足し算して……みたいなのより速い。
──32倍のスピードでできちゃうわけですか。
磯崎:
計算の効率がいいので、そこのスピードで得してる部分もあるかなと。