まるで錬金術師の様に
今は、macOS版MRWorkerの開発フェーズで、Windows版からコードを移植中だ。同時に、MasterReversi本体の評価精度の向上を目指す改良も行っていて、こちらの方が困難なので、ほぼ、こればかりしている状況だ。
昨日書いた様に、評価データに埋め込んでいる探索枝刈り用のデータ生成処理にバグがある事が判明し、それを修正したので、評価データの生成作業は、従来とは少し違った感じになった。
具体的には、使用する教師データや処理ルーチンを変えたとしても、かなり、再現性が高くなったので、ある意味、安心して新しい評価データを生成できる様になった。
もっとも、上記のバグを修正した事から、生成される評価データは、従来とは少し違うデータになったので、改めて、色々なデータを作り直したりしつつ、感触を確かめているので、作業に時間がかかっている。
ただ、評価データの生成は、闇雲にやっているのではなく、それなりの理論を構築しつつ、教師データを作成したり、データの生成作業のやり方を編み出したりしている。
例えば、教師データには、Book生成用の対局データが望ましいのか、序盤をランダム着手させて対局結果に開きがある様な対局が望ましいのか、みたいな事を鑑みながら作成している。
その結果として、現状では、教師データとしては、170万対局くらいの序盤ランダム対局をメインに据え、60万対局くらいのBook生成用対局を追加している格好にしている。
ただ、それだけだと、まだまだ、盤面パターンの組み合わせが足りない感じなので、評価関数で着手させていると、20手目くらいから30手目くらいの中盤で、ドローラインからの逸脱が発生する。
着手はレベル5、つまり、24手読みで行わせているので、20手目くらいだと、44手目、つまり、16残くらいの局面の評価値が使われ、30手目くらいだと、6残くらいの局面の評価値が使われる事になる。
上記は、終盤24手を完全読みにした序盤ランダム対局の場合、完全読みの進行で作成された評価データを使っている格好なので、理屈の上では、信頼できる筈なのだが、実際には、この評価値が使われる様な着手選択で、誤った選択が行われてしまう。
その理由としては、16残だとか6残というのは、逆に言うと、48石だとか58石が存在している状況なので、局所パターンの組み合わせ数が中盤よりも多い格好になっているので、それらの組み合わせが学習では網羅できていないから、とも考えられる。
なので、より多くの教師データがないと、それらの組み合わせに対する正しい評価値が提供できない! とも考えられるので、終盤用の教師データはもっと必要! という事で、今回は、FFOテストの処理時間を短縮する目的とは別に、中盤評価をより安定させる為にも、FFOテスト中の局面から完全読みで終局まで辿った棋譜を教師データに加えている。
その結果として、そんな棋譜を追加しないよりは、追加した方が、より安定した感じだし、少なくとも、FFOテストの処理時間は確実に短縮できている感じだ。
もっとも、現行版に入れている対局サイトからダウンロードした棋譜は、着手進行が信頼できない! と、考えて、教師データから外した。
なので、FFOテスト用の棋譜を追加しても、教師データの総数は280万対局くらいになっているので、まだまだ、Ver1.5.7用の380万対局よりは100万対局くらい少ない。
更に言えば、Ver1.5.1用の教師データは500万対局くらい使っていたので、現状では、その半分くらいしかない格好なので、もう少し増やしたいかなあ、という気もしないでもない。
しかしまあ、信頼できないデータを使うよりは、使わない方が安定する感じだし、既に、新しい評価データ作成のために、結構な時間をかけてしまったので、今回は、新しい教師データは作成せず、手持ちの教師データを色々と組み合わせたりしながら、良さげな評価データを作成する事にする。
今日の時点で、FFO60-79については、Ver1.5.1と同等程度の速度を出せる様になっているので、それをベースに、もう1,2日微修正して、完成版とする事にする筈だ。