The different views \(\mathcal {X}_b^1, \mathcal {X}_b^2\)  are not the same as views in multi-view datasets [1]}. The views referred to in this paper correspond to different augmented views that are generated by image augmentation techniques, such as ‘RandomHorizontalFlip’, ‘RandomCrop’.
We explain the generation of multiple augmented views that are shown to be very effective in unsupervised learning [2]}. Indeed it is possible to use more than two augmented views, but we limit to two for the sake of simplicity. [3]} propose an augmentation technique (Multi-Crop) to use more than two views. In this work, we use the augmentations used in [2]}, [5]}.
We first crop a random patch of the image with scale ranging from 0.08 to 1.0, and resize the cropped patch to 224\(\times \) 224 (96\(\times \) 96 in the case of smaller resolution datasets such as STL10). The resulting image was then flipped horizontally with a probability of 0.5. We then apply color transformations, starting by applying gray-scale with a probability of 0.2 followed by randomly changing the brightness, contrast, saturation and hue with a probability of 0.8. Then we applied a Gaussian Blur with kernel size (23\(\times \) 23) and a sigma chosen uniformly randomly between 0.1 and 2.0. The probability of applying the Gaussian Blur was 1.0 for view 1 and 0.5 for view 2. During evaluation, we resized the image such that the smaller edge of the image is of size 256 (not required for STL, CIFAR10, CIFAR100-20), and a center crop is performed with the resolution mentioned in the main paper. We finally normalize the image channels with the mean and standard deviation computed on ImageNet. Additionally, during training, we also experimented with applying a Sobel filter after all the image augmentations are performed before the forward pass. Applying a Sobel filter reduces the number of channels of the input images to 2. We also experimented with augmenting the RGB images with the output of the Sobel transform, resulting in 5 channel input images. In both these cases, the input channels in the first convolution layer were modified accordingly. All image augmentations were computed using Pytorch's torchvision module available in version 1.7.1.
