なぜCNNでは畳み込み層のフィルタ数を倍ずつにしていくのか
67 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
採用された回答
Kenta
2019 年 7 月 28 日
畳み込みをするとイメージサイズが小さくなりますが、その代わりフィルター数を増やし、チャンネル方向に大きくするので、分類などに十分な情報を保持できると理解しています。そのため質問者様と同様の理解を私はしています。その際、フィルター数を1.5倍にしたり、3倍にもできると思います。どれくらいがよいかはその課題によるはずです。
層の数についても同様で、特にここで3であるはっきりとした理由はなく、単に、この課題に関しては3に設定することでよい結果が得られた、と考えています。
3 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で イメージを使用した深層学習 についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!