Building a NanoVLM from Scratch: Understanding Vision-Language Models and Contrastive Learning

*How do you teach a neural network that a picture of a red circle and the words “red circle” describe the same thing?*