high-level structure | v generated data Generation: top -> bottom Inference: bottom -> top