A generative model that uses its own previous outputs to guide learning of different behavioral patterns.