AI(人工知能)ディープラーニングはPython & Chainer

人工知能の代名詞になっているdeep learning(深層学習)ですが、フレームワークに何を選ぶかは重要で、深層学習とフレームワークでググると、ChainerとTenserFlowがトップページを独占しています。TensorFlowはグーグルがopen source化したフレームワークのようです。

Chainerは前回紹介したPreferred Networksが開発した国産フレームワークで、国内では当然知名度が高いのですが、海外だと全然と言った感じです。海外だと結構選択の幅があるようなのですが、日本人には国産のChainerがいいのではないでしょうか。

deep learning, framework, bestでトップページに出て来たサイトを色々と調べて見ました。DL4J vs. Torch vs. Theano vs. Caffe vs. TensorFlow ← このサイトを見た結果、良さ気なフレームワークは、TorchかCaffeなのですが、前者は使用言語がLuaなのがあれで、後者は運用がかなり面倒なような事が書いてあります。

スポンサーリンク

Caffe

Caffe is a well-known and widely used machine-vision library that ported Matlab’s implementation of fast convolutional nets to C and C++ (see Steve Yegge’s rant about porting C++ from chip to chip if you want to consider the tradeoffs between speed and this particular form of technical debt).

「Caffeは、Matlabの高速なCNN(Convolutional Neural Network)実装をC/C++へ移植した有名で広く使われているマシンビジョン(コンピュータービジョン、機械視覚)ライブラリです。(速度と技術的負債であるこの特殊様式間の相殺を考えたければ、C++のチップ毎の移植に関する激しい不満を見て下さい。)」

速度があっても、GPUカード交換の度に、新しいGPUチップ用にC++の書き換えが必要になるようです。GPUカードの交換サイクルが長くなっているとは言え、面倒臭い作業な事には変わりはないので、ずっと同じGPUカードを使い続ける人以外は辛そうです。ただ、GPUを使わないでも使えるみたいなので、CPU modeでもいいならありかもしれませんが、それだと一番の売りの速度が出ないので、そもそもCaffeを使う意味が無いような気もします。

Nvidia support

Nvidiaのサイトで調べてみました。Deep Learning Frameworks

CaffeがトップなのでやはりCaffeが一番人気なのかもしれません。さらに、Caffeは 最新のcuDNN v5 for GPU accelerationをサポートしています。チュートリアルサイトもあるので初心者には敷居が低くなっています。他には、GoogleのTensorFlow、Torch、TheanoがcuDNNの最新バージョンをサポートしています。MicrosoftのCNTKとChainerはcuDNN v4となっていますが、そのうちv5に対応されるのではないでしょうか。Chainerが他のフレームワークと一線を画するような記載が載っています。

Chainer

Chainer is a deep learning framework that’s designed on the principle of define-by-run. Unlike frameworks that use the define-and-run approach, Chainer lets you modify networks during runtime, allowing you to use arbitrary control flow statements.

「Chainerは、define-by-runの原則の上に設計されている深層学習フレームワークです。define-and-runアプローチを使っているフレームワークとは違い、Chainerは、ランタイムでのネットワーク修正が可能で、任意の制御フローステートメントを使えるようになります。」

Chainerの売りであるdefine-by-runが、一部で人気の秘密になっているようです。国産フレームワークという事もあり、日本人のファンも多いのではないでしょうか。日本がAIで世界市場で勝負するには、Preferred Networksのような将来性のあるベンチャーの力が必要になってきます。Chainerを使って学習することで、若くて有能な人達は、この将来有望なベンチャーの社員になれる可能性も少しは出てくるのではないでしょうか。

スポンサーリンク

シェアする

  • このエントリーをはてなブックマークに追加

フォローする