2013-02-17 16 views
18

深い学習と深い信念のネットワークに関するいくつかの論文を読んだ後、私はそれがどのように機能するかという基本的な考え方を得ました。しかし、最後のステップ、すなわち分類ステップにはまだまだ進んでいます。 私がインターネット上で見つけた実装のほとんどは世代を扱っています。 (MNISTの数字)画像分類のための深い学習

DBNを使用して画像(好ましくは自然の画像やオブジェクト)を分類する方法について説明できる説明やコードがありますか?

また、指示の中のいくつかのポインタが本当に役に立ちます。

+0

クロスバリデーションに関するこの回答を参照してください:http://stats.stackexchange.com/a/41201/14673 –

+0

この質問は、クロスバリデーションされたhttp://stats.stackexchange.com/questions/41029/restricted-boltzmann-回帰計算機/ 41201#41201 – lejlot

答えて

24

このごろ基本的な考え方は、画像分類問題に対する最先端の深い学習(例えばImageNet)は、通常、「深い畳み込みニューラルネットワーク」(ディープConvNets)です。それらはKrizhevsky et alによっておおよそこのConvNet構成のように見える: enter image description here

推論(分類)ためには、左側(左側の深さは、RGBのために、3であることに注意してください)、クランチに画像を送ります一連の畳み込みフィルタを通し、右辺に1000次元のベクトルを吐き出します。この写真は、特にImageNetの場合、1000種類の画像を分類することに重点を置いています。したがって、1000dベクトルは「この画像がそのカテゴリに当てはまる可能性の度合い」です。

トレーニングニューラルネットはわずかに複雑です。トレーニングでは、基本的に分類を繰り返し実行します。ネットワークの畳み込みフィルタを改善するために、頻繁に逆伝播を行います(Andrew Ngの講義を参照)。基本的に、バックプロパゲーションは「ネットワークが正しく分類されたものと誤って分類されたもの」と尋ねています。誤分類されたものについては、ネットワークを少し修正しましょう。


実装

Caffe深い畳み込みニューラルネットワークの非常に高速なオープン・ソース・インプリメンテーション(Krizhevskyらからcuda-convnetより速い)です。 Caffeコードは読みやすいです。基本的には、ネットワーク層のタイプ(例えば、畳み込み層、最大プール層など)ごとに1つのC++ファイルが存在する。

2

最近では、分類層でSVMの使用を開始しています。

ディープ学習は非常に自由に広く進化しています。

関連する問題