lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: Before we send the whole sequence to the network and force the final target to be something, we need to cut the long sequence into little chunks. While feeding a new chunk, we need to keep track of the hidden state and send it as input to the internal state when adding the next new chunk. In LSTM, you can keep the memory for a long time as long as you have enough capacity. In RNN, after you reach a certain length, it starts to forget about what happened in the past.
French: Avant d’envoyer la séquence complète au réseau et de forcer la cible finale à être quelque chose, nous devons couper la longue séquence en petits morceaux. Tout en alimentant un nouveau morceau, nous devons garder une trace de l’état caché et l’envoyer comme entrée à l’état interne lors de l’ajout du nouveau morceau suivant. Dans les LSTMs, vous pouvez conserver la mémoire pendant une longue période tant que vous avez une capacité suffisante. Dans les RNNs, une fois que vous avez atteint une certaine longueur, la mémoire commence à oublier ce qui s’est passé dans le passé.
English: We introduced the concept of the energy-based models and the intention for different approaches other than feed-forward networks. To solve the difficulty of the inference in EBM, latent variables are used to provide auxiliary information and enable multiple possible predictions. Finally, the EBM can generalize to probabilistic model with more flexible scoring functions.
French: Nous introduisons le concept des modèles à base d’énergie (EBMs pour energy-based models) et l’intention d’adopter des approches différentes autres que les réseaux feed-forward. Pour résoudre la difficulté de l’inférence chez les EBMs, des variables latentes sont utilisées pour fournir des informations auxiliaires et permettre plusieurs prédictions. Enfin, les EBMs peuvent être généralisés aux modèles probabilistes avec des fonctions de notation plus souples.
English: We discussed self-supervised learning, introduced how to train an Energy-based models, discussed Latent Variable EBM, specifically with an explained K-means example. We also introduced Contrastive Methods, explained a denoising autoencoder with a topographic map, the training process, and how it can be used, followed by an introduction to BERT. Finally, we talked about Contrastive Divergence, also explained using a topographic map.
French: Nous discutons de l’apprentissage autosupervisé, présentons la manière d’entraîné un EBM, discutons de la gestion des variables latentes, en particulier avec l’exemple des K-means. Nous présentons également les méthodes contrastives, expliquons le fonctionnement d’un auto-encodeur débruiteur avec une carte topographique ainsi que le processus d’entraînement et la façon dont il peut être utilisé. Nous poursuivons avec une introduction à BERT. Enfin, nous parlons de la divergence contrastive, également expliquée à l’aide d’une carte topographique.
English: We discussed some applications of Autoencoders and talked about why we want to use them. Then we talked about different architectures of Autoencoders (under or over complete hidden layer), how to avoid overfitting issues and the loss functions we should use. Finally we implemented a standard Autoencoder and a denoising Autoencoder.
French: Nous discutons de certaines applications des auto-encodeurs et des raisons pour lesquelles nous voulons les utiliser. Nous parlons ensuite des différentes architectures d’auto-encodeurs (sous ou sur une couche cachée complète), de la manière d’éviter les problèmes de surentraînement et des fonctions de perte que nous devrions utiliser. Enfin, nous mettons en place un auto-encodeur standard et un auto-encodeur débruiteur.
English: We will introduce a new framework for defining models. It provides a unifying umbrella that helps define supervised, unsupervised and self-supervised models. Energy-based models observe a set of variables x and output a set of variables y. There are 2 major problems with feed-forward nets:
French: Nous allons introduire un nouveau cadre pour la définition des modèles. Il fournit un parapluie unificateur qui aide à définir des modèles supervisés, non supervisés et autosupervisé. Les modèles à base d’énergie (EBMs) observent un ensemble de variables x et produisent un ensemble de variables y. Les réseaux feed-forward posent deux problèmes majeurs :
English: 2. What if there are multiple possible outputs for a single input? Example: Predicting future frames of video. Essentially in a classification net, we train this net to emit a score for each class. However, this is not possible to do in a continuous high dimensional domain like images. (We cannot have softmax over images!). Even if the output is discrete, it could have a large sample space. For example, the text is compositional leading to a huge number of possible combinations. Energy-based models provide a better framework to model these modalities.
French: 2. Que faire s’il y a plusieurs résultats possibles pour une seule entrée comme par exemple la prédiction des images futures dans une vidéo ?
English: Instead of trying to classify x’s to y’s, we would like to predict if a certain pair of (x, y) fit together or not. Or in other words, find a y compatible with x. We can also pose the problem as finding a y for which some F(x,y) is low. For example:
French: Au lieu d’essayer de classer les x en y, nous aimerions prédire si une certaine paire de (x, y) s’assemble ou non. Ou, en d’autres termes, trouver un y compatible avec x. Nous pouvons également poser le problème de trouver un y pour lequel certains F(x,y) sont faibles. Par exemple :
English: We define an energy function F:X×Y→R where F(x,y) describes the level of dependency between (x,y) pairs. (Note that this energy is used in inference, not in learning.) The inference is given by the following equation:
French: Nous définissons une fonction énergie F:X×Y→R où F(x,y) décrit le niveau de dépendance entre les paires (x,y). A noter que cette énergie est utilisée en inférence et non pas pour l’apprentissage. L’inférence est donnée par l’équation suivante :
English: We would like the energy function to be smooth and differentiable so that we can use it to perform the gradient-based method for inference. In order to perform inference, we search this function using gradient descent to find compatible y’s. There are many alternate methods to gradient methods to obtain the minimum.
French: Nous aimerions que la fonction d’énergie soit lisse et différenciable afin d’effectuer l’inférence. Nous recherchons cette fonction en utilisant la descente de gradient pour trouver des y compatibles. Il existe de nombreuses méthodes alternatives aux méthodes de gradient pour obtenir le minimum.
English: Aside: Graphical models are a special case of Energy-Based models. The energy function decomposes as a sum of energy terms. Each energy terms take into account a subset of variables that we are dealing with. If they organize in a particular form, there are efficient inference algorithms to find the minimum of the sum of the terms with respect to the variable that we are interested in inferring.
French: Note : les modèles graphiques sont un cas particulier des modèles à base d’énergie. La fonction d’énergie se décompose en une somme de termes d’énergie. Chaque terme énergétique prend en compte un sous-ensemble de variables que nous avons à traiter. S’ils s’organisent sous une forme particulière, il existe des algorithmes d’inférence efficaces pour trouver le minimum de la somme des termes par rapport à la variable que nous souhaitons inférer.
English: The output y depends on x as well as an extra variable z (the latent variable) which we do not know the value of. These latent variables can provide auxiliary information. For example, a latent variable can tell you the positions of word boundaries in a chunk of text. This would be helpful to know when we want to interpret handwriting without spaces. This is also especially useful to know in speech that can have hard-to-decipher gaps. Additionally, some languages have very faint word boundaries (e.g. French). Hence, having this latent variable in our model will be very useful to interpret such an input.
French: La sortie y dépend de x ainsi que d’une variable supplémentaire z (la variable latente) dont nous ne connaissons pas la valeur. Ces variables latentes peuvent fournir des informations auxiliaires. Par exemple, elle peut vous indiquer la position des limites des mots dans un morceau de texte. C’est utile quand nous voulons interpréter une écriture sans espaces. C’est aussi particulièrement utile pour les discours qui peuvent présenter des lacunes difficiles à déchiffrer. De plus, certaines langues ont des limites de mots très faibles comme par exemple le français. Ainsi, la présence de cette variable latente dans notre modèle est très utile pour interpréter de telles entrées.
English: Another big advantage of allowing latent variables, is that by varying the latent variable over a set, we can make the prediction output y vary over the manifold of possible predictions as well (the ribbon is shown in the graph below): F(x,y)=argminzE(x,y,z).
French: Un autre grand avantage d’autoriser des variables latentes est qu’en faisant varier la variable latente sur un ensemble, nous pouvons aussi faire varier la prédiction y sur la multitude de prédictions possibles (le ruban est montré dans le graphique ci-dessous) : F(x,y)=argminzE(x,y,z).
English: One example is video prediction. There are many good applications for us to use video prediction, one example is to make a video compression system. Another is to use video taken from a self-driving car and predict what other cars are going to do.
French: Un exemple est la prédiction vidéo. Il existe de nombreuses bonnes applications pour l’utilisation de la prédiction vidéo, par exemple pour la réalisation d’un système de compression vidéo. Une autre est d’utiliser la vidéo d’une voiture autonome et de prédire ce que les autres voitures vont faire.
English: Another example is translation. Language translation has always been a difficult problem because there is no single correct translation for a piece of text from one language to another. Usually, there are a lot of different ways to express the same idea and people find it is hard to reason why they pick one over the other. So it might be nice if we have some way of parametrising all the possible translations that a system could produce to respond to a given text. Let’s say if we want to translate German to English, there could be multiple translations in English that are all correct, and by varying some latent variables then you may vary the translation produced.
French: Un autre exemple est la traduction. La traduction a toujours été un problème difficile car il n’existe pas de traduction unique et correcte d’un texte d’une langue à l’autre. En général, il existe de nombreuses façons différentes d’exprimer une même idée et les gens ont du mal à comprendre pourquoi ils en choisissent une plutôt qu’une autre. Il serait donc bon que nous ayons un moyen de paramétrer toutes les traductions possibles qu’un système pourrait produire pour un texte donné. Disons que si nous voulons traduire de l’allemand en anglais, il pourrait y avoir plusieurs traductions en anglais qui sont toutes correctes, et en faisant varier certaines variables latentes, vous pourriez alors faire varier la traduction produite.
English: where β is positive constant and needs to be calibrated to fit your model: as β→∞, this function converges to the argmax function; smaller values of β leads to a smoother distribution. (In physics, β is inverse temperature: β→∞ means temperature goes to zero).
French: où β est une constante positive et doit être calibrée pour s’adapter à votre modèle. Un plus grand β donne un modèle plus fluctuant tandis qu’un plus petit β donne un modèle plus lisse. En physique, β est la température inverse : β→∞ signifie que la température va à 0.
English: Thus, if we have a latent variable model and want to eliminate the latent variable z in a probabilistically correct way, we just need to redefine the energy function Fβ​ (Free Energy)
French: Ainsi, si nous disposons d’un modèle à variable latente et que nous voulons éliminer la variable latente z de manière probabiliste, il suffit de redéfinir la fonction d’énergie Fβ​ : l’énergie libre.
English: Computing this can be very hard… In fact, in most cases, it’s probably intractable. So if you have a latent variable that you want to minimize over inside of your model, or if you have a latent variable that you want to marginalize over (which you do by defining this Energy function F), and minimizing corresponds to the infinite β limit of this formula, then it can be done.
French: Calculer ceci peut être très difficile. En fait, dans la plupart des cas, c’est probablement insoluble. Donc si vous avez une variable latente que vous voulez minimiser à l’intérieur de votre modèle ou si vous avez une variable latente que vous voulez marginaliser (ce que vous faites en définissant cette fonction d’énergie F) et que la minimisation correspond à la limite infinie β de cette formule, alors c’est possible.
English: Under the definition of Fβ(x,y) above, P(y∣x) is just an application of the Gibbs-Boltzmann formula and z has been marginalized implicitly inside of this. Physicists call this “Free Energy”, which is why we call it F. So ee is the energy, and F is free energy.
French: Selon la définition de Fβ(x,y) ci-dessus, P(y∣x) n’est qu’une application de la formule de Gibbs-Boltzmann et z a été implicitement marginalisé à l’intérieur de celle-ci. Les physiciens appellent cela l’énergie libre, c’est pourquoi nous l’appelons F (free energy en anglais). Donc ee est l’énergie et F est l’énergie libre.
English: The difference is that in probabilistic models, you basically don’t have the choice of the objective function you’re going to minimize, and you have to stay true to the probabilistic framework in the sense that every object you manipulate has to be a normalized distribution (which you may approximate using variational methods, etc.). Here, we’re saying that ultimately what you want to do with these models is make decisions. If you build a system that drives a car, and the system tells you “I need to turn left with probability 0.8 or turn right with probability 0.2”, you’re going to turn left. The fact that the probabilities are 0.2 and 0.8 doesn’t matter – what you want is to make the best decision, because you’re forced to make a decision. So probabilities are useless if you want to make decisions. 
French: La différence est que dans les modèles probabilistes, nous n’avons pas le choix de la fonction objectif que nous allons minimiser. Il faut rester fidèle au cadre probabiliste au sens que chaque objet qui est manipulé doit avoir une distribution normalisée (qu’il est possible d’approximer en utilisant des méthodes variationnelles, etc.). Ce que nous voulons faire en fin de compte avec ces modèles, c’est prendre des décisions. Par exemple avec un système qui conduit une voiture et qui indique « Tourner à gauche avec une probabilité de 0,8 ou tourner à droite avec une probabilité de 0,2 », on va tourner à gauche. Le fait que les probabilités soient de 0,2 et 0,8 n’a pas d’importance. Ce que nous voulons, c’est prendre la meilleure décision, parce que nous sommes obligés de prendre une décision. Les probabilités sont donc inutiles quand nous voulons prendre des décisions.
English: There are 3 values of y that are possible, and they are infinitely narrow. So you wouldn’t be able to find them. There’s no inference algorithm that will allow you to find them. The only way you can find them is if you make your contrast function smooth and differentiable, and then you can start from any point and by gradient descent you can find a good value for y for any value of x. But this is not going to be a good probabilistic model of the distribution if the distribution is of the type I mentioned. So here is a case where insisting to have a good probabilistic model is actually bad. Maximum likelihood sucks [in this case]!
French: Il y a 3 valeurs de y qui sont possibles pour le x donné et elles sont infiniment étroites. Il n’y a pas d’algorithme d’inférence permettant de les trouver. La seule façon de faire ça est de rendre votre fonction contrastive lisse et différentiable. Alors il est possible de partir de n’importe quel point et par descente de gradient trouver une bonne valeur pour y pour n’importe quelle valeur de x. Mais ce ne sera pas un bon modèle probabiliste de la distribution si la distribution est comme celle mentionnée. Voici donc un cas où insister pour avoir un bon modèle probabiliste est en fait mauvais. Le maximum de vraisemblance est néfaste dans ce cas !
English: So if you are a true Bayesian, you say “oh but you can correct this by having a strong prior where the prior says your density function has to be smooth”. You could think of this as a prior. But, everything you do in Bayesian terms – take the logarithm thereof, forget about normalization – you get energy-based models. Energy-based models that have a regulariser, which is additive to your energy function, are completely equivalent to Bayesian models where the likelihood is exponential of the energy, and now you get exp(energy)exp(regulariser), and so it’s equal to exp(energy+regulariser). And if you remove the exponential you have an energy-based model with an additive regulariser. So there is a correspondence between probabilistic and Bayesian methods there.
French: Si vous êtes un Bayésien, vous dites « oh mais on peut corriger ça en ayant un a priori fort indiquant que la fonction de densité doit être lisse ». Mais, tout ce qui est fait en termes bayésiens (mathématiquement parlant), mène aux modèles à base d’énergie. Les EBMs qui ont un régulariseur, qui est additif à la fonction d’énergie, sont complètement équivalents aux modèles bayésiens où la vraisemblance de l’énergie est exponentielle : nous avons exp(énergie)exp(régulariseur) et c’est égal à exp(énergie+régulariseur). Supprimer l’exponentielle, donne un modèle à base d’énergie avec un régulariseur additif. Il y a donc là une correspondance entre les méthodes probabilistes et bayésiennes.
English: Self Supervised Learning (SSL) encompasses both supervised and unsupervised learning. The objective of the SSL pretext task is to learn a good representation of the input so that it can subsequently be used for supervised tasks. In SSL, the model is trained to predict one part of the data given other parts of the data. For example, BERT was trained using SSL techniques and the Denoising Auto-Encoder (DAE) has particularly shown state-of-the-art results in Natural Language Processing (NLP).
French: L’apprentissage autosupervisé (SSL pour Self-Supervised Learning) englobe à la fois l’apprentissage supervisé et non supervisé. L’objectif du SSL est d’apprendre une bonne représentation de l’entrée afin qu’elle puisse ensuite être utilisée pour des tâches supervisées. En SSL, le modèle est entraîné pour prédire une partie des données en fonction d’autres parties des données. Par exemple, BERT a été entraîné en combinant le SSL et l’auto-encodeur débruiteur. Ce modèle a montré des résultats de pointe en traitement du langage naturel (NLP pour Natural Language Processing).
English: For example, if a system is trained to predict the next frame when the camera is moved, the system will implicitly learn about the depth and parallax. This will force the system to learn that objects occluded from its vision do not disappear but continue to exist and the distinction between animate, inanimate objects, and the background. It can also end up learning about intuitive physics like gravity.
French: Par exemple, si un système est entraîné à prédire l’image suivante d’une vidéo, lorsque la caméra est déplacée, le système apprend implicitement la profondeur et la parallaxe. Cela oblige le système à apprendre que les objets occultés de sa vision ne disparaissent pas mais continuent d’exister. De même pour la distinction entre les objets animés, inanimés et l’arrière-plan. Le système peut également finir par apprendre la physique intuitive comme la gravité.
English: State-of-the-art NLP systems (BERT) pre-train a giant neural network on an SSL task. You remove some of the words from a sentence and make the system predict the missing words. This has been very successful. Similar ideas were also tried out in computer vision realm. As shown in the image below, you can take an image and remove a portion of the image and train the model to predict the missing portion.
French: Les systèmes de NLP de pointe sont pré-entraînés via des réseaux neuronaux géants et du SSL. Nous supprimons certains mots d’une phrase et faisons en sorte que le système prédise les mots manquants. Cette méthode (BERT) a été couronnée de succès. Des idées similaires ont également été expérimentées dans le domaine de la vision par ordinateur. Comme le montre l’image ci-dessous, il est possible de prendre une image et en supprimer une partie, puis entraîner le modèle à prédire la partie manquante.
English: Although the models can fill in the missing space they have not shared the same level of success as NLP systems. If you were to take the internal representations generated by these models, as input to a computer vision system, it is unable to beat a model that was pre-trained in a supervised manner on ImageNet. The difference here is that NLP is discrete whereas images are continuous. The difference in success is because in the discrete domain we know how to represent uncertainty, we can use a big softmax over the possible outputs, in the continuous domain we do not.
French: Bien que les modèles puissent combler l’espace manquant, ils n’ont pas connu le même succès que les applications en NLP. Si nous prenons les représentations internes générées par ces modèles et les donnons en entrée d’un système de vision par ordinateur, celui-ci est incapable de battre un modèle qui a été pré-entraîné de manière supervisée sur ImageNet. La différence de succès est qu’en NLP les mots sont discrets alors qu’en vision les images sont continues. Dans le domaine discret, nous savons comment représenter l’incertitude, nous pouvons utiliser un grand softmax sur les sorties possibles alors que ce n’est pas le cas dans le domaine continu.
English: An intelligent system (AI agent) needs to be able to predict the results of its own action on the surroundings and itself to make intelligent decisions. Since the world is not completely deterministic and there is not enough compute power in a machine/human brain to account for every possibility, we need to teach AI systems to predict in the presence of uncertainty in high dimensional spaces. Energy-based models (EBMs) can be extremely useful for this.
French: Un système intelligent doit être capable de prédire les résultats de sa propre action sur l’environnement et de prendre lui-même des décisions intelligentes. Comme le monde n’est pas complètement déterministe et qu’il n’y a pas assez de puissance de calcul dans une machine/un cerveau humain pour prendre en compte toutes les possibilités, nous devons apprendre aux systèmes d’IA à prédire en présence d’incertitude dans les espaces en grandes dimensions. Les EBMs peuvent être extrêmement utiles à cet effet.
English: A neural network trained using Least Squares to predict the next frame of a video will result in blurry images because the model cannot exactly predict the future so it learns to average out all possibilities of the next frame from the training data to reduce the loss.
French: Un réseau neuronal entraîné à l’utilisation des moindres carrés pour prédire la prochaine image d’une vidéo produira des images floues parce que le modèle ne peut pas prédire exactement l’avenir. Pour réduire la perte, il apprend donc à faire la moyenne de toutes les possibilités de la prochaine image à partir des données d’entraînement.