https://medium.com/@monocosmo77/new-progress-in-the-use-of-kl-divergence-part1-machine-learning-b8bf1f1b2336