SpatialDropoutLayer - Spatial dropout layer - MATLAB (original) (raw)

Spatial dropout layer

Since R2024a

Description

A spatial dropout layer randomly selects input channels with a given probability, and sets all its elements to zero during training.

Creation

Syntax

Description

`layer` = spatialDropoutLayer creates a spatial dropout layer.

`layer` = spatialDropoutLayer(`Name=Value`) sets the optional Probability and Name properties using name-value arguments. For example,spatialDropoutLayer(Probability=0.25) creates a spatial dropout layer with dropout probability 0.25. spatialDropoutLayer(Name="spat1") creates a spatial dropout layer with name "spat1".

example

Properties

expand all

Dropout

Probability for dropping out all input elements in a channel, specified as a nonnegative number less than 1.

For an input of size [sizeDim1,...,sizeCDim, sizeBDim,...,sizeDimN], where sizeCDim is the number of channels, and sizeBDim is the batch size, a dropout mask is created using rand([1,...,sizeCDim, sizeBDim,...,1])<Probability. The input to the rand function is a vector of ones except at the locations of the channel dimension and the batch dimension. At training time, the layer randomly sets all the input elements to zero according to the dropout mask. It then scales the remaining elements by 1/(1-Probability). This operation effectively improve generalization performance by preventing activations from becoming strongly correlated [1], and helps prevent the network from overfitting. A higher probability results in more elements being dropped during training. At prediction time, the output of the layer is equal to its input.

Example: 0.4

Layer

Data Types: char | string

This property is read-only.

Number of inputs to the layer, stored as 1. This layer accepts a single input only.

Data Types: double

This property is read-only.

Input names, stored as {'in'}. This layer accepts a single input only.

Data Types: cell

This property is read-only.

Number of outputs from the layer, stored as 1. This layer has a single output only.

Data Types: double

This property is read-only.

Output names, stored as {'out'}. This layer has a single output only.

Data Types: cell

Examples

collapse all

Create a spatial dropout layer with name "spat_drop1" and dropout probability 0.25.

layer = spatialDropoutLayer(Name="spat_drop1",Probability=0.25)

layer = SpatialDropoutLayer with properties:

       Name: 'spat_drop1'
Probability: 0.2500

Learnable Parameters No properties.

State Parameters No properties.

Show all properties

Include a spatial dropout layer in a Layer array.

layers = [ ... imageInputLayer([28 28 1]) convolution2dLayer(5,20) reluLayer spatialDropoutLayer fullyConnectedLayer(10) softmaxLayer]

layers = 6×1 Layer array with layers:

 1   ''   Image Input       28×28×1 images with 'zerocenter' normalization
 2   ''   2-D Convolution   20 5×5 convolutions with stride [1  1] and padding [0  0  0  0]
 3   ''   ReLU              ReLU
 4   ''   Spatial Dropout   Spatial Dropout
 5   ''   Fully Connected   10 fully connected layer
 6   ''   Softmax           softmax

References

[1] Jonathan Tompson, Ross Goroshin, Arjun Jain, Yann LeCun, and Christoph Bregler. "Efficient Object Localization Using Convolution Networks." arXiv preprint arXiv:1411.4280v3 (2015)

Extended Capabilities

Version History

Introduced in R2024a