Bonanzaの一部学習 [将棋]
いろいろ修正しながらBlogのエントリを書いていると、タイムアウトで消えるのだが、見事に消えたので、部分的にだけ。
大して手間を掛けずに、ちょっとだけなんとかならんかというのが趣旨。
・FloodgateのR3000超(と思われる)の棋譜を抜き出す
akiさんのBlunder.Converterを改造して作成。
当初、強そうなプレイヤーだけ全部集めてrecords.csaを作ろうと思ったが、めんどくさくなってgpsfish_Xeonにマッチした棋譜だけ抜き出した。
また、学習では複数の棋譜を1つにまとめたrecords.csaが必要なのでそれを作れるようにもした。
大体1万局ぐらいがヒット。
両方強いプレイヤーのほうがいいんじゃね?という意見には、floodagateがレーティング調整してくれているから、自分はやらなくてよいという考え。あと機械学習には枯れ木も山の賑わいという面がある(はず)
・それを学習に使用するが、本来の学習の棋譜(4万8千)に比べて5分1程度なので、未知局面が多いと思われるので、元々ついていた値は正しいだろうという前提で学習させる
・2,3日学習させた
akiさんのFVAnalyerによると、非ゼロ率が16%=>36%ぐらいになったので、ある程度効果があったように思われる。
また、絶対最大値が360に対して1回1点程度の変動しかないので、指し手に影響がでるぐらい学習するとなると、300回ぐらい回す必要があり、1回3時間なので、40日ぐらい必要となる。(ので途中でやめた)
・オリジナルBonanzaとの対局
中盤の評価値が思ったより差が出ている。
一応56-1-43ではあったが、上記のように指し手に影響が出ているわけではないと思うので、ただの誤差だろう。
ただ、中盤の点数がついてるような感じなので、boNanohaと組み合わせるとより効果が出てるかもしれない。
大して手間を掛けずに、ちょっとだけなんとかならんかというのが趣旨。
・FloodgateのR3000超(と思われる)の棋譜を抜き出す
akiさんのBlunder.Converterを改造して作成。
当初、強そうなプレイヤーだけ全部集めてrecords.csaを作ろうと思ったが、めんどくさくなってgpsfish_Xeonにマッチした棋譜だけ抜き出した。
また、学習では複数の棋譜を1つにまとめたrecords.csaが必要なのでそれを作れるようにもした。
大体1万局ぐらいがヒット。
両方強いプレイヤーのほうがいいんじゃね?という意見には、floodagateがレーティング調整してくれているから、自分はやらなくてよいという考え。あと機械学習には枯れ木も山の賑わいという面がある(はず)
・それを学習に使用するが、本来の学習の棋譜(4万8千)に比べて5分1程度なので、未知局面が多いと思われるので、元々ついていた値は正しいだろうという前提で学習させる
・2,3日学習させた
akiさんのFVAnalyerによると、非ゼロ率が16%=>36%ぐらいになったので、ある程度効果があったように思われる。
また、絶対最大値が360に対して1回1点程度の変動しかないので、指し手に影響がでるぐらい学習するとなると、300回ぐらい回す必要があり、1回3時間なので、40日ぐらい必要となる。(ので途中でやめた)
・オリジナルBonanzaとの対局
中盤の評価値が思ったより差が出ている。
一応56-1-43ではあったが、上記のように指し手に影響が出ているわけではないと思うので、ただの誤差だろう。
ただ、中盤の点数がついてるような感じなので、boNanohaと組み合わせるとより効果が出てるかもしれない。
Bonanza6.0のオリジナルのFV.binから追加で学習させたということで合ってますでしょうか?
単純に追加で学習させるだけで強くなりそうであれば興味深いですね。
by eapelade (2015-01-25 19:00)
そうです。せめて一週間ぐらいの学習でなんとかならんかというのが基本思想です。rparamの減衰方法を変えればなんとかなるのではないかというのが、消えたBlogにいろいろ書いた内容なんですが、消えてしまったので・・・
by woody (2015-01-25 19:24)
learnのstepsとiterationsの値はどのくらいで学習されてますか?
by 通りすがり (2015-01-25 20:50)
>rparamの減衰方法
そこが今回の記事の一番重要なところですか~、掲載いただけるとうれしいですね
by espelade (2015-01-25 21:10)
LS3600ブログと同じで
learn [no]ini 32 -1 -1 4 4
です。CPUが4コアなので。
rparamのやつは、単に原点を0じゃなくてfv.binのものが原点になるようにしただけです。NDFのように相対の後の絶対だと二畳誤差をやらないといけないと思うのですが、使ってる寄付の性質が違うからか、多少は点がついてくれたようでした。
by woody (2015-01-25 23:00)