なぜCNNでは畳み込​み層のフィルタ数を倍​ずつにしていくのか

36 views (last 30 days)
ssk
ssk on 27 Jul 2019
Commented: ssk on 28 Jul 2019
CNN初心者です。以下のリンクの下記コードにつきまして、畳み込み層のフィルタ数が倍ずつになっておりますが、なぜこのようになるかご教示いただけますでしょうか。個人的にはフィルタの数だけ特徴マップが出力されるため、より精度を高くするために倍にするのではと考えております。
また、フィルタ数を倍ずつにしていくのではなく、他の方法(たとえば、1.5倍、2倍など)も可能であるかご教示いただけますと幸いです。どうぞよろしくお願いいたします。
加えて、本チュートリアルでは畳み込み層は3層だけですが、なぜ3層だけか、3層が最適なのかにつきましても何か理由がございましたらご示唆を頂けますと幸いです。
layers = [
imageInputLayer([28 28 1])
convolution2dLayer(3,8,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(3,16,'Padding','same')
batchNormalizationLayer
reluLayer
maxPooling2dLayer(2,'Stride',2)
convolution2dLayer(3,32,'Padding','same')
batchNormalizationLayer
reluLayer
fullyConnectedLayer(10)
softmaxLayer
classificationLayer];

Accepted Answer

Kenta
Kenta on 28 Jul 2019
畳み込みをするとイメージサイズが小さくなりますが、その代わりフィルター数を増やし、チャンネル方向に大きくするので、分類などに十分な情報を保持できると理解しています。そのため質問者様と同様の理解を私はしています。その際、フィルター数を1.5倍にしたり、3倍にもできると思います。どれくらいがよいかはその課題によるはずです。
層の数についても同様で、特にここで3であるはっきりとした理由はなく、単に、この課題に関しては3に設定することでよい結果が得られた、と考えています。
  3 Comments
Kenta
Kenta on 28 Jul 2019
はい、そうですね、自分で設計したいときはいろんな要素を試行錯誤する必要があると思います。
はい、フィルター数を増やすことで、チャンネル方向に長くなります。
ssk
ssk on 28 Jul 2019
ありがとうございました。深く理解できました!

Sign in to comment.

More Answers (0)

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!