AIブームに乗り遅れるな
世の中 AIブームで猫も杓子もAIAIと騒ぐようになってきました。
私のやっている仕事も画像による検査やロボット制御に絡む話が多いのでAIブームを黙って見過ごしている訳にはいきません。
暫くは既存のアルゴリズムで何とかなるでしょうが10年先はAIを活用できないとかなり苦しい立場に立たされると思います。
ということで遅まきながら細々とディープラーニングの勉強に取り組んでいます。
ディープラーニングのためのツール選択
最初はChainerというディープラーニング向けのフレームワークを使おうとしていましたが、互換性のないアップデートが何度もありその度に開発環境のインストールだけで止まってしまうという繰り返しをしている間にKerasが主流になってきたのでそちらに乗り換えました。
こういうツールは利用者目線の情報が豊富にあることが大切なのでChainerのようにある程度のレベルに達したユーザーでないとついていけないほど速いサイクルでアップデートを繰り返しているツールはいくら内容が良くてもメジャーになり得ません。
その点Kerasは私のように横着なユーザーでも何とかついていける初心者向けの情報が着実に増えてきているようで、嬉しい限りです。
ディープラーニング用のハードウェア
ハードウェアの比較
ディープラーニングにはGPUの活用が欠かせません。
実用的なアプリケーションでニューラルネットワークの学習をしようとすると数時間から数週間以上の時間がかかり、GPUの有無で学習時間に一桁以上の差が出ます。
今まではWindows 10のPCにGeforce GTX 750のグラフィックボードを増設したものとGeforce GT 650Mを搭載したMacbook Proを使っていましたが、もう少し真面目に取り組むためにディープラーニング専用のPCを用意してUbuntuをインストールして使うことにしました。
現在ディープラーニングで実用的に使えるGPUはNVIDIAのグラフィックボード一択なので、新しいマシンを用意するにあたってどのクラスのグラフィックボードが費用対効果が高いか調べて見ましたが明確なベンチマークは見つからなかったのでとりあえず比較的高性能なGTX 1070が搭載されていて手頃な価格のDELL XPS 8930シリーズを導入しました。
まずはWindows 10で試していた簡単なLTSM(時系列データ向きのモデル)をそのままUbuntuで走らせてみました。
下図が出力結果で上がWindows 10(GTX 750)、下が Ubuntu( GTX 1070)の出力です。
較べてみるとUbuntuの方が3倍強のスピードで学習が終わっていますのでGTX 1070はディープラーニング用として費用対効果が高く、かなりお勧めのGPUであることが判りました。
学習速度の比較
GeForce GTX 1070 220sec
GeForce GTX 750 750sec
GeForce GT 650M 1090sec
GeForce GT650Mは下のリストにはありませんがMacBook Pro搭載のGPUです。
GTX 750はヒートパイプ付きクーラー搭載の見た目がごついビデオカードですがノートPCに入っているGeForceに較べて3割程度しか速くないのが意外でした。