ディープラーニングにおけるGPUの効果

ディープラーニングの研究において、学習時間の短縮は非常に大きな問題です。
特に前回の例のように1回40時間とか要すると、簡単に試行錯誤できません・・・

現在shimizuの実行活環境は、i7-4770T+GTX1060(6GB)です。
通常の使用ではほぼ無音でとても快適な自作PCなのですが、GPUを変更すると学習時間短縮の効果が出るのでしょうか?

ということで、まずはGPUの有無で計測してみました。

“ディープラーニングにおけるGPUの効果” の続きを読む

最適化メソッドの比較

前回SGDとバッチサイズの関係を調べて、大きな収穫がありました。
そこで今度は最適化メソッドを入れ替えた場合の傾向について調査してみます。

比較用に採用したメソッドは以下の通り

下にいくほど、世代が新しくなると思ってよいです。(ザックリですが)
各メソッドを紹介するのが目的ではないので、詳細には触れないことにします。
※mxnetには、他にも最適化メソッドが存在します。

条件はすべて同じにして、最適化関数だけを入れ替えます。
使用したネットワークはLSTM1層です。
収束まで時間がかかるケースを想定して、今回は10,000エポック回してみました。

結果はこのようになりました。

“最適化メソッドの比較” の続きを読む

SGDとバッチサイズに関する考察

前回”バッチサイズの影響が非常に大きそうだ”ということが分かったので、いったん整理して確認してみることにしました。

確認内容

他条件は同一にして、バッチサイズのみ変更して、その影響を確認する。
バッチサイズは、1、4、16、64、256、1024、4096とする。
最適化方式はSGDとする。

パターン1:バッチサイズ=4,096

学習率が1.0と大きいケースから収束を始めており、学習率が0.05以下の小さいケースでは収束が始まっていない。

“SGDとバッチサイズに関する考察” の続きを読む