KPPでは左右の対称性を考慮すると弱くなる!?

KPPというのは玉と玉以外の2駒(合計3駒)の位置関係のことを言います。
将棋の初期局面は角と飛車がいるために左右非対称となっています。

このため、序盤では角側の桂はなるべく跳ねないほうがいいだとか、そういう暗黙のルール(?)があるわけですが、これを評価関数のパラメーターの調整として棋譜から学習させるときに左右対称性を考慮しているとうまく学習できないのではという議論があります。

※ 左右対称性を考慮するというのは、88玉-89桂-78金のKPPの値と、28玉-29桂-38金のKPPの値を同一視するという意味です。

棚瀬さんが言うように、「桂馬の位置だけの評価関数」のようなものを想定してみるとこのことは自明です。

左右対称性を考慮しないほうがprediction(棋譜との指し手一致率)が上がるわけですから、その結果、棋力が向上することは十分ありえます。

ただし、それは序盤の話であって、終盤ではそういう序盤に対する間違った学習(過学習)はノイズとなりうるのでその棋力に作用しそうなものですが、「続 将棋とチェスの違い」にも書いた通り、終盤は読み(探索)によるところが大きく、そういうノイズがあってもその効果は微小で棋力上はほとんど影響がないことが多いのだと思います。

このようにしてコンピューター将棋の開発者は

  • 左右非対称にして学習させたほうが棋力が向上するならやってみたいかも。(実戦派)
  • 左右対称にして学習を頑張りたい。(理論派)

に分かれています。

ちなみにやねうら王のほうは、後者として頑張ってますが、KPPの表現力自体が不足しているのが根本的な問題なのでもう少し表現力のある評価関数の形に変えたいという思いはあります。


コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です