Developer Guide

Contents

One-Dimensional Max Pooling Backward Layer

The forward one-dimensional (1D) max pooling layer is a form of non-linear downsampling of an input tensor
X
R
n
1
x
n
2
x ... x
n
p
. 1D max pooling partitions the input tensor data into 1D subtensors along the dimension
k
, selects an element with the maximal numeric value in each subtensor, and transforms the input tensor to the output tensor
Y
by replacing each subtensor with its maximum element. For more details, see Forward 1D Max Pooling Layer.
The backward 1D max pooling layer back-propagates the input gradient
G
R
l
1
x ... x
l
p
computed on the preceding layer. The backward layer propagates to the next layer only the elements of the gradient that correspond to the maximum values pooled from subtensors in the forward computation step.

Problem Statement

Given:
  • p
    -dimensional tensor
    G
    R
    l
    1
    x ... x
    l
    p
    with the gradient computed on the preceding layer
  • Dimension
    k
    along which the kernel is applied
  • Kernel size
    m
    :
    where
    p
    is the padding
The problem is to compute the value tensor Z = (
z
i
1
...
i
p
) ∈
R
n
1
x ... x
n
p
such that:
where:
  • s
    is the stride
The following figure illustrates the transformation:
Backward One-dimensional Max Pooling Layer
If
m
>
s
and overlapping subtensors are represented with the same maximum located at the same position in the input tensor
X
, the gradient value
z
at this position is the sum of input gradients
g
at the respective positions, as shown in the following figure for
m
= 3 and
s
= 2:
Backward One-dimensional Max Pooling Layer, Subtensor Overlapping

Product and Performance Information

1

Intel's compilers may or may not optimize to the same degree for non-Intel microprocessors for optimizations that are not unique to Intel microprocessors. These optimizations include SSE2, SSE3, and SSSE3 instruction sets and other optimizations. Intel does not guarantee the availability, functionality, or effectiveness of any optimization on microprocessors not manufactured by Intel. Microprocessor-dependent optimizations in this product are intended for use with Intel microprocessors. Certain optimizations not specific to Intel microarchitecture are reserved for Intel microprocessors. Please refer to the applicable product User and Reference Guides for more information regarding the specific instruction sets covered by this notice.

Notice revision #20110804