2016-01-12 11 views
5

私は現在TensorFlowのMultilayer Convolutional Networkチュートリアルに従っています。種々の層において畳み込みネットワークの重み?

量は以下のように初期化される:

  • まず畳み込み層:

    W_conv1 = weight_variable([5, 5, 1, 32]) 
    
  • 第畳み込み層:

    W_conv2 = weight_variable([5, 5, 32, 64]) 
    
  • 密集接続された層:

    W_fc1 = weight_variable([7 * 7 * 64, 1024]) 
    
  • 読み出し層:

    W_fc2 = weight_variable([1024, 10]) 
    

だから私たちに知られている上記の重み変数の形状がどのようにに疑問を持つのでしょうか?

それらの任意の数式は、それらの形状を見つけるために使用されますか?

答えて

8

答えは同じページで説明されています。

畳み込みは、それぞれ5×5のパッチの32点の特徴を計算します。その 重量テンソルは一切関与数学の額面はありません[5、5、1、32]

の形状を持つことになりますと言うが、これらの用語は、コンボリューションカーネルのサイズは説明

  1. が必要5X5 。つまり、5X5の行列は、がコンボリューションされていることを意味します。は、画像の周りを動かすことで入力画像を表します。小さな5X5行列が28X28イメージ上でどのように移動し、イメージ行列の異なるセルにそれ自身を乗算するかの説明については、this linkをチェックしてください。これは最初の2つの次元を与える[5, 5, 1, 32]
  2. 入力チャネルのサイズは1です。これらはBW画像、したがって1つの入力チャンネルです。ほとんどのカラー画像は3つのチャンネルを持っていますので、画像上で作業する他の畳み込みネットワークでは3が必要です。実際、第2の層の場合、W_conv2の場合、入力チャネルの数は、層1の出力チャネルの数と同じである32です。
  3. 重み行列の最後の次元は、おそらく最も視覚化が困難です。あなたの5X5マトリックスを想像し、それを32回複製してください。これらの32のものはそれぞれchannelsと呼ばれます。議論を完了するために、これらの行列の各々は、ランダムウェイトで初期化され、ネットワークの順方向/逆方向伝播中に独立して訓練される。より多くのチャンネルが画像のさまざまな側面を学習し、ネットワークに余分な電力を与えます。

これらの3つのポイントを要約すると、レイヤー1の望ましい寸法が得られます。次のレイヤーは拡張です。この場合、最初の2つのディメンションはカーネルサイズ(5X5)です。第3次元は、入力チャネルのサイズと同じであり、前のレイヤの出力チャネルのサイズに等しい。 (32、層1の32の出力チャンネルを宣言したので)。最終次元は、現在のレイヤーの出力チャネルのサイズです(64、さらに2番目のレイヤーのラガー!)。ここでも、5X5個の独立したカーネルを維持することができます!

最後に、最後の二つの層:各コンボリューション層、サイズKXKのプーリング層のための最終的なサイズ=初期サイズ

  • 、最終的な大きさについて

    1. :最終緻密層は、いくつかの計算を必要とする唯一のものです=初期サイズ/ K

    したがって、CONV1について

    1. は、サイズがのまま
    2. プール1はCONV2について14 X 14
    3. にサイズを縮小し、サイズが残っ14 X 14
    4. POOL2は7 X 7

    にサイズが縮小され、勿論、我々はCONV2による64のチャンネルを持っている - プーリングは、それらに影響を与えません。したがって、7X7X64という最終的な密な入力が得られます。その後、完全に接続された1024の隠れ層を作成し、10桁の10出力クラスを追加します。

  • +1

    ありがとうございます。あなたは '32のものはチャネルと呼ばれています。私たちは、それが(この[例](http://neuralnetworksanddeeplearning.com/chap6.html#convolutional_neural_networks_in_practice)のように)32なく20でなければならない決めるだろうか、まだこれで少し混乱しています。 – turtle

    +2

    番号を決定する固定式はありません。各チャネルは、(多分、コントラストのための他のエッジの1、)画像の抽象中間表現を作成します - より多くがあまりにも多くのチャネルを学び、オーバーフィッティングが発生することが遅くなり、通常は優れている –

    +0

    さて、密集接続されたレイヤに1024年に行きますので、同じ? – turtle

    関連する問題