Real data | v Learn its probabilistic structure | v Model Distribution | +--> evaluate data probability | +--> generate new samples