Semantic Segmentation using Deep Learning: Does MATLAB's SegNet implementation support dropout layers?

3 views (last 30 days)
MATLAB introduced SegNet in 2017b with segnetLayers. I would like to add dropout layer (s) to reduce over fitting. Does MATLAB's SegNet support this? If so, where should the layers be added?
Some SegNet architectures support dropout layers such as Bayesian SegNet. How could MATLAB's SegNet be transformed into this? If this is not easily doable, should we expect to see this added in 2018a?
For reference, here are the layers , connections, and a visualization for my problem.
I'd greatly appreciate any help you may provide!

Answers (2)

Arthur Fernandes
Arthur Fernandes on 7 Nov 2017
Hi Chase, I'm working on something similar here. From my understanding in DNN you can use dropout layers after your connected layers. The dropout will randomly select some of the output from the previous layer to go as input on the next layer. So, you can use it after ReLU layers or fully connected layers in the end of the process of image segmentation. Now from the documentation in MATLAB seen like the vgg16 for classification (not segmentation) is doing something in this sense. https://www.mathworks.com/help/nnet/ref/vgg16.html
Hope this helps.

Eric Psota
Eric Psota on 1 Jan 2018
Edited: Eric Psota on 1 Jan 2018
I've also been experimenting with dropouts in a SegNet-like architecture. You can put them in after the each of the convolutional layers (side note: the DenseNet paper recommends not using them after the first convolution), and this will probably help with overfitting. The problem is that, when using for testing, the dropout is removed and all the values propagated along the network get amplified. The proper thing to do, if using a 50% dropout, would be to scale the convolutional coefficients by 0.5 after training is complete. I could be wrong, but it doesn't look like Matlab is doing this, hence the amplified values. For classification problems, amplification might not cause any problems, but this is certainly an issue with regression.

Categories

Find more on Parallel and Cloud 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!