Developer Guide for Intel® Data Analytics Acceleration Library 2018
The forward two-dimensional (2D) convolution layer applies a set of nKernels 2D kernels K of size m 3 x m 4 to the input tensor X. The library supports four-dimensional input tensors X ∈ R n 1 x n 2 x n 3 x n 4 . Therefore, the following formula applies:
For more details, see Forward 2D Convolution Layer.
The backward 2D convolution layer computes the derivatives of the objective function E:
Without loss of generality, let's assume that convolution kernels are applied to the last two dimensions.
Given:
Four-dimensional tensor G ∈ R n 1 x nKernels x l 3 x l 4 with the gradient from the preceding layer
Four-dimensional tensor K ∈ R nKernels x m 2 x m 3 x m 4 with kernel parameters/weights of kernels (convolutions)
For the above tensors:
and
p
i
is the
respective padding.
nGroups is defined as follows: let's assume that n 2 is the group dimension in the input tensor for the forward 2D convolution layer. The output gradient tensor is split along this dimension into nGroups groups, and the input gradient tensor and weights tensor are split into nGroups groups along the nKernels dimension. nKernels and n 2 must be multiples of nGroups.
The problem is to compute:
Four-dimensional tensor Z ∈ R n 1 x n 2 x n 3 x n 4 such that:
Values:
In the above formulas:
s 3 and s 4 are strides