From Perception to Programs: Regularize, Overparameterize, and Amortize