Hi everyone,
I am building a simple 1-D autoencoder with fully connected networks. Can someone explain to me the pros and cons of (A) using the fully-connected layers themselves to downsample (i.e., set the inputs to 512 and the outputs to 256) versus (B) having the fully connected layer stay the same size (i.e., 512 to 512) and then using a pooling layer to downsample?   I feel like choice A would be better and more general because it wouldn’t have the oddities of the pooling layers. So I am not sure when/why the pooling layers are used.
Also, if I do use a pooling operator, I need one that doesn’t store the indices because I plan to use the encoder/decoder separately. So should I use a nn.AvgPool1d?  If, so how do I upsample in a simple way?
Thanks in advance!