Deep Learning

いろいろあって調べたのでメモしておく.

Deep Learningとは?

ニューラルネットを教師なしクラスタリングに使う技術. 普通の機械学習では人間がデータの特徴抽出を行う必要があり,特徴の作り方に様々なノウハウがあるのだが,Deep Learningでは特徴抽出までニューラルネットが勝手に行なってしまう. たとえば,画像を大量に食わせると直線や円,特定の色の分布に反応するフィルタを必要なだけ勝手に覚えてくれる.

原理

auto-encoderというニューラルネットを多層につなげて構成されている. auto-encoderは2つのニューラルネットからなっており,入力 x を1つ目に通して f(x) として,これを2つ目に通して得た g(f(x))x と一致するようにニューラルネットの結合重みを調整する. auto-encoderを多層につなげるのは,人間の視覚野がV1,V2,……の階層構造になっているのとだいたい同じと考えれば良い(単純な特徴抽出の結果をさらにニューラルネットに放り込み,複雑な情報処理を可能にする).

規模

数万ニューロンをぐるぐる回すので,今の所はGPGPU必須ぽい. もっと少ないニューロン数で扱えないのかは謎.

参考資料

ニューラルネットの逆襲
PFIのブログ.Deep Learningについての情報がまとまっているので便利.
ImageNet Classification with Deep Convolutional Neural Networks
本家の人が作ったスライド.画像認識について基礎的な知識があれば理解できる程度には易しい.
Building High-level Features Using Large Scale Unsupervised Learning
Deep Learningを日本語で解説したありがたい資料.わかりやすい.
データマイニングコンペティションサイト Kaggle にも Deep Learning ブームがきてるかと思ったのでまとめる - 糞ネット弁慶
Deep Learningの人がKaggleで残したコメントを和訳している.面白い.