Unsupervised-Classification-with-Autoencoder
Unsupervised-Classification-with-Autoencoder copied to clipboard
Why should the classification function be designed like this?
trafficstars
Hello ardamavi, I find that two classification functions in "MNIST" and "DOG_CAT" are different. The function in "MNIST" is x+x*K.one_hot, whereas the function in "DOG_CAT" is x-x+K.one_hot. So I wonder
- Why should the classification function be designed like this? If the reason why x PLUS one-hot is to make the gradient propagate to the parameters of Encoder? (i.e., argmax is non-differentiable)
- Is there any paper about your implementation or these classification functions? Thank you!
PS: "MNIST": x+x*K.one_hot(K.argmax(x, axis=1), num_classes=num_class) "DOG_CAT": x-x+K.one_hot(K.argmax(x, axis=1), num_classes=num_class)