I am trying to apply an autoencoder for feature extraction with the input like I=[x1,x2,x3,...,xn]. Representing the latent code after encoding as L, I want to improve the influence of one element of the input, such as x1, on L. My intention is that when x2,x3,...,xn remain constant, a small change in x1 can lead to a huge change in the code L. So what kind of autoencoder structure should be adopted to achieve this purpose? Thanks.


1 Answer 1


You could add a new term to the loss that enforces precisely what you said: compute a modified version of the batch adding a very small variation to the $x_1$ component, compute the distance $D$ between the latent code of the original batch and the variation and add a new term to the loss in the lines of $L_D = 1/D$.

To combine the original loss and the new term, you can add them together with a weight $L + \alpha L_D$. To determine $\alpha$, you can try with different values, ensuring that the gradients of each term are not too different in magnitude.

  • $\begingroup$ You could also add weights for the reconstruction of each individual feature $\endgroup$
    – Ggjj11
    Jan 19 at 11:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.