So, I've been looking into CycleGAN code from Kaggle written by Amy Jang and..... I came to this code where we are basically downsampling our supplied image which has an input size of [256, 256, 3]. . And we are basically using Conv2D for this task. . Does that mean that while we are reducing pixels from its length and width, we are essentially retaining out valuable information by passing it onto the channel of the image? or whats really happening over here?
Yes, that's essentially what's happening - you are reducing the height and width at each step, while increasing the number of filters. The top-level filters tend to pick up things like edges, and then as you go deeper into the convnet the filters are more abstract. If you were doing image recognition, the last layer would output the softmax for the different classes of images - "cat", "dog", etc. As this particular example is a U-net, the number of filters are reduced on the upscaling side of the U as you upscale the image back to the original height and width.