To handle this, SimCLR and MoCO use large batch sizes to find the samples. The difference between SimCLR and MoCO is the way they deal with the large batch size. SimCLR uses 8192 as the batch size. However, MoCO tries to solve the requirement of a large batch size without actually using a large batch size by using a memory bank. It uses a small batch size but instead of using negative samples from only the current batch, it collects them even from previous batches. For example: with a 256 batch size, aggregating the previous 32 batches of negative samples results essentially in a batch size of 8192. This method saves memory and avoids the effort to generate the negative samples again and again.
Pour résoudre ce problème, SimCLR et MoCo utilisent des batchs de grande taille pour trouver les échantillons. La différence entre SimCLR et MoCo est la façon dont ils traitent la grande taille des batchs. SimCLR utilise une taille de batchs de 8192. Cependant, MoCo essaie de résoudre l’exigence d’une grande taille de batch sans en utiliser réellement une grâce à une banque mémoire. Au lieu d’utiliser des échantillons négatifs provenant uniquement du batch actuel, on en collecte dans les batchs précédents. Par exemple : pour un batch de taille 256, l’agrégation des 32 batchs précédents d’échantillons négatifs donne une taille de 8192. Cette méthode permet d’économiser de la mémoire et évite d’avoir à générer les échantillons négatifs encore et encore.