Technical solutions are described to accelerate training of a multi-layer convolutional neural network. According to one aspect, a computer implemented method is described. A convolutional layer includes input maps, convolutional kernels, and output maps. The method includes a forward pass, a backward pass, and an update pass that each include convolution calculations. The described method performs the convolutional operations involved in the forward, the backward, and the update passes based on a first, a second, and a third perforation map respectively. The perforation maps are stochastically generated, and distinct from each other. The method further includes interpolating results of the selective convolution operations to obtain remaining results. The method includes iteratively repeating the forward pass, the backward pass, and the update pass until the convolutional neural network is trained. Other aspects such as a system, apparatus, and computer program product are also described.
Please help me write a proper abstract based on the patent claims. CLAIM: 1. A computer implemented method to train a convolutional neural network, the method comprising: receiving training data to train the convolutional neural network using one or more convolutional layers, in which each convolutional layer comprises input maps, convolutional kernels, and output maps; generating the output maps using a forward pass of a convolutional layer, the forward pass comprising convolution calculations of the input maps and the convolutional kernels, wherein the convolution calculations are selectively performed based on a first stochastically generated perforation map; determining gradients using a backward pass of the convolutional layer, the gradients determined based on a training error and a cost function associated with the convolutional neural network, the backward pass comprising convolution calculations of the output maps and the convolutional kernels, and wherein the convolution calculations are selectively performed based on a second stochastically generated perforation map; updating the convolutional kernels using an update pass of the convolutional layer, the update pass comprising convolution calculations of the input maps and output maps, wherein the convolution calculations are selectively performed based on a third stochastically generated perforation map; and iteratively repeating the forward pass, the backward pass, and the update pass until the convolutional neural network is trained. 2. The computer implemented method of claim 1, wherein the convolution calculations of the forward pass, the backward pass, and the update pass are performed on mini-batches of the training data, wherein the mini-batches are subsets of the training data. 3. The computer implemented method of claim 2, further comprising adjusting hyperparameters according to a perforation rate of the first, the second, and the third, stochastically generated perforation maps. 4. The computer implemented method of claim 2, wherein the first stochastically generated perforation map is a plurality of first perforation maps, wherein the forward pass uses a respective stochastically generated perforation map from the first perforation maps for each training sample. 5. The computer implemented method of claim 4, wherein a perforation map from the plurality of first perforation maps identifies spatial positions for which the forward pass skips performing convolution calculations and derives results using interpolation. 6. The computer implemented method of claim 5, wherein the second stochastically generated perforation map is a plurality of second perforation maps, wherein the backward pass uses a respective stochastically generated perforation map from the second perforation maps for each training sample. 7. The computer implemented method of claim 6, wherein a perforation map from the plurality of second perforation maps identifies spatial positions for which the backward pass skips performing the convolution calculations and derives results using interpolation. 8. The computer implemented method of claim 7, wherein the third stochastically generated perforation map is a plurality of third perforation maps, wherein the update pass uses a respective stochastically generated perforation map from the third perforation maps for each training sample. 9. The computer implemented method of claim 8, wherein a perforation map from the plurality of third perforation maps identifies spatial positions for which the update pass skips performing the convolution calculations and derives results using interpolation. 10. The computer implemented method of claim 9, wherein the first, the second, and the third perforation maps specify the interpolated elements of the forward, the backward, and the update pass respectively. 11. The computer implemented method of claim 9, wherein a subset of the first, the second, and the third perforation maps, do not contain perforated elements to skip the convolution calculations in the corresponding forward, backward, and update passes respectively. 12. The computer implemented method of claim 9, wherein the first, the second, or the third perforation maps identify spatial positions for perforation according to a predetermined perforation rate, wherein the spatial positions are selected via a randomized process. 13. The computer implemented method of claim 12, wherein the first, the second, or the third perforation maps identify spatial positions for perforation according to a gridded perforation pattern, wherein the origin of the gridded perforation pattern is randomly selected. 14. The computer implemented method of claim 9, wherein a subset of training epochs are performed with perforation according to the first, the second, and the third perforation maps, and other training epochs are performed without the perforation.