Dropout Layer Before Fully connected Layer
4 ビュー (過去 30 日間)
古いコメントを表示
Abdussalam Elhanashi
2020 年 1 月 17 日
コメント済み: Abdussalam Elhanashi
2020 年 1 月 26 日
Hi guys
I am asking if it is possible to make dropout layer before FC layer
Example below:-
layers = [
imageInputLayer([64 64 3],"Name","imageinput","Normalization","none")
convolution2dLayer([5 5],4,"Name","conv_1","Padding","same")
reluLayer("Name","relu_1")
maxPooling2dLayer([2 2],"Name","maxpool_1","Padding","same","Stride",[2 2])
convolution2dLayer([3 3],8,"Name","conv_2","Padding","same")
reluLayer("Name","relu_2")
maxPooling2dLayer([2 2],"Name","maxpool_2","Padding","same","Stride",[2 2])
convolution2dLayer([3 3],32,"Name","conv_3","Padding","same")
reluLayer("Name","relu_3")
averagePooling2dLayer([2 2],"Name","avgpool2d_1","Padding","same","Stride",[2 2])
convolution2dLayer([3 3],64,"Name","conv_4","Padding","same")
reluLayer("Name","relu_4")
averagePooling2dLayer([2 2],"Name","avgpool2d_2","Padding","same","Stride",[2 2])
dropoutLayer(0.51,'Name','drop1')
fullyConnectedLayer(2,"Name","fc")
softmaxLayer("Name","softmax")
classificationLayer("Name","classoutput")];
Best,
0 件のコメント
採用された回答
Shashank Gupta
2020 年 1 月 20 日
Hi Abdussalam,
Yes, you can use Dropout layer before the fully connected layer, Dropout is just a regularization technique for preventing overfitting in the network, it can be applied anywhere regardless of FC or Conv but again it is generally recommended to use it after FC layer because they are the ones with the greater number of parameter and thus they are likely to excessively co-adapting themselves causing Overfitting.
However, it’s a stochastic regularization technique, you can really place it everywhere. Usually placed on the layer with a greater number of parameters, but no denies you from applying anywhere.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Web Services についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!