Transposed Convolutional Layer is doing the following:
- Stretch Image by inserting rows and columns with zeros.
- Perform regular convolution
You can think of it as a fractional stride, for example, 1/2.
This is often used when doing semantic segmentation, where you want to classify each pixel of an image to a certain class. In order to do that, you first want to down-sample your image to a smaller size to increase classification accuracy, then up-sample so that the output size would be the same as your input image.
Transposed Convolutional Layer would be used during that up-sampling phase.
References:
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow, 2nd Edition