These generative approaches aim to solve the modeling problem of assigning higher probability mass to outputs that use reoccurring parts.
our learning algorithm uses caching as a way to constrain the search space for computational efficiency; the probabilities of the candidate outputs are assigned by a separate discriminative model.