行きつ戻りつ、でも元には戻れなかったっポイ
前回の日記からしばらく間が空きましたが、ぼちぼち進んでます。
まず、5五将棋・本将棋でもDNNを使ったActor-Criticが動く様に修正。ただ、5五将棋でもCriticの処理*1に1局あたり200ミリ秒とかかかってて実用的ではありませんでした。
んで、次にやったのがCaffeのミニバッチを活用するやり方。これで、1局あたり10ミリ秒前後に高速化し、何とかなりそうな雰囲気でした。このタイミングで、Experience Replayも実装しました。
…が、実際動かしてみると全然強くなりません (´・ω・`)
超適当なExperience Replayなのでこれが悪さをしているかと思い、今度はExperience Replayを外してみました。A3Cの論文とか読んでると、Experience Replay無くても何とかなるみたいでしたし。
……したら、三目並べでも収束しなくなりました (´・ω・`)
しかも、意味不明な事に後手は収束し、先手のみ収束しないという謎現象が。
ちょいと補足しますと、三目並べの自己対局強化学習では、先手の方が圧倒的に難易度低いです。
盤面の回転・対称を考慮すると実質3種類しか無い初手からの手順のうち、どれか1通りの学習が成功すれば、先手番ではそれで完全読みプレイヤー相手に互角に戦えます。
ただ、後手に関しては、例えば「先手が中央に打つ手しか指さなくなった」って状況になると、他の場所(隅とか辺とか)に打たれた時にきちんと対応出来ない*2ので、完全読みプレイヤー相手に負けたりします。
という訳で、何故先手のみ学習に失敗するかですが……バグでしょうねぇ (´・ω・`)