lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: Now, we’d prefer not to go through the complicated process of backpropagating every time we want to make a plan. To address this, we use the same trick we used for variational autoencoder to improve sparse coding: we train an encoder to directly predict the optimal action sequence from the world representations. In this regime, the encoder is called a policy network.
French: Nous préférons ne pas passer par le processus compliqué de la rétropropagation chaque fois que nous voulons faire un plan. Pour y remédier, nous utilisons la même astuce que pour l’auto-encodeur variationnel pour améliorer le codage épars : nous entraînons un encodeur à prédire directement la séquence d’action optimale à partir des représentations du monde. Dans ce régime, l’encodeur est appelé un réseau politique.
English: 2. In the setting of RL, we don’t use a forward model of the world to step the environment. Instead we interact with the real world and learn the result by observing what happens. In the real world our measure of the state of the world is imperfect so it is not always possible to predict what will happen next.
French: 2) Dans le cadre du RL, nous n’utilisons pas un modèle de prédiction du monde. Au lieu de cela, nous interagissons avec le monde réel et apprenons le résultat en observant ce qui se passe. Dans le monde réel, notre mesure de l’état du monde est imparfaite et il n’est donc pas toujours possible de prédire ce qui se passera ensuite.
English: The main problem of Reinforcement learning is that the cost function is not differentiable. This means that the only way to learn is through trial and error. Then the problem becomes how to explore the state space efficiently. Once you come up with a solution to this the next issue is the fundamental question of exploration vs. exploitation: would you rather take actions to maximally learn about the environment or instead exploit what you have already learned to get as high a reward as possible?
French: Le principal problème du RL est que la fonction de coût n’est pas différenciable. Cela signifie que la seule façon d’apprendre est de procéder par essais et erreurs. Le problème devient alors de savoir comment explorer efficacement l’espace des états. Une fois que vous avez trouvé une solution à ce problème, la question qui suit est celle fondamentale de l’exploration vs l’exploitation : préférez-vous prendre des actions pour apprendre le plus possible sur l’environnement ou plutôt exploiter ce que vous avez déjà appris pour obtenir une récompense aussi élevée que possible ?
English: Actor-Critic methods are a popular family of RL algorithms which train both an actor and a critic. Many RL methods work similarly, by training a model of the cost function (the critic). In Actor-Critic methods the role of the critic is to learn the expected value of the value function. This enables back-propagation through the module, since the critic is just a neural network. The actor’s responsibility is to propose actions to take in the environment, and the critic’s job is to learn a model of the cost function. The actor and the critic work in tandem that leads to more efficient learning than if no critic is used. If you don’t have a good model of the world it is much more difficult to learn: e.g. the car next to the cliff will not know that falling off a cliff is a bad idea. This enables humans and animals to learn much more quickly than RL agents: we have really good world models in our head.
French: Les méthodes Acteur-Critique sont une famille populaire d’algorithmes de RL qui entraînent à la fois un acteur et un critique. De nombreuses méthodes de RL fonctionnent de manière similaire, en entraînant un modèle de la fonction de coût (le critique). Dans les méthodes Acteur-Critique, le rôle du critique est d’apprendre la valeur attendue de la fonction de valeur. Cela permet de faire une rétropropagation dans le module, puisque le critique n’est qu’un réseau neuronal. La responsabilité de l’acteur est de proposer des actions à entreprendre dans l’environnement. Le rôle du critique est d’apprendre un modèle de la fonction de coût. L’acteur et le critique travaillent en tandem, ce qui permet un apprentissage plus efficace que si aucun critique n’est utilisé. Sans un bon modèle du monde, il est beaucoup plus difficile d’apprendre. Par exemple, la voiture à côté de la falaise ne saura pas que tomber d’une falaise est une mauvaise idée. Un modèle du monde permet aux humains et plus généralement aux animaux d’apprendre beaucoup plus rapidement que les agents du RL. Nous avons de très bons modèles du monde dans notre tête.
English: We cannot always predict the future of the world due to inherent uncertainty: aleatory and epistemic uncertainty. Aleatoric uncertainty is due to things you cannot control or observe in the environment. Epistemic uncertainty is when you cannot predict the future of the world because your model does not have enough training data.
French: Nous ne pouvons pas toujours prédire l’avenir du monde en raison de l’incertitude inhérente : l’incertitude aléatoire et épistémique. L’incertitude aléatoire est due à des choses ne pouvant pas être contrôlé ou observé dans l’environnement. L’incertitude épistémique, est quand il n’est pas possible de prédire l’avenir du monde car le modèle ne contient pas assez de données d’entraînement.
English: where z is a latent variable of which we don’t know the value. z represents what you cannot know about the world but which still influences the prediction (i.e. aleatoric uncertainty). We can regularize z with sparsity, noise, or with an encoder. We can use forward models to learn to plan. The system works by having a decoder decode a concatenation of the state representation and the uncertainty z. The best z is defined as the z that minimizes the difference between s^t+1​ and the actual observed st+1​.
French: où z est une variable latente dont nous ne connaissons pas la valeur. z représente ce que nous ne pouvons pas savoir sur le monde mais qui influence quand même la prédiction (c’est-à-dire l’incertitude aléatoire). On peut régulariser z avec parcimonie, du bruit ou avec un encodeur. Nous pouvons utiliser des modèles de prédiction pour apprendre à planifier. Le système fonctionne en ayant un décodeur décodant une concaténation de la représentation d’état et de l’incertitude z. Le meilleur z est défini comme celui qui minimise la différence entre s^t+1 et le st+1 effectivement observé.
English: There are many variations of GAN and here we think of GAN as a form of energy-based model using contrastive methods. It pushes up the energy of contrastive samples and pushes down the energy of training samples. A basic GAN consists of two parts: a generator which produces contrastive samples intelligently and a discriminator (sometimes called critic) which is essentially a cost function and acts as an energy model. Both the generator and the discriminator are neural nets.
French: Il existe de nombreuses variantes des réseaux génératifs antagonistes (GANs pour Generative Adversarial Networks). Nous considérons ici le GAN comme une forme de modèle à base d’énergie utilisant des méthodes contrastives. Il augmente l’énergie des échantillons contrastifs et diminue l’énergie des échantillons d’entraînement. Un GAN de base se compose de deux parties : un générateur qui produit des échantillons contrastifs de manière intelligente et un discriminateur (parfois appelé critique) qui est essentiellement une fonction de coût agissant comme un modèle énergétique. Le générateur et le discriminateur sont tous deux des réseaux neuronaux.
English: The two kinds of input to GAN are respectively training samples and contrastive samples. For training samples, GAN passes these samples through the discriminator and makes their energy go down. For contrastive samples, GAN samples latent variables from some distribution, runs them through the generator to produce something similar to training samples, and passes them through the discriminator to make their energy go up. The loss function for discriminator is as follows:
French: Les deux types d’entrée dans le GAN sont respectivement des échantillons d’entraînement et des échantillons contrastifs. Pour les échantillons d’entraînement, le GAN les fait passer à travers le discriminateur et baisse leur énergie. Pour les échantillons contrastifs, le GAN échantillonne les variables latentes d’une certaine distribution, les fait passer par le générateur pour produire quelque chose de similaire aux échantillons d’entraînement et les fait passer par le discriminateur pour faire monter leur énergie. La fonction de perte pour le discriminateur est la suivante :
English: where Ld can be a margin-based loss function like F(y)+[m−F(yˉ)]+ or log⁡(1+exp⁡[F(y)])+log⁡(1+exp⁡[−F(yˉ)])log(1+exp[F(y)])+log(1+exp[−F(yˉ​)]) as long as it makes F(y) decrease and F(yˉ) increase. In this context, y is the label, and yˉ is the response variable gives lowest energy except y itself. There is going to be a different loss function for the generator:
French: où Ld​ peut être une fonction de perte avec marge comme F(y)+[m−F(yˉ)]+ ou log⁡(1+exp⁡[F(y)])+log⁡(1+exp⁡[−F(yˉ)])log(1+exp[F(y)])+log(1+exp[−F(yˉ​)]) tant que cela fait diminuer F(y) et augmenter F(yˉ). Dans ce contexte, y est le label et yˉ est la variable réponse qui donne l’énergie la plus faible sauf y lui-même. La fonction de perte est différente pour le générateur :
English: where z is the latent variable and G is the generator neural net. We want to make the generator adapt its weight and produce yˉ with low energy that can fool the discriminator.
French: où z est la variable latente et G est le réseau générateur. Nous voulons faire en sorte que le générateur adapte son poids et produise yˉ avec une faible énergie pouvant tromper le discriminateur.
English: The reason why this type of model is called generative adversarial network is because we have two objective functions that are incompatible with each other and we need to minimize them simultaneously. It’s not a gradient descent problem because the goal is to find a Nash equilibrium between these two functions and gradient descent is not capable of this by default.
French: La raison pour laquelle ce type de modèle est appelé réseaux génératifs antagonistes est que nous avons deux fonctions objectives qui sont incompatibles l’une avec l’autre et que nous devons les minimiser simultanément. Ce n’est pas un problème de descente de gradient car le but est de trouver un équilibre de Nash entre ces deux fonctions or la descente de gradient n’en est pas capable par défaut.
English: There will be problems when we have samples that are close to the true manifold. Assume that we have an infinitely thin manifold. The discriminator needs to produce 0 probability outside the manifold and infinite probability on the manifold. Since this is very difficult to achieve, GAN uses sigmoid and produces 0 outside the manifold and produces 1 on the manifold. The problem with this is that if we train the system successfully where we get the discriminator to produce 0 outside the manifold, the energy function is completely useless. This is because the energy function is not smooth where all energy outside the data manifold will be infinity and all energy on the data manifold will be 0. We don’t want the energy value to go from 0 to infinity in a very small step. Researchers have proposed many ways to fix this problem by regularizing the energy function. A good example of improved GAN is Wasserstein GAN which limits the size of discriminator weight.
French: Il y aura des problèmes lorsque nous aurons des échantillons qui seront proches de la vraie variété. Supposons que nous ayons une surface infiniment fine. Le discriminateur doit produire une probabilité de 0 à l’extérieur de la variété et une probabilité infinie sur la variété. Comme cela est très difficile à réaliser, le GAN utilise une sigmoïde pour produire 0 en dehors de la variété et 1 sur la variété. Le problème est que si nous entraînons le système avec succès en faisant en sorte que le discriminateur produise 0 en dehors de la variété, la fonction d’énergie est complètement inutile. En effet, la fonction d’énergie n’est pas homogène car toute l’énergie en dehors de la variété de données sera infinie et toute l’énergie sur la variété de données sera nulle. Nous ne voulons pas que la valeur de l’énergie passe de 0 à l’infini en un tout petit pas. Les chercheurs ont proposé de nombreux moyens pour résoudre ce problème en régularisant la fonction d’énergie. Un bon exemple de GAN amélioré est le GAN de Wasserstein qui limite la taille du poids du discriminateur.
English: GANs are a type of neural network used for unsupervised machine learning. They are comprised of two adversarial modules: generator and cost networks. These modules compete with each other such that the cost network tries to filter fake examples while the generator tries to trick this filter by creating realistic examples x^. Through this competition, the model learns a generator that creates realistic data. They can be used in tasks such as future predictions or for generating images after being trained on a particular dataset.
French: Les GANs sont un type de réseau de neurones utilisé pour l’apprentissage machine non supervisé. Ils sont composés de deux modules antagonistes : les réseaux générateur et coût. Ces modules se font concurrence de telle sorte que le réseau coût tente de filtrer les faux exemples tandis que le générateur tente de tromper ce filtre en créant des exemples réalistes x^. Grâce à cette compétition, le générateur du modèle apprend à créer des données réalistes. Ces données peuvent être utilisées dans des tâches telles que la prédiction future ou pour générer des images spécialisées suite à un entraînement sur un jeu de données particulier.
English: GANs are examples of energy based models (EBMs). As such, the cost network is trained to produce low costs for inputs closer to the true data distribution denoted by the pink x in Fig. 2. Data from other distributions, like the blue x^ in Fig. 2, should have high cost. A mean squared error (MSE) loss is typically used to calculate the cost network’s performance. It is worth noting that the cost function outputs a positive scalar value within a specified range i.e.cost:Rn→R+∪0. This is unlike a classic discriminator which uses discrete classification for its outputs.
French: Les GANs sont des exemples de modèles à base d’énergie (EBMs). En tant que tel, le réseau coût est entraîné à produire des coûts faibles pour les entrées les plus proches de la distribution réelle des données, désignée par le x rose dans la figure 2. Les données provenant d’autres distributions, comme le x^ bleu de la figure 2, devraient avoir un coût élevé. Une perte d’erreur quadratique moyenne (MSE) est généralement utilisée pour calculer la performance du réseau de coût. Il convient de noter que la fonction de coût produit une valeur scalaire positive dans une plage spécifiée c’est-à-dire couˆt:Rn→R+∪0. Ceci est différent d’un discriminateur classique qui utilise une classification discrète pour ses sorties.
English: Meanwhile, the generator network (generator:Z→Rn) is trained to improve its mapping of random variable z to realistic generated data x^ to trick the cost network. The generator is trained with respect to the cost network’s output, trying to minimize the energy of x^. We denote this energy as C(G(z)), where C(⋅) is the cost network and G(⋅) is the generator network.
French: Pendant ce temps, le réseau générateur (generateur:Z→Rn) est entraîné à améliorer la correspondance de la variable aléatoire z aux données réalistes x^ générées pour tromper le réseau de coût. Le générateur est entraîné par rapport à la sortie du réseau de coût, en essayant de minimiser l’énergie de x^. Nous désignons cette énergie par C(G(z)), où C(⋅) est le réseau coût et G(⋅) est le réseau générateur.
English: The training of the cost network is based on minimizing the MSE loss, while the training of the generator network is through minimizing the cost network, using gradients of C(x^) with respect to x^.
French: L’entraînement du réseau coût est basée sur la minimisation de la perte MSE, tandis que l’entraînement du réseau générateur est basée sur la minimisation du réseau coût, en utilisant des gradients de C(x^) par rapport à x^.
English: To ensure that high cost is assigned to points outside the data manifold and low cost is assigned to points within it, the loss function for the cost network LC​ is C(x)+[m−C(G(z))]+ for some positive margin mm. Minimizing LC requires that C(x)→0 and C(G(z))→m. The loss for the generator LG​ is simply C(G(z)), which encourages the generator to ensure that C(G(z))→0. However, this does create instability.
French: Pour garantir qu’un coût élevé est attribué aux points situés à l’extérieur de la variété de données et qu’un coût faible est attribué aux points situés à l’intérieur de la variété, la fonction de perte pour le réseau coût LC est C(x)+[m−C(G(z))]+ pour une certaine marge positive mm. Pour minimiser LC​, il faut que C(x)→0 et C(G(z)→m. La perte pour le générateur LG​ est simplement C(G(z)), ce qui encourage le générateur à s’assurer que C(G(z))→0. Cependant, cela crée une instabilité.
English: Compared to Variational Auto-Encoders (VAEs) from week 8, GANs create generators slightly differently. Recall, VAEs map inputs x to a latent space Z with an encoder and then map from Z back to the data space with a decoder to get x^. They then use the reconstruction loss to push x and x^ to be similar. GANs, on the other hand, train through an adversarial setting with the generator and cost networks competing as described above. These networks are successively trained through backpropagation through gradient based methods. Comparison of this architectural difference can be seen in Fig. 3.
French: Par rapport aux VAEs de la semaine 8, les GANs créent des générateurs légèrement différents. Rappelons que les VAE associent les entrées x vers un espace latent Z avec un encodeur puis associent Z vers l’espace de données avec un décodeur pour obtenir x^. Ils utilisent ensuite la perte de reconstruction pour pousser x et x^ à être similaires. Les GANs en revanche sont entrainés dans un cadre antagoniste avec les réseaux générateur et coût qui sont en concurrence comme décrit ci-dessus. Ces réseaux sont successivement entraînés par rétropropagation au moyen de méthodes basées sur le gradient. Une comparaison des différences architecturales est présentée à la figure 3.
English: GANs also differ from VAEs through how they produce and use z. GANs start by sampling z, similar to the latent space in a VAE. They then use a generative network to map z to x^. This x^ is then sent through a discriminator/cost network to evaluate how “real” it is. One of the main differences from VAE and GAN is that we do not need to measure a direct relationship (i.e. reconstruction loss) between the output of the generative network x^ and real data x. Instead, we force x^ to be similar to x by training the generator to produce x^ such that the discriminator/cost network produces scores that are similar to those of real data x, or more “real”.
French: Les GANs diffèrent également des VAEs par la façon dont ils produisent et utilisent les z. Les GANs commencent par échantillonner z, comme l’espace latent dans un VAE. Ils utilisent ensuite un réseau génératif pour mettre en correspondance z avec x^. Ce x^ est envoyé à travers un réseau discriminateur/coût pour évaluer son caractère « réel ». Une des principales différences entre le VAE et le GAN est que nous n’avons pas besoin de mesurer une relation directe (c’est-à-dire la perte de reconstruction) entre la sortie du réseau générateur x^ et les données réelles x. Au lieu de cela, nous forçons x^ à être similaire à x en entraînant le générateur à produire x^ de telle sorte que le réseau discriminateur/coût produise des scores similaires à ceux des données réelles x.
English: As the generator improves with training, the discriminator performance gets worse because the discriminator can no longer easily tell the difference between real and fake data. If the generator is perfect, then the manifold of the real and fake data will lie on top of each other and the discriminator will create many misclassifications.
French: Au fur et à mesure que le générateur s’améliore avec l’entraînement, les performances du discriminateur se détériorent car celui-ci ne peut plus faire facilement la différence entre les données réelles et les fausses. Si le générateur est parfait, les données réelles et fausses se superposeront et le discriminateur créera de nombreuses erreurs de classification.
English: This poses a problem for convergence of the GAN: the discriminator feedback gets less meaningful over time. If the GAN continues training past the point when the discriminator is giving completely random feedback, then the generator starts to train on junk feedback and its quality may collapse. [Refer to training convergence in GANs]
French: Cela pose un problème pour la convergence du GAN : le retour d’information du discriminateur devient moins significatif avec le temps. Si le GAN continue à s’entraîner au-delà du moment où le discriminateur donne un retour d’information complètement aléatoire, alors le générateur commence à s’entraîner sur le retour d’information indésirable et sa qualité peut s’effondrer (cf. la convergence de l’entraînement dans les GANs).
English: As the discriminator becomes more confident, D(x) gets closer to 1 and D(x^) gets closer to 0. This confidence moves the outputs of the cost network into flatter regions where the gradients become more saturated. These flatter regions provide small, vanishing gradients that hinder the generator network’s training. Thus, when training a GAN, you want to make sure that the cost gradually increases as you become more confident.
French: Au fur et à mesure que le discriminateur devient plus confiant, D(x) se rapproche de 1 et D(x^) se rapproche de 0. Cette confiance déplace les sorties du réseau coût vers des régions plus plates où les gradients sont plus saturés. Ces régions plus plates présentent de petits gradients qui disparaissent et qui entravent l’entraînement du réseau générateur. Ainsi, lorsque de l’entraînement d’un GAN, il faut nous assurer que le coût augmente progressivement à mesure que nous devenons plus confiant.
English: If a generator maps all z’s from the sampler to a single x^ that can fool the discriminator, then the generator will produce only that x^. Eventually, the discriminator will learn to detect specifically this fake input. As a result, the generator simply finds the next most plausible x^ and the cycle continues. Consequently, the discriminator gets trapped in local minima while cycling through fake x^’s. A possible solution to this issue is to enforce some penalty to the generator for always giving the same output given different inputs.
French: Si un générateur fait correspondre tous les z de l’échantillonneur à un seul x^ qui peut tromper le discriminateur, alors le générateur produira seulement ce x^. Finalement, le discriminateur apprendra à détecter spécifiquement cette fausse entrée. En conséquence, le générateur trouve simplement le x^ suivant le plus plausible et le cycle continue. Par conséquent, le discriminateur se retrouve piégé dans les minima locaux pendant qu’il passe en revue les faux x^. Une solution possible à ce problème est d’imposer une pénalité au générateur pour avoir toujours donné la même sortie avec des entrées différentes.
English: 1. It is important to use nn.LeakyReLU as the activation function to avoid killing the gradients in negative regions. Without these gradients, the generator will not receive updates.
French: 1. Il est important d’utiliser nn.LeakyReLU comme fonction d’activation pour éviter de tuer les gradients dans les régions négatives. Sans ces gradients, le générateur ne recevra pas de mises à jour.