2D Stochastic Pooling Backward Layer

At the training stage, the forward two-dimensional (2D) stochastic pooling layer is a form of non-linear downsampling of an input tensor XR n 1 x n 2 x ... x n p with non-negative elements x i 1...i p . The layer partitions the input tensor data into 2D subtensors along dimensions k 1 and k 2 and selects an element in each subtensor using sampling from a multinomial distribution. Probabilities required in the distribution are calculated by normalizing the subtensor. In the output, the selected element replaces the entire subtensor. For more details, see Forward 2D Stochastic Pooling Layer.

The backward 2D stochastic pooling layer computes the derivatives of the objective function E as the sum of input gradients that correspond to the elements pooled from subtensors in the forward step.

Problem Statement


  • The tensor GR l 1 x ... x l p with the input gradient

  • Dimensions k 1 and k 2 along which kernels are applied

  • Kernel sizes m 1 and m 2:

    where p 1 and p 2 are paddings

The problem is to compute the value tensor ZR n 1 x ... x n p as follows:


  • s 1 and s 2 are strides

For more complete information about compiler optimizations, see our Optimization Notice.
Select sticky button color: 
Orange (only for download buttons)