今更GANなるものに手を出そうとしています
こういうのをチョット弄って、Generatorが学習初期局面を生成し、そこからPGLeaf等で自己対局・強化学習する感じで検討中。
Generatorの出力は「本将棋や5五将棋で有り得そうな局面」にすると何の意味もないので*1、Discriminatorに相当する自己対局部分で「形勢判断を間違えた局面」を多く生成する様にしてみようと思います。
具体的には、「生成された局面ではDiscriminatorが優勢(OR 劣勢)と判断したが、対局してみたら負けた(OR 勝った)」場合を「正例」としてはどうかと考えています。
こうすれば、Discriminator(≒評価関数)の穴を効率良く埋められないかなぁ、と。
そう言えばGAN将棋さんもGANを使う予定だったらしいけど、どういう風に使ってたんでしょうねぇ。気になります。
2in1の存在意義がよくわからん
例えばこんなの。
キーボード欲しいならノートPCで良くない? タッチスクリーン搭載モデルもあるし。
キーボード不要ならタブレットで良くない? 軽いし。
なんてーか、凄く中途半端感があって、いまいちどういう層が購入しているのか分からん。
PGLeaf Vier再実装中
まず、学習方策と挙動方策を分けて、学習方策の方は重点サンプリングを用いてOff-Policyで学習する様にした。
挙動方策の報酬は「基本報酬は勝敗に応じて+1/-1/0」「サブ報酬として対局中の予測勝率と実際の勝敗に応じたボーナス」としてみた。
サブ報酬の方は、予測勝率と勝敗の差が大きいほど大きな値を与える様にしたので、逆転勝ち・負けの場合はサブ報酬が大きくなるはず。
んで、例によって三目並べモードで実験してみたら、正しく収束する時は数秒で済むけど、そうでない場合は1分かけてもNG。
困った…
探査自体を強化学習問題として解く論文(多分)
PGLeaf Vierはひとまず白紙撤回
Replay Buffer使うとなんか学習が不安定になるし、私は無理してReplay Buffer使いたい訳ではないので、プラン再考中。
んで、今後どうするかなぁ…
とりあえず「自己対局時のランダム性が不足しているらしい」というのは分かってるんで、そこを何とかしないといけないんですが、単純に温度上げるとそれはそれで悪影響出てくるし…
やっぱ、REINFORCEベースじゃなくて、報酬の予測値を学習する関数近似器を導入するのが手っ取り早い?
PGLeaf Vier開発開始
Experience Replayを使いたかったので、上記のサイトを参考に実装。
現時点での構成は「REINFORCEベースのPGLeaf+Experience Replay+重点サンプリング」ですが、最終的にはもっと色々拡張する予定。
- 作者: 森村哲郎
- 出版社/メーカー: 講談社
- 発売日: 2019/05/23
- メディア: 単行本(ソフトカバー)
- この商品を含むブログを見る
んで、今日買ってきたMLPシリーズの「強化学習」に、関数近似を用いた方策勾配法の初見の手法が載っていたので、次はそれを実装する予定。
現在は三目並べモードでデータ収集中なんで、それが終わってから(多分2時間後)改良しますかね。
…あ、その前に不要なコードとかの整頓しとかないと、スパゲッティコードになっちゃう。