Learning Expressive Priors for Generalization and Uncertainty Estimation in Neural Networks