# Why would an auto-encoder produce latent vectors with many zeros?

My autoencoder give latent vectors with many zeroes components like:

[3.0796502  2.9488854  0.9002177  0.         0.         0.
0.         0.         0.         1.0181859  0.         0.68507403
0.         0.6128702  0.         0.         0.         0.
0.         1.763725   0.         0.         0.         1.0947669
0.         1.5330162  0.         0.         0.         0.
0.         1.7434856  0.         0.         1.8942142  2.0379465
0.         0.         1.2500542  0.         0.         0.
0.         0.         0.         2.7917862  0.         0.
2.2105153  0.         0.         0.         1.5798858  0.
0.         3.7405093  0.8692952  0.01490922 0.         0.
2.8320081  0.         0.         0.        ]


Certain components are always zero, another not always. Why might this be happening? How can I figure this out?

• Ok, there was ReLu() activation on last layer of decoder. May 31 at 15:58
• Hello. Welcome to AI SE. If you solved your problem or you have the answer to your question, feel free to write a formal answer below ;)
– nbro
May 31 at 16:07