エンコーダを凍結した探索系NNの学習結果

 以下の続き。

 前回の学習の反省としてエンコーダ側を事前学習し、凍結することにした。事前学習でのPolicy損失は1.85であった。

実験結果

全体の結果

 前回に比べて値が安定するようになり、MCTSnetはかなり低い値まで下がっていった。しかし単純な探索なしである事前学習よりも損失が高い値で留まっているため、探索が有効に機能しているわけではないことがわかる。

 提案手法とStacked LSTMはあまり値が下がらず、なんらかのミスを感じる。

MCTSnet

 学習初期こそ探索回数に応じて損失値が小さくなってはいるが、学習が進むとほとんど差がなくなってしまっている。

提案手法

 1,2回目よりは3回目以降のほうが損失値が小さくなっているが、7回を超えたあたりからまた上がり始めてしまっている。

Stacked LSTM

 提案手法とだいたい同じ傾向にある。

考察

 簡便さや統一性のため学習方法として「10回の探索(MCTSnetの場合はシミュレーション)を行い、各回の探索後にReadout方策を計算してそれと正解ラベルから交差エントロピーを算出し、最小化」という方法を取っているのだが、よく考えるとこれではReadout方策のみが学習可能でSimulation方策は勾配が流れてきていなさそうであることに気づいた。なのでどの手法もSimulationがほぼランダムに行われている状態のようなものに思われる。

 サボらずにMCTSnetの学習手法をちゃんと模倣するべきだが、そうなると少なくともStacked LSTMには同じ手法が使えないので平等な比較というのは難しくなる。とりあえず提案手法は同じ手法で学習できるはずなのでその2者での比較になるだろうか。もう少しMCTSnetの学習に対して理解を詰めてから実装パートへ向かう予定。