Monte Carlo Marginalization: A Differentiable Method to Learn High-Dimensional Distributions | Synapse