なぜCNNでは畳み込み層のフィルタ数を倍ずつにしていくのか
50 views (last 30 days)
Show older comments
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];
0 Comments
Accepted Answer
Kenta
on 28 Jul 2019
畳み込みをするとイメージサイズが小さくなりますが、その代わりフィルター数を増やし、チャンネル方向に大きくするので、分類などに十分な情報を保持できると理解しています。そのため質問者様と同様の理解を私はしています。その際、フィルター数を1.5倍にしたり、3倍にもできると思います。どれくらいがよいかはその課題によるはずです。
層の数についても同様で、特にここで3であるはっきりとした理由はなく、単に、この課題に関しては3に設定することでよい結果が得られた、と考えています。
3 Comments
More Answers (0)
See Also
Categories
Find more on イメージを使用した深層学習 in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!