Unsupervised learning by competing hidden units | Synapse