lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: Partition an image into multiple tiles and then shuffle these tiles. The model is then tasked with un-shuffling the tiles back to the original configuration. (Noorozi & Favaro, 2016)
French: Partitionner une image en plusieurs tuiles et mélanger ces tuiles. Le modèle est ensuite chargé de rétablir la configuration d’origine des tuiles (Noorozi & Favaro, 2016).
English: This is done by creating batches of tiles such that each tile of an image is evaluated independently. The convolution output are then concatenated and the permutation is predicted as in figure below
French: Cela se fait en créant des lots de tuiles de telle sorte que chaque tuile d’une image soit évaluée indépendamment. Les sorties de convolution sont ensuite concaténées et la permutation est prédite comme dans la figure ci-dessous :
English: It is helpful to evaluate the pretext learning on a multitude of different tasks. We can do so by extracting the representation created by different layers in the network as fixed features and evaluating their usefulness across these different tasks.
French: Il est utile d’évaluer l’apprentissage prétexte sur une multitude de tâches différentes. Nous pouvons le faire en extrayant la représentation créée par les différentes couches du réseau en tant que caractéristiques fixes et en évaluant leur utilité à travers ces différentes tâches.
English: Pretext task generally comprises of pretraining steps which is self-supervised and then we have our transfer tasks which are often classification or detection. We hope that the pretraining task and the transfer tasks are “aligned”, meaning, solving the pretext task will help solve the transfer tasks very well. So, a lot of research goes into designing a pretext task and implementing them really well.
French: La tâche de prétexte comprend généralement des étapes de pré-entraînement qui sont autosupervisées. Puis nous avons nos tâches de transfert qui sont souvent de classification ou de détection. Nous espérons que la tâche de pré-entraînement et les tâches de transfert sont « alignées », c’est-à-dire que la résolution de la tâche de prétexte aide à résoudre notre tâche de transfert. Ainsi, beaucoup de recherches sont nécessaires afin de concevoir une tâche de prétexte et la mettre en œuvre de façon optimale.
English: However, it is very unclear why performing a non-semantic task should produce good features?. For example, why should we expect to learn about “semantics” while solving something like Jigsaw puzzle? Or why should “predicting hashtags” from images be expected to help in learning a classifier on transfer tasks? Therefore, the question remains. How should we design good pre-training tasks which are well aligned with the transfer tasks?
French: Cependant, il est très difficile de savoir pourquoi l’exécution d’une tâche non sémantique produit de bonnes caractéristiques. Par exemple, pourquoi devrions-nous nous attendre à apprendre la « sémantique » tout en résolvant quelque chose comme un puzzle ? Ou pourquoi prédire les mots-dièse à partir d’images aide à apprendre un classifieur sur des tâches de transfert ? Comment concevoir de bonnes tâches de pré-entraînement qui soient bien alignées avec les tâches de transfert ?
English: One way to evaluate this problem is by looking at representations at each layer (refer Fig. 1). If the representations from the last layer are not well aligned with the transfer task, then the pretraining task may not be the right task to solve.
French: Une façon d’évaluer ce problème est d’examiner les représentations à chaque couche (voir figure 1). Si les représentations de la dernière couche ne sont pas bien alignées avec la tâche de transfert, alors la tâche de pré-entraînement peut ne pas être la bonne tâche à résoudre.
English: Fig. 2 plots the Mean Average Precision at each layer for Linear Classifiers on VOC07 using Jigsaw Pretraining. It is clear that the last layer is very specialized for the Jigsaw problem.
French: La figure 2 représente la précision moyenne à chaque couche pour des classifieurs linéaires sur le jeu de données VOC07 avec un pré-entraînement Jigsaw. Il est clair que la dernière couche est très spécialisée pour le problème Jigsaw.
English: Two ways to achieve the above properties are Clustering and Contrastive Learning. They have started performing much better than whatever pretext tasks that were designed so far. One method that belongs to clustering is ClusterFit and another falling into invariance is PIRL.
French: Deux moyens d’atteindre les propriétés ci-dessus sont le clustering et l’apprentissage contrastif. Ils ont commencé à fonctionner bien mieux que les tâches de prétexte conçues jusqu’à présent. Une méthode qui appartient au clustering est ClusterFit et une autre qui tombe dans l’invariance est PIRL.
English: We take a pretrained network and use it to extract a bunch of features from a set of images. The network can be any kind of pretrained network. K-means clustering is then performed on these features, so each image belongs to a cluster, which becomes its label.
French: Nous prenons un réseau pré-entraîné et l’utilisons pour extraire un ensemble de caractéristiques d’un ensemble d’images. Le réseau peut être n’importe quel type de réseau pré-entraîné. Les KK-means sont alors effectués sur ces caractéristiques, de sorte que chaque image appartient à un cluster qui devient son label.
English: A standard pretrain and transfer task first pretrains a network and then evaluates it in downstream tasks, as it is shown in the first row of Fig. 5. ClusterFit performs the pretraining on a dataset Dcf​ to get the pretrained network Npre​. The pretrained network Npre​ are performed on dataset Dcf to generate clusters. We then learn a new network Ncf​ from scratch on this data. Finally, use Ncf for all downstream tasks.
French: Une tâche standard de pré-entraînement et de transfert pré-entraîne d’abord un réseau et l’évalue ensuite sur des tâches en aval, comme le montre la première ligne de la figure 5. ClusterFit effectue le pré-entraînement sur un jeu de données Dcf pour obtenir le réseau pré-entraîné Npre​. Le pré-entraînement Npre​ est effectué sur un jeu de données Dcf​ pour générer des clusters. Nous apprenons ensuite un nouveau réseau Ncf​ à partir de zéro sur ces données. Enfin, on utilise Ncf​ pour toutes les tâches en aval.
English: The reason why ClusterFit works is that in the clustering step only the essential information is captured, and artefacts are thrown away making the second network learn something slightly more generic.
French: La raison pour laquelle ClusterFit fonctionne est que lors de l’étape de clustering, seules les informations essentielles sont saisies et les artefacts sont jetés, ce qui permet au second réseau d’apprendre quelque chose de légèrement plus générique.
English: To understand this point, a fairly simple experiment is performed. We add label noise to ImageNet-1K, and train a network based on this dataset. Then, we evaluate the feature representation from this network on a downstream task on ImageNet-9K. As it is shown in Fig. 6, we add different amounts of label noise to the ImageNet-1K, and evaluate the transfer performance of different methods on ImageNet-9K.
French: Pour comprendre ce point, une expérience assez simple est réalisée. Nous ajoutons un bruit de label à ImageNet-1K et entraînons un réseau basé sur ce jeu de données. Ensuite, nous évaluons la représentation des caractéristiques de ce réseau sur une tâche en aval sur ImageNet-9K. Comme le montre la figure 6, nous ajoutons différentes quantités de bruit de label au réseau ImageNet-1K et nous évaluons les performances de transfert de différentes méthodes sur ImageNet-9K.
English: The pink line shows the performance of pretrained network, which decreases as the amount of label noise increases. The blue line represents model distillation where we take the initial network and use it to generate labels. Distillation generally performs better than pretrained network. The green line, ClusterFit, is consistently better than either of these methods. This result validates our hypothesis.
French: La ligne rose indique les performances du réseau pré-entraîné, qui diminuent à mesure que le bruit du label augmente. La ligne bleue représente la distillation du modèle où nous prenons le réseau initial et l’utilisons pour générer des labels. La distillation est généralement plus performante que le réseau pré-entraîné. La ligne verte, ClusterFit, est toujours meilleure que l’une ou l’autre de ces méthodes. Ce résultat valide notre hypothèse.
English: In model distillation we take the pre-trained network and use the labels the network predicted in a softer fashion to generate labels for our images. For example, we get a distribution over all the classes and use this distribution to train the second network. The softer distribution helps enhance the initial classes that we have. In ClusterFit we don’t care about the label space.
French: Dans la distillation de modèle, nous prenons le réseau pré-entraîné et utilisons les labels que le réseau a prédits de manière plus douce pour générer des labels pour nos images. Par exemple, nous obtenons une répartition sur toutes les classes et utilisons cette répartition pour entraîner le second réseau. La distribution plus douce permet d’améliorer les classes initiales que nous avons. Dans ClusterFit, nous ne nous soucions pas de l’espace du label.
English: We apply this method to self-supervised learning. Here Jigsaw is applied to obtain the pretrained network NpreNpre​ in ClusterFit. From Fig. 7 we see that the transfer performance on different datasets shows a surprising amount of gains, compared to other self-supervised methods.
French: Nous appliquons cette méthode à l’apprentissage autosupervisé. Ici, Jigsaw est appliqué pour obtenir le réseau pré-entraîné NpreNpre​ dans ClusterFit. La figure 7 montre que les performances de transfert sur différents jeux de données montrent des gains surprenants par rapport à d’autres méthodes autosupervisées.
English: ClusterFit works for any pre-trained network. Gains without extra data, labels or changes in architecture can be seen in Fig. 8. So in some way, we can think of the ClusterFit as a self-supervised fine-tuning step, which improves the quality of representation.
French: ClusterFit fonctionne pour tout réseau pré-entraîné. Les gains sans données supplémentaires, labels ou changements d’architecture sont visibles dans la figure 8. D’une certaine manière, on peut donc considérer ClusterFit comme une étape de finetuning autosupervisée améliorant la qualité de la représentation.
English: Features for each of these data points would be extracted through a shared network, which is called Siamese Network to get a bunch of image features for each of these data points. Then a contrastive loss function is applied to try to minimize the distance between the blue points as opposed to, say, the distance between the blue point and the green point. Or the distance basically between the blue points should be less than the distance between the blue point and green point or the blue point and the purple point. So, embedding space from the related samples should be much closer than embedding space from the unrelated samples. So that’s the general idea of what contrastive learning is and of course Yann was one of the first teachers to propose this method. So contrastive learning is now making a resurgence in self-supervised learning pretty much a lot of the self-supervised state of the art methods are really based on contrastive learning.
French: Les caractéristiques de chacun de ces points de données sont extraites par le biais d’un réseau partagé, appelé réseau siamois. Ensuite, une fonction de perte contrastive est appliquée pour essayer de minimiser la distance entre les points bleus par opposition, par exemple, à la distance entre le point bleu et le point vert. Ou du moins la distance entre les points bleus devrait être inférieure à la distance entre le point bleu et le point vert ou bien entre le point bleu et le point violet. Ainsi, l’espace d’enchâssement des échantillons apparentés doit être beaucoup plus proche que l’espace d’enchâssement des échantillons non apparentés. C’est l’idée générale de ce qu’est l’apprentissage contrastif dont Yann a été l’un des premiers à proposer le principe. L’apprentissage contrastif fait donc un retour en force dans l’apprentissage autosupervisé puisqu’une grande partie des méthodes de pointe dans le domaine sont basées sur l’apprentissage contrastif.
English: And the main question is how to define what is related and unrelated. In the case of supervised learning that’s fairly clear all of the dog images are related images, and any image that is not a dog is basically an unrelated image. But it’s not so clear how to define the relatedness and unrelatedness in this case of self-supervised learning. The other main difference from something like a pretext task is that contrastive learning really reasons a lot of data at once. If you look at the loss function, it always involves multiple images. In the first row it involves basically the blue images and the green images and in the second row it involves the blue images and the purple images. But as if you look at a task like say Jigsaw or a task like rotation, you’re always reasoning about a single image independently. So that’s another difference with contrastive learning: contrastive learning reasons about multiple data points at once.
French: La question principale est de savoir comment définir ce qui est lié et ce qui ne l’est pas. Dans le cas de l’apprentissage supervisé, il est assez clair que toutes les images de chiens sont des images liées et toute image qui n’est pas un chien est fondamentalement une image non liée. Mais il n’est pas aussi clair de définir ce qui est lié et ce qui ne l’est pas dans le cas d’apprentissage autosupervisé. L’autre grande différence avec une tâche de prétexte est que l’apprentissage contrastif raisonne avec vraiment beaucoup de données à la fois. La fonction de perte implique toujours plusieurs images. Dans la première ligne, il s’agit essentiellement d’images bleues et d’images vertes, et dans la deuxième ligne, d’images bleues et d’images violettes. Mais pour une tâche de prétexte comme par exemple Jigsaw ou la rotation, nous raisonnons toujours sur une seule image de manière indépendante. C’est donc une autre différence : l’apprentissage contrastif raisonne sur plusieurs points de données à la fois.
English: Similar techniques to what was discussed earlier could be used: frames of video or sequential nature of data. Frames that are nearby in a video are related and frames, say, from a different video or which are further away in time are unrelated. And that has formed the basis of a lot of self- supervised learning methods in this area. This method is called CPC, which is contrastive predictive coding, which relies on the sequential nature of a signal and it basically says that samples that are close by, like in the time-space, are related and samples that are further apart in the time-space are unrelated. A fairly large amount of work basically exploiting this: it can either be in the speech domain, video, text, or particular images. And recently, we’ve also been working on video and audio so basically saying a video and its corresponding audio are related samples and video and audio from a different video are basically unrelated samples.
French: On pourrait utiliser des techniques similaires à celles qui ont été évoquées précédemment : des images vidéo ou la nature séquentielle des données. Les images qui sont proches dans une vidéo sont liées et les images d’une autre vidéo ou qui sont plus éloignées dans le temps ne sont pas liées. Ces techniques ont constitué la base de nombreuses méthodes d’apprentissage autosupervisées dans ce domaine. Cette méthode est appelée CPC (codage prédictif contrastif) et repose sur la nature séquentielle d’un signal. Les échantillons qui sont proches, comme dans l’espace-temps, sont liés et les échantillons qui sont plus éloignés dans l’espace-temps ne sont pas liés. Une quantité assez importante de travaux exploite ce principe : il peut s’agir de la parole, de la vidéo, du texte ou d’images. Récemment, des travaux ont porté sur la vidéo et l’audio, ce qui signifie qu’une vidéo et son audio correspondant sont des échantillons liés et que la vidéo et l’audio d’une autre vidéo sont des échantillons non liés.
English: Some of the early work, like self-supervised learning, also uses this contrastive learning method and they really defined related examples fairly interestingly. You run a tracked object tracker over a video and that gives you a moving patch and what you say is that any patch that was tracked by the tracker is related to the original patch. Whereas, any patch from a different video is not a related patch. So that basically gives out these bunch of related and unrelated samples. In figure 11(c), you have this like distance notation. What this network tries to learn is basically that patches that are coming from the same video are related and patches that are coming from different videos are not related. In some way, it automatically learns about different poses of an object. It tries to group together a cycle, viewed from different viewing angles or different poses of a dog.
French: En passant un tracker d’objets sur une vidéo cela nous donne un patch mobile. Tout patch qui a été suivi par le tracker est lié au patch original. En revanche, tout patch provenant d’une autre vidéo n’est pas un patch apparenté. Cela donne donc un ensemble d’échantillons liés et non liés. Cette notation de distance est visible dans la figure 11(c). Le réseau essaie d’apprendre que les patchs provenant d’une même vidéo sont liés et que les patchs provenant de vidéos différentes ne sont pas liés. D’une certaine manière, il apprend automatiquement les différentes poses d’un objet. Il essaie de regrouper ensemble les images de vélo vu sous différents angles de même pour les images de chien.
English: In general, talking about images, a lot of work is done on looking at nearby image patches versus distant patches, so most of the CPC v1 and CPC v2 methods are really exploiting this property of images. So image patches that are close are called as positives and image patches that are further apart are translated as negatives, and the goal is to minimize the contrastive loss using this definition of positives and negatives.
French: Les méthodes CPCv1 et CPCv2 exploitent la distance entre deux patchs dans une image donnée. Ainsi, les patchs d’images proches sont appelés positifs et les patchs d’images plus éloignés sont appelées négatifs. Le but est de minimiser la perte contrastive en utilisant cette définition de positifs et de négatifs.
English: The more popular or performant way of doing this is to look at patches coming from an image and contrast them with patches coming from a different image. This forms the basis of a lot of popular methods like instance discrimination, MoCo, PIRL, SimCLR. The idea is basically what’s shown in the image. To go into more details, what these methods do is to extract completely random patches from an image. These patches can be overlapping, they can actually become contained within one another or they can be completely falling apart and then apply some data augmentation. In this case, say, a colour chattering or removing the colour or so on. And then these two patches are defined to be positive examples. Another patch is extracted from a different image. And this is again a random patch and that basically becomes your negatives. And a lot of these methods will extract a lot of negative patches and then they will basically perform contrastive learning. So there are relating two positive samples, but there are a lot of negative samples to do contrastive learning against.
French: La façon la plus populaire ou la plus performante de procéder consiste à regarder les patchs provenant d’une image et à les mettre en contraste avec les patchs provenant d’une autre image. Ceci constitue la base de nombreuses méthodes populaires comme la discrimination d’instance, MoCo, PIRL, SimCLR. L’idée est essentiellement ce qui est montré dans la figure 13. Pour aller plus dans les détails, ces méthodes consistent à extraire d’une image des taches complètement aléatoires. Ces patchs peuvent se chevaucher, être contenus les uns dans les autres ou s’effondrer complètement, puis appliquer une augmentation des données. Dans ce cas, par exemple, flouter une couleur ou en enlever une. Ces deux taches sont alors définies comme des exemples positifs. Un autre patch est extrait d’une image différente. Il s’agit là encore d’une tache aléatoire qui sert à créer nos négatifs. Beaucoup de ces méthodes extraient énormément d’exemples négatifs et puis effectuent un apprentissage contrastif.
English: Invariance has been the word course for feature learning. Something like SIFT, which is a fairly popular handcrafted feature where we inserted here is transferred invariant. And supervise networks, for example, supervised Alex nets, they’re trained to be invariant data augmentation. You want this network to classify different crops or different rotations of this image as a tree, rather than ask it to predict what exactly was the transformation applied for the input.
French: L’invariance a été le mot d’ordre pour l’apprentissage des caractéristiques. Les réseaux supervisés, comme par exemple AlexNet, sont entraînés à être invariants à l’augmentation des données. Vous voulez que le réseau classifie différentes générations ou différentes rotations d’une image plutôt que de lui demander de prédire quelle a été la transformation appliquée à l’entrée.
English: This is what inspired PIRL. So PIRL stands for pretext invariant representation learning, where the idea is that you want the representation to be invariant or capture as little information as possible of the input transform. So you have the image, you have the transformed version of the image, you feed-forward both of these images through a ConvNet, you get a representation and then you basically encourage these representations to be similar. In terms of the notation referred earlier, the image I and any pretext transformed version of this image It are related samples and any other image is underrated samples. So in this way when you frame this network, representation hopefully contains very little information about this transform t. And assume you are using contrastive learning. So the contrastive learning part is basically you have the saved feature vI​ coming from the original image i and you have the feature vIt​ coming from the transform version and you want both of these representations to be the same. And the book paper we looked at is two different states of the art of the pretext transforms, which is the jigsaw and the rotation method discussed earlier. In some way, this is like multitask learning, but just not really trying to predict both designed rotation. You’re trying to be invariant of Jigsaw rotation.
French: PIRL est l’acronyme de « Pretext Invariant Representation Learning », où nous souhaitons que la représentation soit invariante ou capture le moins d’informations possible de la transformation d’entrée. Ainsi, nous avons l’image, la version transformée de cette image et donnons ces deux images à un ConvNet. Nous obtenons des représentations et les encourageons à être similaires. En ce qui concerne la notation mentionnée plus haut, l’image i et toute version transformée de cette image It sont des échantillons apparentés et toute autre image est un échantillon non lié. Nous espérons alors que la représentation contient très peu d’informations sur la transformée t. La partie liée à l’apprentissage contrastif consiste donc à avoir la caractéristique sauvegardée vI​ provenant de l’image originale I et la caractéristique vIt​ provenant de la version transformée et à vouloir que ces deux représentations soient identiques. D’une certaine manière, c’est comme un apprentissage multitâche, mais sans vraiment essayer de prédire les deux rotations conçues. Ici nous essayons d’être invariant à la tâche de Jigsaw.