  Transpose convolution has shown prominence in many deep learning
applications. However, transpose convolution layers are computationally
intensive due to the increased feature map size due to adding zeros after each
element in each row and column. Thus, convolution operation on the expanded
input feature map leads to poor utilization of hardware resources. The main
reason for unnecessary multiplication operations is zeros at predefined
positions in the input feature map. We propose an algorithmic-level
optimization technique for the effective transpose convolution implementation
to solve these problems. Based on kernel activations, we segregated the
original kernel into four sub-kernels. This scheme could reduce memory
requirements and unnecessary multiplications. Our proposed method was $3.09
(3.02) \times$ faster computation using the Titan X GPU (Intel Dual Core CPU)
with a flower dataset from the Kaggle website. Furthermore, the proposed
optimization method can be generalized to existing devices without additional
hardware requirements. A simple deep learning model containing one transpose
convolution layer was used to evaluate the optimization method. It showed $2.2
\times$ faster training using the MNIST dataset with an Intel Dual-core CPU
than the conventional implementation.
