The author presents a generative model that learns symmetries in data by modeling observations as random transformations of an invariant latent prototype.