0はゼロベクトルであり、駒割りは有効であるから、駒得のみの評価関数(駒割りしか考慮しない)相当である。その棋力は、以前の計測によると定跡使用でfloodgateにてR2200程度であった。定跡を用いないならもっと弱いだろう。R1800ぐらいと考えておこう。最初、私はelmo絞りで少しでも強くなるのかな?ぐらいの気持ちでやってみた。1でもそこそこ強かった。角道を開けたり、飛車先を突いたりする。こいつ、どうやってそれを覚えたのか...。対局を観戦した限りは、定跡で中飛車に振っても、居飛車が好きらしく居飛車に振り直したりしているようであった。0とやらせてみると1手2秒で200局中199局勝った。差がありすぎる!これでは棋力の計測は不可能である。R500以上棋力が向上しているのだろう。1をApery(WCSC26)とやらせてみたところ、5%ぐらい勝つようである。あのApery(WCSC26)に対して5%でも勝つだけ凄いと思うが、それでもこれでは棋力の正確な計測は出来ない。6と同じぐらい(少し弱いぐらい?)の棋力なのではないかと思う。ここでは評価関数の質だけを問題としているので、探索部は常にやねうら王の最新版(V4.66)を用いている。Apery(WCSC26)の評価関数ファイルの意味である。2とApery(WCSC26)とを対局させてみると、1スレッド1手2秒で25%程度勝つようである。レーティング差で言うとR200程度。R3000程度あるのだろうか。uuununnnさんのサイトによると、Apery(WCSC26)は、いまのところR3277らしい。2にして、Apery(WCSC26)が射程圏内に入ってきた。Bonanza6のプロの棋譜からの学習とは何だったのか...。プロの棋譜なんて最初から要らんかったんや〜。ちなみに上の追試手順では5億局面に対して学習を1周回すことになっているが、2周回すともう1,2%勝つようである。レーティング差R20程度。Apery(WCSC26)とR180の差。まあしかしここで手順をころころ変えると追試しにくくなるので、上に書いてある手順通り1周回したものからまた教師局面を生成することにした。1スレ2秒と1スレ4秒での計測は以下のようになった。Apery(WCSC26)にR80程度負けている。Apery(WCSC)の評価関数との棋力の比較だと、同等ぐらいか、やや前者のほうが優れていると言えるだろう。それでも評価関数同士の比較としてはまだApery(WCSC26)に負けているので実験を続けていこう。1スレ2秒、4秒の戦績は以下の通りで、ほぼ互角と言えるだろう。46.93%わずか4回目にしてApery(WCSC26)のレベルに到達した。NDFの手法であるKPP相対[2014]とか、AWAKEの手法であるKPE次元下げ[2015]とか、一体何だったのか...。この瞬間にすべてが過去の遺物となったと言えるだろう。5以降の実験も継続しているが、いったんこうして記事にしておく。まとめ一言で言うとelmo式の効果が凄すぎた。プロの棋譜を使わない評価関数の栄誉はelmoの作者である瀧澤さんに捧げられるべきである。うら王の教師局面の生成部、学習部も今回きちんと書きなおした。今回の実験が成功した背景にはそのへんの事情も大いに関係している。記事が長文になってきたので、その詳しい解説は機を改めて行なうが、この、「きちんと書く」というのがとてつもなく大変な作業だった。科学的な実験において、理論が間違っているのか実験手法が間違っているのか実験装置に不備があるのか判然としないことが多々ある。生成部、学習部、それぞれがきちんと動作していることが大前提なのであるのだが、この前提条件を満たすのがそもそも簡単なことではなかった。それらのパーツを精巧かつ丁寧に、そしてミスなく作り上げるために多くの協力者のもと非常に多大な時間を費やしたことをここに付しておく。この場をお借りして、やねうら王のプロジェクトに協力してくださっている方々に感謝の意を表したい。elmo式の発案者である瀧澤さんと、やねうら王の学習部に関する一番の功労者であるtanuki-さん(およびtanuki-チームのメンバーの皆様)に厚くお礼申し上げたい。質問等はコメント欄でお願いします実験手法などに関する質問等はこの記事のコメント欄にて受け付けています。ツイッター上での個別の質問にはお答え出来ません。:ありがとうございます。:こんにちは、色々とお世話になっております。以前の駒得だけの評価関数生成では、一部の囲いを強制的に(駒の配置を勝手に弄って)覚えさせていた記憶があります。いったことはしているのでしょうか。する予定はありますか?終盤の学習を行って評価関数を調整することを以前していた記憶があります。今回もする予定はありますか?質問ばかりで申し訳ないのですが、駒の置き換えで雑巾絞りの教師局面を作ったり、ランダムムーブを入れて教師局面を作ったりしているというようなことをsdtの時に言っていたと思います。効果の程はどうなんでしょうか。最後に、評価関数を左右対称に調整することもありますか?左右対称になるように学習させるという意味ではなく、学習してしまった後のものを左右対称に直すという意味です。elmoが振り飛車を低く評価しすぎている(続けて指すと途中で反省する)という話を聞いたので気になっています。一度に多くのことを聞きすぎているような気がしますが、もしお時間ありましたらお答え頂けると幸いです。一部の囲いを強制的に(駒の配置を勝手に弄って)序盤にランダムムーブが入っています。頻度を増やしたほうがいいような気はしています。終盤の学習を行って評価関数を調整することを以前していた記憶があります。今回もする予定はありますか?ないです。32000なので終盤も学習対象になっているのでは。駒の置き換えで雑巾絞りの教師局面を作ったり、ランダムムーブを入れて教師局面を作ったりしているというようなことをsdtの時に言っていたと思います。効果の程はどうなんでしょうか。2駒の入れ替え、コードがバグりやすい&KPPTの汎化能力はそんなにないので実現しそうにない局面を覚えさせるの、仇になるかと思ってそのコードは削除しました。ランダムムーブは入れないと玉自体動かさないので、たぶんまずいですね。最後に、評価関数を左右対称に調整することもありますか?左右対称になるように学習させるという意味ではなく、学習してしまった後のものを左右対称に直すという意味です。KPPのミラーは常に考慮していて同じ値が書き出されるようになっています。https://github.com/yaneurao/YaneuraOu/blob/b6e096cd323ae59d3089996cacb3095271c2abbe/source/learn/learning_tools.h#L330これをしたほうが最終的に良いのかしないほうが良いのかはいまだよくわかりません。最初のうちはこれをしないと5億局面では学習棋譜が足りないです。:丁寧な回答ありがとうございます。やねさんは何時も唐突に結果を公表して下さるので、わくわくしながら待っています。:明日、続きの記事書きますね。:おめでとうございます。本文の書き方から、興奮が伝わって来ます。:ありがとうございます。:アルファ碁なんかもそうらしいのですが、未来を見て打つ場合、木探索で駒の利きが最大になるように打つのが強いらしいです。囲いは進路妨害をしますが短期的に必要なわけではないので長い目で効果を発揮すればOKって感じのようです。5億局面って、重複なしでスタックに詰むとき何バイト位になるんやろ。5億局面って、重複なしでスタックに詰むとき何バイト位になるんやろ。