この部分は需要が高いと思ったので、以下の自分の投稿から抜粋。
TensorFlowのチュートリアルを通して、人工知能の原理について学習する
http://qiita.com/jintaka1989/items/3b70b5c5541620536fa2
以下のことについて知りたい人向けの記事。
・各機械学習ライブラリの比較
ちなみに私はTensorFlowしか触っていないので、
この記事はブログなどを探索して、それをまとめたものである。
追記:実際にライブラリをいろいろ使ってみた人の感想はこちら
https://speakerdeck.com/contaconta/deep-learningraiburari-se-tukatutemitagan-xiang-matome
■他の機械学習ライブラリとの比較
他の機械学習ライブラリと比較するとなると、そのための開発環境を整えなければならない。よって比較実験は今後の課題とし、今回は文献やインターネットの調査から考察する。以下の表に主な機械学習ライブラリを示す。
追記:caffeはPython, MATLABでも書けます
※公式サイトリンク一覧
TensorFlow:https://www.tensorflow.org/
Chainer:http://chainer.org/
Caffe:http://caffe.berkeleyvision.org/
Theano:http://deeplearning.net/software/theano/index.html
Torch:http://torch.ch/
scikit-learn:http://scikit-learn.org/stable/
PyML:http://pyml.sourceforge.net/
Pylearn2:http://deeplearning.net/software/pylearn2/
PyBrain:http://pybrain.org/pages/home
・TensorFlow
以下の1.結論、2.背景、7.まとめ、において言及している。
http://qiita.com/jintaka1989/items/3b70b5c5541620536fa2
・Chainer
参考文献:
http://qiita.com/icoxfog417/items/96ecaff323434c8d677b
http://nonbiri-tereka.hatenablog.com/entry/2015/06/14/225706
Chainerは、Preferred Networksが開発したニューラルネットワークを実装するためのライブラリである。記法が直感的かつシンプルなので、単純なネットワークから、複雑なディープラーニングまで幅広くカバーできる。
日本発のライブラリである。
また、短く書ける。Caffe上のコード2058行がChainerでは167行で書ける。
そして、設定ファイルや固定データセットが必要ない。Caffeでは、設定ファイルと構築したデータセットを主に使うことになっていたので、動的にDataArgumentationしようとすると面倒になる。
最後に、インストールが簡単である。
・Caffe
参考文献:
http://caffe.berkeleyvision.org/
CaffeはPython向けの代表的なディープラーニングライブラリである。C++で実装され、GPUに対応しているため、高速な計算処理が可能である。
Caffe is a community というキャッチコピーもあるほど、その開発コミュニティーが活発にgithubを更新していたり、サンプルコードも多く初心者に推奨される。
大規模画像認識のコンテストILSVRCで2012年に1位となった畳み込みニューラルネットワークの画像尾分類モデルがすぐに利用できるようになっている。
Caffeは、カリフォルニア大学バークレー校のコンピュータビジョンおよび機械学習に関する研究センターであるBVLCが中心となって開発している。ヤフージャパンは2014年6月から同センターのスポンサーになっていて、Caffeの開発を含めたセンターの研究の支援を行っている。
・Theano
参考文献:
http://aidiary.hatenablog.com/entry/20150127/1422364425
http://www.chino-js.com/ja/tech/theano-rbm/#id5
TheanoはPython向けの「ディープラーニング(Deep Learning)」ライブラリである。
機能としては、ディープラーニングの他に「行列演算」「実行時にCコードを生成してコンパイル」「自動微分」「GPU処理(要CUDA)」もあり、ケースによっては数値計算ライブラリ「Numpy」よりも高速に計算できる。
Deep learning に関するTutorialの量がとても多い。Theano自体は自動偏微分機能・GPU対応などをサポートする計算ライブラリで、Deep learning専用のパッケージではない。自分で理論から理解してScratchで実装したい人にはとても参考になる。
Theanoをベースに開発されたライブラリが多いようだ。
・Torch,Lua
参考文献:
http://conditional.github.io/blog/2013/12/07/an-introduction-to-torch7/
畳み込みニューラルネットワークを用いた、低画質画像から高画質画像を生成するソフトであるwaifu2xなどはこれを利用して開発されている。
・scikit-learn
機能としては、分類 (Classification)や回帰 (Regression) 、クラスタリング (Clustering) 、次元削減(Dimensionality reduction)などが実装されている。
・PyML
SVM、再近傍法、リッジ回帰等に適している。
・Pylearn2
機械学習向けライブラリのPylearn2は、画像の認識処理等に適している。
・PyBrain
ニューラルネットワーク系に強いライブラリである。