Autoencoder not learning well when have deeper layers
I am building a deep CNN autoencoder on time series data. When I experiment with different layers, I found something that I can not explain:
- when I have more layers, i.e. the encoder bottleneck layer will have smaller dimensions of the kernel and more layers for the decoder layers (because it is symmetric), I found the test performance (MSE) is increasing, the training error increasing as well. I was thinking more layers will have better encoding capability and should decrease the error, but the results are opposite.
- Also, when I decrease the dimension of the bottleneck to a certain level (say adding 5 layers to the encoder), the model seems not to learn at all, the validation loss basically is the same from the very first few epoch (only change slightly at the beginning). No matter how many kernels I use, the results are the same. But if I reduce the encoder layers, and make it shallower, it learns without any problem.
My structure of autoencoder is similar to this CNN autoencoder on tensorflow tutorial, with only the difference of adding more layers. Also, I am increasing the number of kernels with deeper layers instead of decreasing as the one shown on their website. Because I was thinking that the deeper the layers, your features are more high-level and specific that you need more kernels to capture them. Does this sound right?
Really hope I can get some suggestions here. Thanks in advance.
from Recent Questions - Stack Overflow https://ift.tt/3hkjgG1
https://ift.tt/eA8V8J
Comments
Post a Comment