GA将?開発日記~王理のその先へ~

ネタ勢最強を目指して絶賛開発中。

勾配計算部分をリファクタリング中

 自乗誤差やら交差エントロピーやらの勾配計算で、モード切替の変数に応じて処理をちょっとずつ分岐させていたんですが、流石にメンテナンス性が悪くなってきたんでリファクタリングなう。

 結局、損失関数は下記の構成に決め打ちする事にしました。

  1. PGLeaf → 報酬最大化
  2. TDLeaf(λ) → 評価値の時間差分最小化
  3. 全合法手の予測勝率の交差エントロピー → 浅い探索の結果を深い探索の結果に近付ける
  4. L2正則化 → オーバーフィッティング対策

 んで、現在3.以外は再実装完了。とりあえず三目並べでは動いています。

 残るは交差エントロピーなんですが、今日中に終わるかどうか不安なんで、着手しようかどうしようか検討中。とりあえず入浴しながら考えます。

リファクタリング完!了!!

 結局交差エントロピーも実装しちゃいました。

 アサーションに引っ掛からない程度にはなったんで、取り敢えず学習用マシンで学習開始。詳細なテストは明日やります、明日。

 それから、何時からかは不明ですが、静止探索のPVノードでも交換値ベースの枝刈りが有効になっちゃってたんで、無効にしました。最近学習が上手く行ってなかったのは、これが原因かも。

 後は、RMSPropではなく慣性項付きのSGDで、KL情報量がどんどん増加していくバグが有ったんで、開発用マシンではSGDで学習させてみます。再現したら再度テスト、再現しなかったらリファクタリングで治った、と判断します。