1. jintaka1989

    Posted

    jintaka1989
Changes in title
+各機械学習ライブラリの比較をまとめる
Changes in tags
Changes in body
Source | HTML | Preview
@@ -0,0 +1,87 @@
+この部分は需要が高いと思ったので、以下の自分の投稿から抜粋。
+
+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.まとめ、において言及しているのでここでは省略する。
+
+・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
+ ニューラルネットワーク系に強いライブラリである。