lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: How do we add this noise as mentioned above? We here introduce reparameterisation trick. From above we know that, we sample from the Gaussian distribution, in order to obtain latent variable z~. However, this is problematic, because when we do gradient descent to train the VAE model, we don’t know how to do backpropagation through the sampling module.
French: Comment ajouter ce bruit comme mentionné ci-dessus ? Nous introduisons ici l’astuce de reparamétrisation. D’après ce qui précède, nous savons que nous échantillonnons à partir de la distribution gaussienne pour obtenir la variable latente z~. Cependant, cela pose problème car lorsque nous effectuons la descente de gradient pour entraîner le VAE, nous ne savons pas comment effectuer la rétropropagation à travers le module d’échantillonnage.
English: We can simply say that the new latent z is going to be μ which is the guess for the mean plus a epsilon that was sampled from a Gaussian whose amplitude is changed by the square root of the standard deviation v. So in this way, we can get gradients back flowing in these encoder.
French: Nous pouvons simplement dire que la nouvelle latente z sera μ qui est l’estimation de la moyenne plus un epsilon qui a été échantillonné à partir d’une gaussienne dont l’amplitude est modifiée par la racine carrée de l’écart type v. Ainsi, de cette manière, nous pouvons faire circuler les gradients dans ces encodeurs.
English: In Fig. 8 above, each bubble represents an estimated region of z~, and the arrows represent how the reconstruction term pushes each estimated value away from the others, which is explained more below.
French: Dans la figure 8 ci-dessus, chaque bulle représente une région estimée de z et les flèches représentent la façon dont le terme de reconstruction éloigne chaque valeur estimée des autres, ce qui est expliqué plus en détail ci-dessous.
English: To visualize the purpose of each term in the free energy, we can think of each estimated z value as a circle in 2d space, where the centre of the circle is μ and the surrounding area are the possible values of z determined by v.
French: Pour visualiser l’objectif de chaque terme de l’énergie libre, nous pouvons considérer chaque valeur estimée de z comme un cercle dans l’espace 2D, où le centre du cercle est μ et la zone environnante sont les valeurs possibles de z déterminées par v.
English: If there is an overlap between any two estimates of z~, (visually, if two bubbles overlap) this creates ambiguity for reconstruction because the points in the overlap can be mapped to both original inputs. The first term C(y,y~​) forces to reconstructing these bubbles to the correct locations.
French: S’il existe un chevauchement entre deux estimations de z (visuellement si deux bulles se chevauchent), cela crée une ambiguïté pour la reconstruction car les points du chevauchement peuvent être mis en correspondance avec les deux entrées originales. Le premier terme C(y,y~​) force à reconstruire ces bulles aux emplacements corrects.
English: However, if we use just the reconstruction loss, the estimates will continue to be pushed away from each other and the system could blow up. This is where the penalty term comes in.
French: Cependant, si nous utilisons uniquement la perte de reconstruction, les estimations continueront à s’éloigner les unes des autres et le système pourrait exploser. C’est là que le terme de pénalité entre en jeu.
English: The second term is the relative entropy (a measure of the distance between two distributions) between a Gaussian, with mean μ and variance v, and the standard normal distribution. If we expand this second term in the VAE loss function we get:
French: Le deuxième terme est l’entropie relative (une mesure de la distance entre deux distributions) entre une gaussienne de moyenne μ et de variance v, et la distribution normale standard. Si nous développons ce deuxième terme dans la fonction de perte VAE, nous obtenons :
English: From the left bottom plot in Fig. 8 above, we can see that this expression is minimized when vi​ is 1. Therefore our penalty loss will keep the variance of our estimated latent variables at around 1. Visually, this means our “bubbles” from above will have a radius of around 1.
French: D’après le graphique en bas à gauche de la figure 8 ci-dessus, nous pouvons voir que cette expression est minimisée lorsque vi​ est égal à 1. Par conséquent, notre perte de pénalité maintiendra la variance de nos variables latentes estimées autour de 1. Visuellement, cela signifie que nos “bulles” du dessus auront un rayon d’environ 1.
English: In this section, we covered the implementation of Generative models viz. Undercomplete Autoencoder, Denoising Autoencoders, Variational Autoencoders and Generative Adversarial Networks. We analyze these models from the perspective of the framework of Energy Based Models (EBM). In doing so, we realize that these generative models can be considered as extensions of EBMs and differ from each other with subtle architectural adjustments.
French: Dans cette section nous couvrons l’implémentation de modèles génératifs, à savoir les auto-encodeurs sous-complets, les auto-encodeurs débruieurs, les auto-encodeurs variationnels et les réseaux antagonistes génératifs. Nous analysons ces modèles du point de vue du cadre des modèles à base d’énergie (EBMs). Ce faisant, nous nous rendons compte que ces modèles génératifs peuvent être considérés comme des extensions des EBMs et qu’ils diffèrent les uns des autres par de subtils ajustements architecturaux.
English: Autoencoders are artificial neural networks trained in an unsupervised fashion that aim to learn representation of input data and then generate the data from the learned encoded representations. Autoencoders can be considered a special case of Amortized Inference where instead of finding the optimal latent to produce appropriate reconstruction of the input, we simply feed the output of encoder to decoder.
French: Les auto-encodeurs sont des réseaux neuronaux artificiels entraînés de manière non supervisée qui visent à apprendre la représentation des données d’entrée, puis à générer les données à partir des représentations codées apprises. Les auto-encodeurs peuvent être considérés comme un cas particulier d’inférence amortie où, au lieu de trouver la latente optimale pour produire une reconstruction appropriée de l’entrée, nous alimentons simplement la sortie de l’encodeur au décodeur.
English: In an autoencoder, when the dimension of hidden representation d, (30) is less than that of input size, N (784), it can be referred as Under Complete Autoencoder.
French: Dans un auto-encodeur, lorsque la dimension de la représentation cachée, d, (30) est inférieure à celle de la taille de l’entrée, N (784), on peut parler d’auto-encodeur sous-complet.
English: We are working with MNIST 28×28 images such that the transformation routine is defined from 784(=28×28)→30 under the encoder followed by decoder that maps 30→784. The images are normalized and pixel values ∈[−1,1]
French: Nous travaillons avec des images MNIST 28×28 de telle sorte que la routine de transfomation est définie de 784(=28×28)→30 sous l’encodeur suivi du décodeur qui fait correspondre 30→784. Les images sont normalisées et les valeurs des pixels ∈[−1,1].
English: If you notice there appears salt and pepper noise surrounding the center of images. This is due to the low spatial frequency along the region in the input image. The +1s and −1s in the noise cancel out to 0, resulting in their average contribution as 0. High-frequency regions appear around the central region as the digits in MNIST images are centered. The kernels with only noise indicate that the corresponding kernel collapsed or died.
French: Si vous remarquez qu’il apparaît un bruit de sel et de poivre entourant le centre des images, cela est dû à la faible fréquence spatiale le long de la région dans l’image d’entrée. Les +1 et −1 du bruit s’annulent à 0, ce qui fait que leur contribution moyenne est de 0. Des régions à haute fréquence apparaissent autour de la région centrale, car les chiffres des images MNIST sont centrés. Les noyaux avec seulement du bruit indiquent que le noyau correspondant s’est effondré ou est mort.
English: In Denoising Autoencoder, we take a sample from dataset, inject some noise such the autoencoder is forced to reproduce the original sample. Therefore, the aim is to learn the vector field that should transform corrupted sample back to denoised part. Here, we set d=500 which is greater than number of pixels actually utilized to represent the digits in images. (Over Complete AE)
French: Dans l’auto-encodeur débruiteur, nous prenons un échantillon d’un ensemble de données, nous injectons un certain bruit de sorte que l’auto-encodeur est obligé de reproduire l’échantillon original. Par conséquent, l’objectif est d’apprendre le champ vectoriel qui doit transformer l’échantillon corrompu en une partie débruitée. Ici, nous avons fixé d=500, ce qui est supérieur au nombre de pixels réellement utilisés pour représenter les chiffres dans les images (AE sur-complet).
English: 1. Employ do=nn.Dropout() to randomly turn neuron off i.e. some pixel values will result in 0. (Original image is composed of pixel values [−1,1])
French: 1. Employer do=nn.Dropout() pour désactiver aléatoirement le neurone, c’est-à-dire que certaines valeurs de pixel donneront 0. (L’image originale est composée de valeurs de pixel [−1,1]).
English: Again, let’s have a look at the kernels of the encoder. As you can see there is no salt and pepper noise as the surrounding region is no longer zero-mean and the kernel is forced to learn to ignore the region out of interest.
French: Encore une fois, regardons les noyaux de l’encodeur. Comme vous pouvez le voir, il n’y a pas de bruit poivre et sel car la région environnante n’est plus de moyenne zéro et le noyau est obligé d’apprendre à ignorer la région hors d’intérêt.
English: Recall that an Denoised Autoencoder is an Constrastive EBM that assigns low-energy to samples lying on the actual data manifold (observed during training). Now, to test this out we merge two digits (perform alpha composite) and pass through the autoencoder:
French: Rappelons qu’un DAE est un EBM constrastif qui attribue une faible énergie aux échantillons se trouvant sur la variété de données réel (observé pendant l’entraînement). Maintenant, pour tester cela, nous fusionnons deux chiffres (composite alpha) et passons par l’auto-encodeur :
English: Interestingly, the autoencoder fails to reconstruct the merged garbage input as it was not observed during training. Therefore, the autoencoder can be used to estimate how noisy a given input sample is.
French: Il est intéressant de noter que l’auto-encodeur ne parvient pas à reconstruire l’entrée des chiffres fusionnées car elle n’a pas été observée pendant l’entraînement. Par conséquent, l’auto-encodeur peut être utilisé pour estimer le degré de bruit d’un échantillon d’entrée donné.
English: Varitational Autoencoders are type of generative models, where we aim to represent latent attribute for given input as a probability distribution. The encoder produces μ and v such that a sampler samples a latent input z from these encoder outputs. The latent input z is simply fed to encoder to produce y^​ as reconstruction of y~.
French: Les auto-encodeurs variationnels sont un type de modèles génératifs où l’on cherche à représenter un attribut latent pour une entrée donnée sous la forme d’une distribution de probabilité. L’encodeur produit μ et v de sorte qu’un échantillonneur échantillonne une entrée latente z à partir de ces sorties d’encodeur. L’entrée latente z est simplement introduite dans l’encodeur pour produire y^​ comme reconstruction de y~.
English: Here, we consider the latent random variable as z belonging to a Gaussian with mean μ and variance y~. (Feel free to use any other distribution). Unlike before, we do not normalize the images.
French: Ici, nous considérons la variable latente aléatoire z appartenant à une gaussienne de moyenne μ et de variance y~. (N’hésitez pas à utiliser toute autre distribution). Contrairement à la version précédente, nous ne normalisons pas les images.
English: The last layer of encoder has an output of dimension 2d: first d values refer to means, μ and remaining d values are variances v. The decoder has a sigmoid activation for last layer to maintain output range [0,1].
French: La dernière couche de l’encodeur a une sortie de dimension 2d : les premières valeurs d font référence aux moyennes, μ et les dernières valeurs d sont des variances v. Le décodeur a une activation sigmoïde pour la dernière couche afin de maintenir l’intervalle de sortie [0,1].
English: During training, the reparameterise function is used for the reparameterisation trick: We cannot backpropagate through the sampler, we simply compute z=μ+ϵ⊙v
French: Pendant l’apprentissage, la fonction reparameterise est utilisée pour l’astuce de reparamétrage. Nous ne pouvons pas rétropropager à travers l’échantillonneur, nous calculons simplement z=μ+ϵ⊙v
English: To regularise the expressivity of the latent, we include KL-divergence between the Gaussian of latent variable and a Normal distribution (N(0,1)). (Also see Week 8-Practicum for bubble explanation of VAE loss)
French: Pour régulariser la variable latente, nous incluons la divergence KL entre la gaussienne de la variable latente et une distribution normale (N(0,1)). (Voir également la semaine 8 pour une explication sous forme de bulles de la perte VAE).
English: GANs have the same feel as DAE with some tweaks. DAE involves generating corrupt samples using the input and a distribution followed by denoising them using a decoder. GANs instead directly sample the distribution (without the input) to produce output y^​ using the Generator (or decoder in DAE terms). The input y and y^​ are provided to the Cost network separately to measure incompatibility between them.
French: Les GANs ont le même aspect que les DAEs avec quelques modifications. Le DAE implique la génération d’échantillons corrompus à partir de l’entrée et d’une distribution, suivie d’un débruitage à l’aide d’un décodeur. Au lieu de cela, les GANs échantillonnent directement la distribution (sans l’entrée) pour produire une sortie y^​ en utilisant le générateur (ou décodeur en termes de DAE). Les entrées y et y^​ sont fournies au réseau Cost séparément pour mesurer l’incomptabilité entre elles.
English: Similarly, we can extend the analogy with VAE. In contrast to VAE where the sampler is conditioned on the output of the encoder, in GANs there is an unconditioned sampler and again, decoder corresponds to Generator.
French: De la même manière, nous pouvons étendre l’analogie avec le VAE. Contrairement au VAE où l’échantillonneur est conditionné à la sortie de l’encodeur, dans les GANs, il y a un échantillonneur non conditionné. Là encore, le décodeur correspond au générateur.
English: The aim is to push down sample of y and push up the energy of y^​ upto mm (if C≥m no gradient is received as ReLU(⋅) would result the output to 0).
French: Le but est de diminuer l’échantillon de y et d’augmenter l’énergie de y^​ jusqu’à mm (si C≥m aucun gradient n’est reçu car ReLU(⋅) entraînerait la sortie à 0).
English: The cost network would push good samples to 0 and bad sample to energy level m. Using the above C(y), there would exist a quadratic distance between the points on manifold, vy and points generated by the generator y^​. During the training, generator is updated to try to produce samples that would gradually have low energy as y guided by C. Once trained, the generator should produce samples near to data manifold.
French: Le réseau de coût pousse les bons échantillons à 0 et les mauvais échantillons au niveau d’énergie m. En utilisant la formule ci-dessus C(y), il existerait une distance quadratique entre les points de la variété vy et les points générés par le générateur y^​. Au cours de l’apprentissage, le générateur est mis à jour pour essayer de produire des échantillons qui auraient progressivement une énergie faible à mesure que y est guidé par C. Une fois entraîné, le générateur devrait produire des échantillons proches de la variété de données.
English: Adopting another analogy , the generative model can be thought as team of counterfeiters, trying to produce fake currency. Their aim to produce fake currency which is indistinguishable from real currency. The discriminator can be viewed as police, trying to detect among counterfeit and fake currency bills. Gradients from backprop can be seen as spies that give opposite direction to counterfeiters (generator) in order to fool the police (discriminator).
French: En adoptant une autre analogie, le modèle génératif peut être considéré comme une équipe de faussaires essayant de produire de la fausse monnaie. Leur objectif est de produire de la fausse monnaie qui ne se distingue pas de la vraie. Le disciminateur peut être considéré comme la police qui essaie de détecter les billets de banque contrefaits et faux. Les gradients de la rétropropagation peuvent être considérés comme des espions qui donnent une direction opposée aux contrefacteurs (générateur) afin de tromper la police (discriminateur).
English: We have two optimizers for each network. (We want to push up the energy of bad (recognizable fake images) samples and push down energy of good samples (real looking images).
French: Nous avons deux optimiseurs pour chaque réseau. Nous voulons augmenter l’énergie des mauvais échantillons (images fausses reconnaissables) et diminuer l’énergie des bons échantillons (images réelles).
English: For training, we first train the discriminator with real images and labels stating the images being real. Followed by generator generating fake images from noise. The discriminator is again trained but this time with fake images and labels stating them as fake.
French: Pour l’entraînement, nous entraînons d’abord le discriminateur avec des images réelles et des étiquettes indiquant que les images sont réelles. Ensuite, nous générons de fausses images à partir de bruit. Le discriminateur est à nouveau entraîné, mais cette fois avec des images fausses et des étiquettes indiquant qu’elles sont fausses.
English: To train the generator, we compute the error by incompatibility between characteristics of real image and fake image as identified by the discriminator. Such that the generator can use this discrepancy measure to better fool the discriminator.
French: Pour entraîner le générateur, nous calculons l’erreur par incompatibilité entre les caractéristiques de l’image réelle et de l’image fausse telles qu’identifiées par le discriminateur. De sorte que le générateur puisse utiliser cette mesure d’incompatibilité pour mieux tromper le discriminateur.
English: A brief introduction to self-supervised learning and pretext tasks and discussion of associated trivial solutions. Categorization of recent self-supervised methods: Introduction to Contrastive Learning and the loss function used. Brief overviews of PIRL, SimCLR and MoCo followed by SwAV which is a Clustering based method. Pretraining on Imagenet and non-Imagenet data is also discussed towards the end.
French: Une brève introduction à l’apprentissage autosupervisé et aux tâches de prétexte ainsi qu’une discussion à propos des solutions triviales associées. Puis une catégorisation des méthodes autosupervisées récentes avec une introduction à l’apprentissage contrastif et à la fonction de perte utilisée. Nous poursuivons avec de brèves présentations de PIRL, SimCLR et MoCo suivies de SwAV qui est une méthode basée sur du clustering. Le pré-entraînement sur les données ImageNet et non-ImageNet est également discuté à la fin.
English: We introduce attention, focusing on self-attention and its hidden layer representations of the inputs. Then, we introduce the key-value store paradigm and discuss how to represent queries, keys, and values as rotations of an input. Finally, we use attention to interpret the transformer architecture taking a forward pass through a basic transformer through an EBM perspective,, and comparing the encoder-predictor-decoder paradigm to sequential architectures.
French: Nous présentons l’attention en nous concentrant sur l’auto-attention et ses représentations des entrées dans la couche cachée. Ensuite, nous introduisons le paradigme clé-valeur et discutons de la manière de représenter les requêtes, les clés et les valeurs comme des rotations d’une entrée. Enfin, nous utilisons l’attention pour interpréter l’architecture du transformer. Pour cela nous passons par le biais d’un transformer de base dans la perspective des EBMs et en comparant le paradigme encodeur-prédicteur-décodeur aux architectures séquentielles.
English: The current focus in Computer Vision lies in learning of visual representation from supervised data and using these representations/model weights as initializations for other tasks which lack availability of labelled data. Labelling data can be expensive, for instance, the Imagenet dataset has ~14 million images and 22,000 categories taking ~22 human years to label.
French: La vision par ordinateur se concentre actuellement sur l’apprentissage de représentations visuelles à partir de données supervisées et sur l’utilisation de ces représentations/poids comme initialisations pour d’autres tâches qui ne disposent pas de données étiquetées. Cet étiquetage des données peut s’avérer coûteux. Par exemple, le jeu de données ImageNet compte environ 14 millions d’images et 22000 catégories et son étiquetage a nécessité environ 22 années de travail.
English: The pretext task is a self-supervised learning task solved to learn visual representations, with the aim of using the learned representations or model weights obtained in the process, for other downstream tasks. The pretext task is usually performed on a property that is inherent in the dataset itself.
French: La tâche de prétexte est une tâche d’apprentissage autosupervisée effectuée dans le but d’apprendre des représentations visuelles afin de les utiliser pour d’autres tâches en aval (c’est-à-dire la classification, la détection d’objets, etc.). La tâche de prétexte est généralement effectuée sur une propriété inhérente au jeu de données lui-même.
English: There is a fairly big mismatch between what is being solved in the pretext tasks and what needs to be achieved by the transfer tasks. Thus, the pre-training is not suitable for final tasks. Performance at each layer can be assessed (using linear classifiers) to figure out which layer’s features to use for the transfer tasks.
French: Il y a un décalage assez important entre ce qui est résolu avec les tâches de prétextes et ce qui doit être réalisé par les tâches de transfert. Ainsi, le pré-entraînement n’est pas adaptée aux tâches finales. Les performances de chaque couche peuvent être évaluées (à l’aide de classifieurs linéaires) afin de déterminer les caractéristiques de la couche à utiliser pour les tâches de transfert.
English: Features produced by the network for an image should be stable under different types of data augmentation techniques. This property is extremely useful because the features are going to be invariant to the nuisance factors.
French: Les caractéristiques produites par le réseau pour une image doivent être stables sous différents types de techniques d’augmentation de données. Cette propriété est extrêmement utile car les caractéristiques vont être invariantes aux facteurs de nuisance.
English: Take an image, apply two different data augmentations to it, feed it through encoder, compute the similarity. Get the gradients and backpropagate. The network then learns to produce a constant representation for both augmentations.
French: Prenez une image, appliquez-lui deux augmentations de données différentes, faites-la passer par un encodeur, calculez la similarité. Puis faites une rétropropagation avec les gradients obtenus. Le réseau apprend alors à produire une représentation constante pour les deux augmentations.