https://medium.com/@monocosmo77/how-contrastive-learning-works-part1-machine-learning-2023-f8f3048654a6