Discovering Discrete Distributed Representations with Iterative Competitive Learning