MATLAB Answers

ssk
0

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

Asked by ssk
on 27 Jul 2019
Latest activity Commented on by 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];

  0 Comments

Sign in to comment.

Tags

1 Answer

回答者: Kenta Itakura
2019 年 7 月 28 日
 採用された回答

畳み込みをするとイメージサイズが小さくなりますが、その代わりフィルター数を増やし、チャンネル方向に大きくするので、分類などに十分な情報を保持できると理解しています。そのため質問者様と同様の理解を私はしています。その際、フィルター数を1.5倍にしたり、3倍にもできると思います。どれくらいがよいかはその課題によるはずです。
層の数についても同様で、特にここで3であるはっきりとした理由はなく、単に、この課題に関しては3に設定することでよい結果が得られた、と考えています。

  3 Comments

ssk
2019 年 7 月 28 日
Itakuraさま
ご回答ありがとうございます。やはり課題ごとに層やフィルターの数を試行錯誤でかえていく必要があるのですね。
一点だけ追加質問がございまして、チャンネル方向に大きくするという概念がうまく飲み込めていないのですが、フィルター数を増やすことでチャンネルが長くなる(チャンネルの厚みが増す)といったイメージでしょうか?
Kenta Itakura
2019 年 7 月 28 日
はい、そうですね、自分で設計したいときはいろんな要素を試行錯誤する必要があると思います。
はい、フィルター数を増やすことで、チャンネル方向に長くなります。
ssk
2019 年 7 月 28 日
ありがとうございました。深く理解できました!

Sign in to comment.