2017-03-29 15 views
0

私はCNNを詐称しています。完全に接続>入力> CONV1-maxpool1> CONV2-maxpool2> CONV1に出力畳み込みニューラルネットワークのパラメータを変更します。

Convolutional Layer #1 
- Computes 32 features using a 5x5 filter with ReLU activation. 
- Padding is added to preserve width and height. 
- Input Tensor Shape: [batch_size, 28, 28, 1] 
- Output Tensor Shape: [batch_size, 28, 28, 32] 
Pooling Layer #1 
- First max pooling layer with a 2x2 filter and stride of 2 
- Input Tensor Shape: [batch_size, 28, 28, 32] 
- Output Tensor Shape: [batch_size, 14, 14, 32] 
Convolutional Layer #2 
- Computes 64 features using a 5x5 filter. 
- Padding is added to preserve width and height. 
- Input Tensor Shape: [batch_size, 14, 14, 32] 
- Output Tensor Shape: [batch_size, 14, 14, 64] 
Pooling Layer #2 
- Second max pooling layer with a 2x2 filter and stride of 2 
- Input Tensor Shape: [batch_size, 14, 14, 64] 
- Output Tensor Shape: [batch_size, 7, 7, 64] 
Flatten tensor into a batch of vectors 
- Input Tensor Shape: [batch_size, 7, 7, 64] 
- Output Tensor Shape: [batch_size, 7 * 7 * 64] 
Fully Connected Layer 
- Densely connected layer with 1024 neurons 
- Input Tensor Shape: [batch_size, 7 * 7 * 64] 
- Output Tensor Shape: [batch_size, 1024] Output layer 
- Input Tensor Shape: [batch_size, 1024] 
- Output Tensor Shape: [batch_size, 10] 

、1入力computates有する:Iは28x28と利用アーキテクチャ5層であるトレーニングMNISTデータセットは、画像のCNNs.sizeを使用に関するいくつかの論文を読んconv2では32個のフィーチャが5x5フィルタを使用し、conv2で32個の入力はconv1から同じフィルタを使用して64個のフィーチャを計算します。 32,64,2x2フィルタのようなパラメータは何に基づいて選択されますか?彼らはイメージのサイズに基づいていますか?

画像のサイズが128x128などの28x28より大きい場合。私は5層以上の層の数を増やすべきですか?他のサイズの画像では、上記のパラメータはどのように変化しますか?それのベースレベルで

感謝予め

答えて

1

、これらの入力はハイパーと呼ばれ、典型的には、ルールの任意の特定のセットによって定義されていません。それは、多くの場合、我々はなど、性能や効率を高めるためにハイパーパラメータのセットを選択し、ハイパーパラメータの最適化を使用するように親指のルール(ヒューリスティック)を使用して前記

本の偉大な説明があるHere

編集: これは広く研究されている問題ですが、ArxivとStatsを見てください.Stackexchangeの詳細については、こちらをご覧ください。Here

+0

論文を読んだ後、私はまだ理解していませんハイパーパラメータのセットを選択してそれらを変更する方法。あなたは明確に説明したり、それらに関する論文の詳細を持っていますか? –

関連する問題