前回の続き。
技巧(2012)が採用していたBishopLerningで詰みのある局面での指し手を教示信号として、終盤の指し手を学習中です。さて、こうして学習させた将棋ソフトは次のうちどうなるでしょうか?
— やねうら王 (@yaneuraou) December 1, 2015
大多数の予想に反して、詰みのある局面から学習させても終盤は全く強くならない。学習させればさせるほど、ひようら王(ひよこ将棋)との勝率は落ちるので、マイナスの何かを学習してしまっている。
そりゃ詰みのある局面からだと、十中八九は飛車も角もぶった切って金並べて詰みなんだから、
金の価値>>>超えられない壁>>>飛車の価値
みたいな学習がなされてしまう。過学習(過剰適合)と言えるだろう。
じゃあ、この手法自体が間違っていて、何も学習されていないのかというと、序盤はそうでもない。
次の局面は、この手法で学習させたひまうら王(後手)と、ひようら王(先手)との戦いの一例である。
後手の陣形はわりとまともで、後手のプレイヤーは明らかに囲いらしき何かを識っている。対して先手の陣形はかなりひどい。ここから、ひようら王同士に指し継がせれば、8割ぐらい後手が勝つ。
ゆえに、序盤の戦い(32手目ぐらいまで)においては、後手(ひまうら王)はわりといい指し手を指せているという結論になる。(実際、32手目までひまうら王に指させたあと、ひようら王に指し継がせる、もしくは評価関数を駒得のみのものに切り替えれば、ひようら王に勝ち越すようである。R2500程度であると思われる。)
よって、「詰みのある局面からBishopLearningで学習させた場合、序盤の指し手が改善される」というのが正解である。大多数の予想に反した結果かも知れないが(上のアンケートからすると5%の人しかこの結果を予想出来ていない)、これが現実であり、結論である。
いくつか書いておかなければならないことがある。
上で「ひようら王に指し継がせる」と書いたが、指し継がせない時はどうなるのか?
もちろん、大差で負け越す。中盤で飛車をぶった切って切れ負けになってしまうというのもあるし、敵玉から離れたところでと金製造を始めて致命傷になるというのもある。悪いと金製造を学習してしまっているようである。序盤の囲いの差ぐらいでは到底取り戻せないほどの悪手が出る。
中盤で読み負けて切れ模様になることもある。それというのも、ひまうら王はKPP/KKPの3駒関係であり、ひようら王は駒得のみの評価関数であるから、npsは後者のほうが60%ぐらい速い。似た評価関数において(両者が同じような局面を探索している状況で)、npsにわずかな差があると、npsのわずかな違いが勝率に大きく影響を及ぼす。ゆえに、後者のほうが先に有利になる変化を発見してしまうというのも、勝率に大きな差が出る原因のようである。
あと、序盤がうまくなったとは言っても、かろうじて囲いを覚えたレベルである。本来、KPP/KKPのポテンシャルはもっと高く、きちんと値をつければ(やねうら王の場合)R3500を超えるわけであるから、いまの状態はそれからするとR1000以上低いわけである。つまり、少しでもプラスのことをすれば大きく棋力は上がるはずの状態であり、何なら私が手でKPに適当な点数をつけて行くだけでR2800ぐらいにはなると思われる。
だから、「BishopLearningにより、人間の棋譜を使わずにR2500になった!」などと言ったところで、「そんだけしかならないの?」という冷たい視線を感じずにはいられない。ゆえに、BishopLearningが本将棋において実用性があるとは私には到底言えない。
R3000付近にまで到達すれば、あとは自己対戦の棋譜から学習を繰り返すなどして本来のKPP/KKPのポテンシャルであるR3500超えまでは昇華していけるわけであるが、R2500程度の棋譜からだと自己対戦棋譜から学習しても強くなるどころか弱くなりかねない。
R2500が概して弱いと言いたいわけではないが、駒得になる手順を見つけるのと即詰みのある局面からだけが強いだけのR2500の棋譜は、(BishopLearningで終盤の指し手が学習できなかったことからもわかるように)自己対戦棋譜としての価値に乏しいわけである。
一応、最後の実験として、ひまうら王のBishopLearningで改善された序盤(32手目ぐらいまで)から、ひようら王に指し継がせた自己対戦棋譜をもとに普通のボナンザメソッドで学習させてみる。強くなるのかどうかは知らん。
だいたい今回の実験にしても大多数の直感に反する結果が出ているわけで、実験もせずにああだこうだ言っても始まらないのである。現実は小説よりも奇なりである。
自己対戦で3000局ぐらいさせるのに1週間ぐらいかかるので結果は10日後ぐらいに発表します。ここのところPCがフル稼働で部屋が暖まって大変良いのだが、電気代のことを考えると枕を高くして寝れない。なお、アマゾンの欲しいものリストからの寄付(?)はいつでも歓迎でございます。
いやあ、おもしろいですなあ。
それに、計算機能付きヒーターも好調のようでなによりであります。
時に、
>実験もせずにああだこうだ言っても始まらないのである。
いえいえ、実験する前には、「ああだこうだ」というものですよ。
そうして、おもむろに実験する。
これが「王道」、やねうら王が進むべき道というものであります。
> いえいえ、実験する前には、「ああだこうだ」というものですよ。
おお、そうか…。
ひまうら王の実験結果は非常に興味深いですね。
ここまで学習が難航するとは当初思っていませんでした。
私がBishop Learning等を理解できていないので的外れかもしれませんが、
将棋自体が、序盤、中盤、終盤、入玉と
それぞれの場面での「ゲーム性」が大きく異なることが原因なのでしょうか。
(各段階での主目的や回避すべき事項、駒の価値など)
もしそうだとすると、場面毎に最適な学習を実施しては繰り返して収束させるようなプロセスを考えたくなってしまいますが、、、。
あれ?これって技巧さん的なやり方?
ひまうら王が「そもそも将棋ソフトの最適な学習方法とは?」という命題のヒントを与えてくれるかもしれませんね。
> 場面毎に最適な学習を実施しては繰り返して収束させるようなプロセスを考えたくなってしまいますが、、、。
進行度sを計算して、sを序盤 = 0,終盤 = 1のように正規化したあと、
評価値 = (1-s) 序盤用の評価値 + s 終盤用の評価値
のように内分をして、評価値を計算する方法があります。他のソフトで進行度がどうのと書いてあるのはそういう意味です。
3駒でこれをやると棋譜が少ないとかえって弱くなるので、3駒でこれをやって成功しているところはPonanzaぐらいだと思いますが…。
面白い実験結果ですね!
詰みが絡む場面だと自玉の固さが問題になることが多く、囲いのようなものを学習するのでしょうか。
そうみたいですね。教師なし学習で序盤の学習(囲いまで)に成功したのは前例がないかも知れませんね。序盤の指し手って終盤のための貯金みたいな指し手が多いので、「序盤の学習は終盤を使ってさせろ」ということなのでしょうか。
終盤から始まる将棋ウォーズが欲しいところだぜ☆wwwww(^▽^)
終盤は、序盤の勉強になるのか☆(^~^)
いいこと聞いたぜ☆wwww
急がば回りすぎって感じなんですかね。
ある程度精度のある教師信号は道を補正するとか。
そういう感じなのかなぁ??
無数の方向性の中から今を検索してるわけですから、やっぱディレクションって大事なんですね。
屋根さんでさえそれをコントロールできないとなると誰ができるのか・・・。
欲しいものリストにあるものがもう少し安かったら思わず買ってあげちゃうかもしれないなー
そのお気持ちだけで十分でございます。(と言いながら千円ぐらいの楽譜を欲しいものリストに追加)