2017-01-11 11 views
2

私は、入力(イメージと言う)がCNNを順方向に通過し、畳み込まれ、ダウンサンプリングされることを理解します。次に、完全に接続されたレイヤーで、それが生成する最終的な重みを与えられたラベルを割り当てます。訓練では、Eをゼロに近づけるように、勾配降下(または他の最適化機能)を利用して重みを調整できるように、Errror変数が計算されます。CNNのフィルタはどのように学習されていますか?

フィルタはこのプロセスでどこで学習されますか?フィルタがガウスノイズから線、コーナー、色にどのように移行するか分かりません。次に、これらのフィルタがテスト用のファイルに明示的に書き込まれているとします。

+0

フィルタはどこから学習されるのですか?あなたはバックプロパゲーションプロセスを意味しますか? –

+0

@MarcinMożejkoはい、最適なフィルタを見つけるために数学がどのように機能するかを学びたいと思います。 – user25093

答えて

2

CNNから学んだ各カーネルは、それらのフィーチャ(線、コーナーなど)を作成するフィルタです。

Sobelは例としてイメージを畳み込むために特定のカーネルを使用し、このカーネルでエッジ検出器として使用されるXとYの勾配を回復することができます。しかし、その機能(ライン)が、私たちが回復したいと思うだけではない、または私たちの特定の問題のための理想的な機能ではない場合はどうでしょうか。したがって、これらのカーネルを学び、異なるイメージを作成することができます。

この画像は、機能マップと呼ばれ、different techniquesで視覚化することができます。実際にCNNが何を学習しているかをよく理解することができますので、このビデオをご覧になることをお勧めします。course

このフィルタを習得するには、期待される出力が何であるかが分かります。あなたはランダムな値(フィルター/重みの最初の値)で画像を畳み込み、最良のものを学習している典型的なソールを使用する代わりに、トレーニングセットを予測するのに適したものを得るまで、それらの値を学ぶことができますカーネル/フィルタを使用して、イメージをよりよく表現する機能を回復します。

これらのフィルタは、最終的には学習したネットワークの重みです。

+0

私はこのプロセスが発生することを理解しますが、私の主な問題は数学がどのように実装されているかです。 NN内の単一ウェイトに対する逆伝播の場合、損失関数で導関数を取り、次にその関数の最小値に反復することができます。フィルタの場合は、フィルタの各値を調整してから、フィルタを再度適用して結果を確認しますか?これは計算上重いようです。 – user25093

関連する問題