LoginSignup
284
308

More than 5 years have passed since last update.

各機械学習ライブラリの比較をまとめる

Last updated at Posted at 2016-07-04

この部分は需要が高いと思ったので、以下の自分の投稿から抜粋。

TensorFlowのチュートリアルを通して、人工知能の原理について学習する
http://qiita.com/jintaka1989/items/3b70b5c5541620536fa2

以下のことについて知りたい人向けの記事。

・各機械学習ライブラリの比較

ちなみに私はTensorFlowしか触っていないので、
この記事はブログなどを探索して、それをまとめたものである。
追記:実際にライブラリをいろいろ使ってみた人の感想はこちら
https://speakerdeck.com/contaconta/deep-learningraiburari-se-tukatutemitagan-xiang-matome

■他の機械学習ライブラリとの比較
 他の機械学習ライブラリと比較するとなると、そのための開発環境を整えなければならない。よって比較実験は今後の課題とし、今回は文献やインターネットの調査から考察する。以下の表に主な機械学習ライブラリを示す。

追記:caffeはPython, MATLABでも書けます

表1 機械学習ライブラリ一覧
表1.jpg

※公式サイトリンク一覧
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
 ニューラルネットワーク系に強いライブラリである。

284
308
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
284
308