https://medium.com/@monocosmo77/new-progress-in-the-use-of-kl-divergence-part3-machine-learning-6366f0a71230