January 12, 2018 | Vincent Dumoulin and Francesco Visin
This guide provides an overview of convolution arithmetic in deep learning, explaining the relationship between convolutional and transposed convolutional layers. It covers discrete convolutions, pooling, and transposed convolutions, detailing how input shape, kernel shape, zero padding, and strides affect output shape. The guide explains how to calculate output sizes for different convolutional and pooling operations, including cases with and without zero padding and varying strides. It also discusses transposed convolutions, which are used to reverse the operation of regular convolutions, and provides formulas for calculating output sizes in these cases. The guide is applicable to all commonly used machine learning frameworks and is based on the assumption that the relationships derived apply to any implementation. The guide also includes examples and diagrams to illustrate the concepts.This guide provides an overview of convolution arithmetic in deep learning, explaining the relationship between convolutional and transposed convolutional layers. It covers discrete convolutions, pooling, and transposed convolutions, detailing how input shape, kernel shape, zero padding, and strides affect output shape. The guide explains how to calculate output sizes for different convolutional and pooling operations, including cases with and without zero padding and varying strides. It also discusses transposed convolutions, which are used to reverse the operation of regular convolutions, and provides formulas for calculating output sizes in these cases. The guide is applicable to all commonly used machine learning frameworks and is based on the assumption that the relationships derived apply to any implementation. The guide also includes examples and diagrams to illustrate the concepts.