deep learning とは

まだまだ勉強不足ですが、
大変僭越ながら deep learning とは何かを簡単に説明します。
2012-11-01 追記: 専門家によるもっと詳しく分かりやすい解説があります!
ニューラルネットの逆襲 | Preferred Research



deep learning とは、たくさんの層を持ったニューラルネットを用いた
機械学習技術です。

deep learning は、画像認識、音声認識、自然言語処理などの分野で、
いろいろなベンチマークで従来技術を超える性能を出しており、
注目を集めています。

ニューラルネットと言えば、かつて3層パーセプトロンがよく使われていました。
3層よりも層の数を増やしても、理論的には学習アルゴリズムは動くはずでした。
ところが実際には層の数が多いと、従来の学習方法では学習が停滞してしまい、
事実上動かないんだそうです。
(学習には勾配法が使われますが、層が多いと勾配がほとんど0になり、
いつまでたっても学習が進まないということが起きます。
これは過適合や局所解とは別の種類の問題です。
下の層に伝播される誤差信号がほとんど0になるそうです。
上の層は誤差信号が0になるまで学習が進むのだから、
この現象は結局、局所解ですね。


ただし深いニューラルネットで成功をおさめていたものもありました。
ネオコグニトロンやたたみ込みニューラルネットワークという
特殊な構造のもので、これらは5層程度の構造を持ち、
文字認識などで非常によい性能を出していました。

実はニューラルネットは層が深いほど指数関数的に表現力が増す場合があります。
また、脳の視覚野も5段階以上の階層的な処理をしており、
その構造を模倣できれば脳のような高い性能を出せるかもしれません。

層が深いと学習が進まないという問題は 2006年 に Hinton によって
解決されました。
pre-training と言って、本格的な学習の前に、
あらかじめ下の層から順に教師なし学習しておくと、
学習がうまくいくことが見い出されました。
( pre-training によって近似解が与えられることになります。
解の近傍では勾配がつくので勾配法で学習が進むようになります。)

この発見をきっかけとして、深いニューラルネットの性質の理論的な理解も進み、
性能を上げるための様々な技法が提案され、
ツールも公開されるようになってきています。


ところで、実は deep learning で使われている技法の多くは、
神経科学的知見に起源を持ちます。
(局所受容野、たたみ込み、スパース符号化、 max-pooling といった技法は
いずれも最初は視覚野のモデルの一部として提案されたものだと思います。)

「神経科学を深く学べば、高い性能を持った機械学習技術に応用できる」
ということを、 deep learning の成功は示してくれていると思います。

コメント

コメントの投稿

トラックバック


この記事にトラックバックする(FC2ブログユーザー)