likelihood = self.observation_model.observation_model
mean_module_name, mean_module = [(name, module) for (name, module) in self.observation_model.latent_distributions.items() if isinstance(module,Mean)][0]
kernel_module_name, kernel_module = [(name, module) for (name, module) in self.observation_model.latent_distributions.items() if isinstance(module,Kernel)][0]
// Optimize the latent distribution/likelihood hyperparameters
// w.r.t. the marginal likelihood