This a tensorflow implementation of VICReg - a self-supervised learning architecture that prevents collapse in an intuitive manner using a loss function that 1. maintains the variance of each embedding over a batch above a threshold and 2. decorrelating pairs of embeddings over a batch and attracting them to 0. Training was done using TPU on colab