Overparameterization and double descent in PCA, GANs, and Diffusion models