読者です 読者をやめる 読者になる 読者になる

Itsukaraの日記

最新IT技術を勉強・実践中。最近はDeep Learningに注力。

自宅PCとGCPで学習曲線が極端に異なる

原因不明 Montezuma's Revenge 機械学習 Python ITのお勉強

独自DRL環境(A3C + Pseudo-Code + On-Highscore-Learning)の評価はGCP(Google Cloud Platform)で進めているのですが、同じ条件で評価しても、自宅PCと学習曲線が極端に異なる場合があることが分かりました。

念の為、両方共2回評価したのですが、自宅PCでは0.5M - 2M stepぐらいで100点が多数出るのですが、GCPでは8M stepでもほとんど100点が出ていません。

GCPと自宅PCの違いはGPUの有無ぐらいなのですが... TensorflowはGPUの有無で挙動が異なるのかもしれません。疑わしいのは、学習データの初期化の部分ですが、今のところ、未確認です。

ちなみに、VM再起動対応で入れたPseudo-count情報の全threadでのsave/loadにより、thread間での同期が発生したために動作が変わった可能性はありますね。これまではthread0だけがsaveなどの重い処理を行い、他のthreadはthread0とは無関係に処理していたのですが、今回入れたVM再起動対応で、他のthreadがthread0を待つようになり、足並みが揃うようにしたのが悪く影響した可能性はありますね。

下記が、学習曲線です。

自宅PCの場合

f:id:Itsukara:20161018123745p:plain

f:id:Itsukara:20161018123637p:plain

GCPの場合

f:id:Itsukara:20161018123703p:plain

f:id:Itsukara:20161018123723p:plain

なぜだろう???