PCクラスタ上での強化学習 Qテーブルの結合
共有メモリ型の方もまだ問題があるが、分散メモリ型の方を少し考えた。クラスタ上で並列に強化学習を行う場合に最も問題となるのは、別々に学習したQテーブルをうまく結合できるかという点だと思う。
というわけで実験してみた。結果が次のグラフ。
PC1とPC2で学習したQテーブルをそれぞれQ1とQ2とする。Q1とQ2で実行した学習曲線がPC1とPC2である。そして、その2つのテーブルを『Parallel Reinforcement Learning』の論文で提案されている結合規則(テーブル更新回数で重みづけするだけだが)で結合してできたQで実行した学習曲線が ketugou である。2つのQテーブルを結合することにより学習が早まっていることがわかる。直感的に考えると当たり前な気がするが。
Qテーブルを別々に計算できるのでそれをクラスタの上で並列に走らせれば学習時間は短くなるはず(だといい)。Qテーブルの通信コストと結合コストが大きな問題になると思われる。
追記(2003/9/16)
PC1とPC2の2000エピソードでのステップ数と結合後の0エピソードでのステップ数はほとんど変わっていないため、結合による効果はほとんど出ていないようだ。ただし、PC2の探査率を変えると結合の効果が出てくるようになった。