2017-01-06 41 views
2

主な問題は、畳み込みニューラルネットワーク - 可視化重み

私は、特定の層の重みのプロットを理解することはできません。 ノー学ぶからメソッドを使用:plot_conv_weights(layer, figsize=(6, 6))

イムを私のニューラルネットワークライブラリとしてラザニアを使用。

プロットはうまくいきますが、私はそれをどのように解釈すべきか分かりません。ここ

InputLayer 1x31x31 

Conv2DLayer 20x3x3 
Conv2DLayer 20x3x3 
Conv2DLayer 20x3x3 

MaxPool2DLayer 2x2 

Conv2DLayer 40x3x3 
Conv2DLayer 40x3x3 
Conv2DLayer 40x3x3 

MaxPool2DLayer 40x2x2 


DropoutLayer   

DenseLayer 96 
DropoutLayer 96 

DenseLayer 32 
DropoutLayer 32 

DenseLayer 1 as sigmoid 

は、第3層の重量である:

"Image one "

"Image two "

使用

ニューラルネットワーク構造

構造IMイメージについて

"Image Three "

** **

ので、私のために、彼らはランダムに見えると私はそれらを解釈することはできません!

コンベンション/ FCフィルタ:

はしかし、Cs231に、それは次のように述べています。 2番目の一般的な戦略は、 の重みを視覚化することです。これらは、通常生のピクセルデータを直接参照している最初のCONVレイヤー で最も解釈可能ですが、 もネットワークのフィルタ重みをより深く示すことができます。ウェイトは です。十分に訓練されたネットワークでは通常、いい音色の とノイズの多いパターンのない滑らかなフィルタが表示されるため、視覚化すると便利です。ノイズの多いパターンはなぜ鉱山がランダムで につながった可能性が非常に低い正則強度が http://cs231n.github.io/understanding-cnn/

を過剰適合可能性が十分に長く、または ために訓練されていないネットワークの 指標になることができますか?

構造体は訓練されており、そのタスクに適しています。あなたは2つのことをチェックしたい重み可視化する際に

参照

http://cs231n.github.io/understanding-cnn/ 

https://github.com/dnouri/nolearn/blob/master/nolearn/lasagne/visualize.py 

答えて

2

は通常:

  • 彼らは、滑らかで、値の広い範囲をカバーすることを、それは束ではないのIE 1と0のこれは、非線形性が飽和していることを意味します。
  • 彼らは何らかの構造を持っていると思います。通常、3x3のような小さなフィルタがある場合は、これを見るのがより難しいですが、向きのエッジが見える傾向があります。

あなたの体重は飽和しているようには見えませんが、実際にはあまりにもランダムなようです。 トレーニング中、ネットワークは正しく収束しましたか? フィルターの大きさ(30x30)にも驚いています。あなたはそれで達成しようとしていることを確信していません。

+0

実際にはフィルターは3x3ですが、ポストには寸法があります。 – KenobiShan

関連する問題