Deep Learningを始めよう!

ディープラーニング、深層学習(英: Deep Learning)とは、
多層構造のニューラルネットワーク(ディープニューラルネットワーク、英: Deep Neural Network)
の機械学習の事。 汎用的なAI、いわゆる強いAIの実現が期待されています。
(ウィキペディアより)

これまではあまりにも複雑で計算量の多いアルゴリズムであったため
なかなか実現できませんでしたが、昨今のPCスペックの向上や分散処理技術の発達で
様々なライブラリ/ツールが開発され、特に人工知能と称したサービス、ソリューションに
多く導入されています。

有名なところではGoogle が音声検索から写真認識まで多くの自社製品で使用する
人工知能・機械学習ソフトウェア TensorFlow をオープンソース化しています。
http://japanese.engadget.com/2015/11/09/google-tensorflow/

商用利用も可能との事で、今後は色々な企業が”人工知能”を搭載した
サービスやソリューションを提供するようになると考えられます。

また、Pythonでは複数のライブラリが用意されていますので
サンプルデータを用いて手軽にディープラーニングを試すことができます。

■chainer
http://qiita.com/kenmatsu4/items/7b8d24d4c5144a686412

■Caffe
■Pylearn2
http://qiita.com/CORDEA/items/9fad27ae024928b6a7b1

同じく、Rでもディープラーニングを実施できる環境が用意されています。

■H2O
http://tjo.hatenablog.com/entry/2014/10/23/230847

こちらはHadoopやApache Sparkなどの環境で動作するエンジンですが
Rでもパッケージが用意されています。

具体的にディープラーニングがどのように使われるか、
その予測精度はどの程度なのか、以下のサイトが参考になります。

■画像認識のための活用事例
http://rest-term.com/archives/3172/
http://www.atmarkit.co.jp/ait/articles/1511/09/news008.html

■他の機械学習との精度比較/検証
http://www.albert2005.co.jp/analyst_blog/?p=1189
http://qiita.com/HirofumiYashima/items/68d56cfbab2834c1febb

色々な事例を見ている限りでは、
チューニングが非常に重要であり、それにより精度が大きく異なります。

人工知能を用いて、そこも最適なチューニングが出来れば
いいのですが、鶏が先か、卵が先か・・というジレンマですね。