1. jintaka1989

    No comment

    jintaka1989
Changes in body
Source | HTML | Preview
@@ -1,88 +1,88 @@
この部分は需要が高いと思ったので、以下の自分の投稿から抜粋。
TensorFlowのチュートリアルを通して、人工知能の原理について学習する
http://qiita.com/jintaka1989/items/3b70b5c5541620536fa2
以下のことについて知りたい人向けの記事。
-TensorFlow以外のライブラリの比較
+各機械学習ライブラリの比較
ちなみに私はTensorFlowしか触ってない。
この記事は、ブログなどを探索して、それをまとめたものである。
■他の機械学習ライブラリとの比較
 他の機械学習ライブラリと比較するとなると、そのための開発環境を整えなければならない。よって比較実験は今後の課題とし、今回は文献やインターネットの調査から考察する。以下の表に主な機械学習ライブラリを示す。
表1 機械学習ライブラリ一覧
![表1.jpg](https://qiita-image-store.s3.amazonaws.com/0/131965/0a6a6e0a-5f26-b194-5517-265ed07a0396.jpeg)
※公式サイトリンク一覧
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
 ニューラルネットワーク系に強いライブラリである。