開発日記
sspとスパーリングすると、大抵終盤で頓死します。どうも、三駒関係+αの重みが小さ過ぎる様です。 という訳で、駒割以外をもうちょっと重視する様に設定変更して再度学習中。
負け無しの53連勝出来ました。 という訳で、現在sspとスパーリング中。
1ヶ月以上放置していましたが、生きてます。一応。 んで、コンピュータ将棋の方ですが、勾配計算ルーチンをリファクタリングして、5五将棋モードで対ssp(ハンディキャップマッチ)で勝率69.3%になりました。リファクタリング前とほぼ同等ですので、まぁ妥…
638勝332敗で勝率65.8%。 これは、デグってた訳では無く、単に最初の勝率(69.6%)がラッキーパンチだったって可能性もありますね。 ま、とりあえずこの問題は解決済みとして、次行きましょう、次。
対局用ルーチンを色々弄っていたら、いつの間にか対sspの勝率が5ポイントほど減少。 原因がサッパリなんで、とりあえず過去最高の勝率を出した時のソースにロールバックして連続対局中。 これで勝率が元に戻ったら、学習ルーチンとログ出力クラスだけロール…
PGLeafの改良版にDropoutを実装してみたんですが、NPSが約半減。これは痛い。 おまけに、Dropout有効だと収束までの学習回数が倍増するらしいんで、ちょっとどうしたもんかと考慮中。 先日の小規模改良の後も色々やってて、その結果がまだなんで、Dropout有…
まず、RMSPropよりMomentumSGDの方が、駒割とかの収束が速いらしい事が分かったので、そっちに変更。 それから、今までは勾配計算ルーチンに「λ収益と選択した手の評価値の自乗誤差最小化」の項があったんですが、λ収益も評価値も「勝率の近似*1」と見なせる…
400万局まで粘ってみるつもりでしたが、心が折れそうなんで何か改良してリトライしてみます。 パラメータの推移を見る限りでは、現行バージョンの方が素性は良さそうなんで、期待してるんですけどねぇ。
「AlphaGo Zeroの真似をしようとしたらいつの間にやらほぼ別物になっていた学習ルーチン*1」で、2日かけて100万局の自己対局が終わったんで、途中経過をペタリ。 5五将棋モードで、対sspのハンディキャップマッチ(GA将0.17秒、ssp1秒)です。 ほぼ線形に勝…
KL情報量が増大していく件、いつの間にか再現しなくなってた。 おかしいなぁ、ログ出力を少し追加して、ちょっとした実験しただけなのに… まぁでも、とりあえずちゃんと動く様になったらしいんで、学習を継続しますか。 現時点で、24時間あたり80万局ペース…
試しに1棋譜とか12棋譜とかを自己対局で生成して、その棋譜に含まれる局面だけを対象に探索→パラメータ修正→探索…とループさせてみたら、綺麗にKL情報量が減少していきました。 という事は、通常の自己対局で学習させた場合にKL情報量が増大する現象は、「出…
交差エントロピーがどんどん増大する現象がSGD・RMSProp共に発生したので、損失項を交差エントロピー+L2正則化にして学習させてみました。 自乗誤差が左の軸、交差エントロピーは右の軸です。 困った事に、この条件でも増大傾向です。 三目並べではこの現象…
結局交差エントロピーも実装しちゃいました。 アサーションに引っ掛からない程度にはなったんで、取り敢えず学習用マシンで学習開始。詳細なテストは明日やります、明日。 それから、何時からかは不明ですが、静止探索のPVノードでも交換値ベースの枝刈りが…
自乗誤差やら交差エントロピーやらの勾配計算で、モード切替の変数に応じて処理をちょっとずつ分岐させていたんですが、流石にメンテナンス性が悪くなってきたんでリファクタリングなう。 結局、損失関数は下記の構成に決め打ちする事にしました。 PGLeaf → …
http://d.hatena.ne.jp/Gasyou/20180111/1515663768 で書いた現象ですが、まず交差エントロピー最小化のみにしたら発生しませんでした。 んで、細々と修正&設定変更してから、損失項全部有り*1で再度学習。 したら、今度は交差エントロピーがちょっとずつで…
†白美神†さんのPR文書を読みつつ、elmoさんの様に交差エントロピーを正則化項として使用するのにチャレンジしています。 …が、何か上手く動かない。 理屈の上では、KL情報量が0に近付く筈*1で、実際に三目並べではそういう挙動をしていますが、5五将棋では一…
http://d.hatena.ne.jp/Gasyou/20171222/1513929159 と同様の学習設定で、王将の移動可能範囲評価を有効にしたもの。対局数は420万局。 結果、683勝299敗で勝率69.6%。僅かですが、着実に成長しています。 んで、自乗誤差の勾配計算ルーチンにバグが有った…
三目並べで、温度固定・探索深さをランダムに決定って条件で学習させた結果。 初手の価値の推移。 初手の勾配。横軸は角で、二つの系列が辺と中央。 一枚目は「まぁこんなもんかな」って印象だけど、二枚目ではっきり相関関係が見て取れるんで、「何かおかし…
王将の移動可能範囲の勾配を自乗誤差・交差エントロピー・PGLeafの各項ごとに100区間移動平均でプロットしてみましたが、交差エントロピーのグラフがどうにもおかしい。 自乗誤差のグラフはまぁ正常に見えるんで、評価関数のバグって線は薄いはず。 となると…
まず、王将の移動可能範囲のパラメータの推移が何かおかしかったんで、一旦この評価項目は無効にしてみました。 学習ルーチンは、損失関数は前に書いた設定のままで、勾配ノイズ*1を実装したもの。 んで、結果。667勝304敗で勝率68.7%。勾配ノイズ無しだと5…
損失関数を「λ収益*1との自乗誤差+交差エントロピー+PGLeaf+L2正則化」に修正し、132万局自己対局したパラメータ。あ、以前書き忘れていましたが、一時期からL2正則化無効にして元に戻すの忘れてたんで、今回の結果からL2正則化有効に戻ってます。 思考時…
http://d.hatena.ne.jp/Gasyou/20171209/1512803023 で書いた現象の続報。 まず、交差エントロピーの微分の式を単純に微分したものから、ひまわりの山本一将さんに教えて貰った式に変更。式自体はかなりシンプルですし、これでバグってたら私にはどーしよー…
三目並べ・5五将棋で各種オプティマイザを使ってパラメータの推移を見てみました。 三目並べモード、SGD。 三目並べモード、RMSProp。 三目並べモード、AdaDelta。 5五将棋モード、AdaDelta。 つまり、ゲームの種類(And 探索ルーチン・評価関数)やオプティ…
損失関数を「報酬との自乗誤差+交差エントロピー+PGLeaf」にしたもので、自己対局数は135万。 結果、606勝357敗で勝率62.9%、過去最高を更新。微妙な向上幅ではありますが。
損失関数をλ収益との自乗誤差のみから、自乗誤差+交差エントロピーにしたもの*1に変更して120万局学習させたパラメータ。 結果は609勝371敗で勝率62.1%。思考時間はGA将0.17秒、ssp1秒のハンディキャップマッチです。 …ただ、このバージョンのパラメータ、…
一昨日と同じパラメータで、GA将の思考時間を通常の0.1倍にした結果、490勝469敗で勝率51.1%。95%信頼区間は47.9〜54.3。 という訳で、当面はこの設定で勝率上げるのを目標にしていきます。
交差エントロピーのみで学習が収束しない件、今更ながら自乗誤差と交差エントロピーのログ出力を追加してみました。 んで、三目並べで学習させてログを見てみると…全然最大化出来ていない (´・ω・`) バグだな。バグだろうなぁ。 でも、試しに神様を教師にし…
先日書いたパラメータで、828勝152敗、勝率84.5%。PGLeaf改を上回ってくれました。 んで、上記パラメータは自己対局91万局なんですが、192万局まで進んだパラメータがあるんで、現在そっちで連続対局中。 まだ対局数が少ないんで何とも言えませんが、指し手…
AlphaGo Zeroの真似っ子中なんですが、交差エントロピーの項が怪しいのでそこを外して学習中。構成はタイトルの通り。 んで、5五将棋モードで駒割の値が収束してしばらく経ったんで、sspと連続対局中。 現時点で24勝0敗、95%信頼区間は85.8〜100.0。 なんか…
どうも交差エントロピーの勾配を計算する部分が怪しい。試しに三目並べで交差エントロピーのみで学習させると、上手く収束しない。 という訳で、現在大絶賛テスト&デバッグ中です。