lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: For each y(i)∈Y,i∈[1,24], we can compute the corresponding energy given each y~​ by changing z. Therefore, we may visualize 24 energy functions E1​,…,E24​, where energy quantity on y-axis is plotted against the choice of latent variable z on the x-axis (Figure 4).
French: Pour chaque y(i)∈Y,i∈[1,24], nous pouvons calculer l’énergie correspondante donnée à chaque y~​ en changeant z. Par conséquent, nous pouvons visualiser 24 fonctions d’énergie E1​,…,E24​, où la quantité d’énergie sur l’axe des y est tracée en fonction du choix de la variable latente z sur l’axe des x (figure 4).
English: Note that the energy, E23​, yields a periodic function with a maximum near z=0 and 2π and minimum near z=π. This symmetric form arises due to the location y(23) in the y space relative to the decoded y~​.
French: L’énergie, E23, donne une fonction périodique avec un maximum proche de z=0 et 2π et un minimum proche de z=π. Cette forme symétrique est due à la position y(23) dans l’espace y par rapport au y~​ décodé.
English: As shown in Figure 6, y(23) marked by the green point is closely aligned to the horizontal axis of y~​ shown in purple which yields symmetry in E23​. The latent variable z acts as a reverse polar coordinates angle such that the positive direction is clockwise. At z=0 (the leftmost purple point), the Euclidean distance between y~​ and y(23) is largely resulting in high energy. As z approaches π (the rightmost purple point), y~​ gets closer to y(23) which decreases the energy towards a minimum level. Conversely, as z increases beyond π towards 2π, the distance between y~ and y(23) increases, and hence the energy also increases towards a maximum.
French: Comme le montre la figure 6, y(23) marqué par le point vert, est étroitement aligné sur l’axe horizontal de y~​, indiqué en violet. Cela donne une symétrie en E23​. La variable latente z agit comme un angle de coordonnées polaires inversées de telle sorte que le sens positif est dans le sens des aiguilles d’une montre. À z=0 (le point violet le plus à gauche), la distance euclidienne entre y~​ et y(23) se traduit en grande partie par une énergie élevée. Lorsque z s’approche de π (le point violet le plus à droite), y~​ se rapproche de y(23), ce qui réduit l’énergie vers un niveau minimum. Inversement, lorsque z augmente au-delà de π vers 2π, la distance entre y~​ et y(23) augmente, et donc l’énergie augmente également vers un maximum.
English: As depicted in Figure 5, to find the free energy associated with y(23) we’ll start with an initial latent variable z~. zˇ can be evaluated through optimization algorithms such as exhaustive search, conjugate gradient, line search, or limited-memory BFGS. The free energy is the minimum value of the energy with respect to the latent variable.
French: Comme le montre la figure 5, pour trouver l’énergie libre associée à y(23), nous commençons par une variable initiale latente z~. zˇ peut être évalué par des algorithmes d’optimisation tels que la recherche exhaustive, le gradient conjugué, la recherche linéaire ou le BFGS à mémoire limitée. L’énergie libre est la valeur minimale de l’énergie par rapport à la variable latente.
English: Figure 7 below shows the evaluation of the free energy in the y space. Note that throughout the optimization, the latent variable is increased such that y~​ moves clockwise toward y(23). At the free energy, the energy and consequently the distance between y~​ and y(23) is minimized.
French: La figure 7 ci-dessous montre l’évaluation de l’énergie libre dans l’espace y~. Notons que tout au long de l’optimisation, la variable latente est augmentée de telle sorte que y~​ se déplace dans le sens des aiguilles d’une montre vers y(23). À l’énergie libre, l’énergie (et donc la distance entre y~​ et y(23)) est minimisée.
English: In evaluating the free energy F∞​ and its associated latent variable zˇ, we are able to find the decoded y~​ which is close to the sample data y(i).
French: En évaluant l’énergie libre, F∞​, et sa variable latente associée zˇ, nous sommes capables de trouver le y~​ décodé qui est proche des données de l’échantillon y(i).
English: To compute the free energy, F∞​, at each mesh grid point with respect to the manifold in blue color (which is also the all possible choices of the latent variables z~), we first recall the definition of Free Energy Function as below:
French: Pour calculer l’énergie libre, F∞​, à chaque point de la grille de maille par rapport à la variété en bleue (qui est également l’ensemble des choix possibles des variables latentes z~), nous rappelons d’abord la définition de la fonction d’énergie libre ci-dessous :
English: Given the formula of the energy function, E(y,z), and a location (sample) y~, our minimization process starts with inference, which is exactly the process to find the latent variable zˇ that most likely generates our location of sample. Graphically speaking with Figure 8, we start with an arbitrary point z on the blue manifold and then move around the manifold to find the point, zˇ, on the manifold that is closest to our sample location, y~. As a result, the free energy would be the Euclidean distance between our sample point y and the picked y~​(zˇ).
French: Étant donné la formule de la fonction énergie E(y,z) et un emplacement (un échantillon) y~, notre processus de minimisation commence par l’inférence qui est exactement le processus pour trouver la variable latente zˇ générant notre emplacement le plus probable. Sur le graphique de la figure 8, nous commençons par un point arbitraire z sur la variété en bleue, puis nous nous déplaçons autour pour trouver sur la variété le point zˇ qui est le plus proche de notre emplacement y~. Par conséquent, l’énergie libre est la distance euclidienne entre notre point d’échantillonnage y et le point choisi y~​(zˇ).
English: Utilizing what we learned above and give a guess to the energy function shapes of these five points, with respect to different choices of latent variable z on the manifold. Exactly, the blue point will likely have energy function with the largest magnitude, and thus the largest free energy among the 5, and the orange point will likely have the smallest free energy.
French: Utilisons ce que nous avons appris ci-dessus et donnons une estimation des formes de la fonction d’énergie pour ces cinq points, par rapport aux différents choix de la variable latente z sur la variété. Le point bleu est probablement la fonction d’énergie avec la plus grande magnitude et donc la plus grande énergie libre parmi les 5. Le point orange a probablement la plus petite énergie libre.
English: Continuing the above example, we should note that our Free Energy Function, F∞​, only takes non-negative scalar values for its range (because we are using Euclidean distance for E(y,z)), and the domain of our Free Energy Function, F∞​, is R2 (only the y space), so generally we haveF∞​:R2→R+. We now use the free energy values as our inference to plot the above mesh grid as the following heat map, shown in Figure 11. To be noted, arrows represent gradient values.
French: En poursuivant l’exemple ci-dessus, nous devons noter que notre fonction d’énergie libre, F∞​, ne prend que des valeurs scalaires non négatives pour son domaine (car nous utilisons la distance euclidienne pour E(y,z)). Le domaine de notre fonction d’énergie libre, F∞​, est R2 (seulement l’espace y~), donc généralement nous avons F∞​:R2→R+. Nous utilisons maintenant les valeurs d’énergie libre comme inférence pour tracer la grille de maille comme la carte thermique illustrée à la figure 11. À noter que les flèches représentent les valeurs de gradient.
English: To sum up, we only discuss a single example of Free Energy here. In real circumstances, we will have much wider choices of latent variables, z~, rather than the only choice of ellipse manifold in our example. However, we need to keep in mind that the free energy value, F∞​, is not dependent on the latent variable at all.
French: Pour résumer, nous ne discutons ici que d’un seul exemple d’énergie libre. Dans des circonstances réelles, nous aurons un choix beaucoup plus large de variables latentes z~, plutôt que le seul choix de multiples ellipses dans notre exemple. Cependant, nous devons garder à l’esprit que la valeur de l’énergie libre, F∞​, ne dépend pas du tout de la variable latente.
English: Energy surface, which takes the value of free energy, F∞​, is exactly the minimum value of our energy function E(y,z) across all possible latent variables, z~. Therefore, F∞​ is not dependent on z~, but only on y~, which outputs a scalar value for each choice of y~. Considering the mesh grid example above, the mesh grid has 17×25=425 points, so we will have 425 free energy values, and each value is the quadratic Euclidean distance from each point to the manifold.
French: La surface énergétique, qui prend la valeur de l’énergie libre F∞​, est exactement la valeur minimale de notre fonction d’énergie E(y,z) parmi toutes les variables latentes z possibles. Par conséquent, F∞​ ne dépend pas de z~, mais seulement de y~, qui produit une valeur scalaire pour chaque choix de y~. En considérant l’exemple de maillage ci-dessus, celui-ci a 17×25=425 points. Nous avons donc 425 valeurs d’énergie libre et chaque valeur est la distance euclidienne quadratique de chaque point de la variété.
English: There are numerous researches about choices of the latent variable, and we may have a few layers of Neural Networks to represent the choices of latent variables. One typical example is language translation. We can translate a sentence in different ways, and we may not use a softmax function for our model training as there will be infinitely many possible resulted sentences after translation. Therefore, we can use EBM here, and the energy function will tell how compatible is between our original sentence and translated sentence.
French: Il existe de nombreuses recherches sur les choix de la variable latente et nous pouvons avoir quelques couches de réseaux de neurones pour représenter les choix des variables latentes. Un exemple typique est celui de la traduction linguistique. Nous pouvons traduire une phrase de différentes manières et nous ne pouvons pas utiliser une fonction softmax pour l’entraînement de notre modèle car il y aura une infinité de phrases possibles après la traduction. Par conséquent, nous pouvons utiliser ici l’EBM et la fonction d’énergie nous dit dans quelle mesure la phrase originale et la phrase traduite sont compatibles.
English: Here, F∞​ is the zero temperature limit free energy, y is a 2D vector. This free energy is the quadratic euclidean distance from the model manifold, and all points that are within the model manifold have zero energy. As you move away, it’s going to increase up quadratically.
French: Ici, F∞​ est la limite vers zéro de la température de l’énergie libre et y est un vecteur 2D. Cette énergie libre est la distance euclidienne quadratique par rapport à la variété du modèle. Tous les points qui se trouvent dans la variété du modèle ont une énergie nulle. En s’éloignant, elle augmente de façon quadratique.
English: All the regions around the ellipse that is with the manifold ellipse is going to have zero energy but at the centre, there is an infinite zero temperature limit free energy. In order to avoid this, we need to relax the free energy to one without local minima so that it becomes more smooth.
French: Toutes les régions autour de l’ellipse qui se trouve avec la variété en ellipse ont une énergie nulle. Au centre, il y a une limite vers zéro de la température de l’énergie libre qui est infinie. Pour éviter cela, nous devons détendre l’énergie libre à une énergie sans minima locaux afin qu’elle devienne plus lisse.
English: If we take y2​=0.4, then Fβ​(y)=0 and as we move linearly away from the point towards the right-hand side, the free energy increases quadratically. Similarly, if we move towards 0, you will end up climbing towards the parabola, creating a peak in the centre.
French: Si nous prenons y2​=0,4, Fβ​(y)=0 et lorsque nous nous éloignons linéairement du point vers la droite, l’énergie libre augmente de façon quadratique. De même, si nous nous déplaçons vers 0, nous finissons par monter vers la parabole, créant un pic au centre.
English: where β=(kBT)−1 is the inverse temperature, consisting of the Boltzmann constant multiplied by the temperature. If the temperature is very high, β is going to be extremely small and if the temperature is cold, then β→∞.
French: où β=(kB​T)−1 est la température inverse, constituée de la constante de Boltzmann multipliée par la température. Si la température est très élevée, β sera extrêmement faible et si la température est froide, alors β→∞.
English: Here, we define −β1​log∣Z∣1​z∈Z∑​exp[−βE(y,z)] to be the softminzβ[E(y,z)], such that the relaxation of the zero temperature limit free energy becomes the actual-softmin.
French: Ici, nous définissons −β1​log∣Z∣1​z∈Z∑​exp[−βE(y,z)] pour être le softminzβ[E(y,z)], de sorte que la relaxation de la limite vers zéro de la température de l’énergie libre devient le softmin réel.
English: Now, let’s go back to how we can smooth the peak that formed due to the cold energy. If we choose the warmer free energy, we will get the following depiction:
French: Maintenant, revenons à la façon dont nous pouvons lisser le pic qui s’est formé en raison de l’énergie froide. Si nous choisissons l’énergie libre plus chaude, nous obtenons la représentation suivante :
English: As we increase the temperature by reducing β, the result is a parabola with a single global minima. As β approaches 0, you will end up with the average and recover the MSE.
French: Lorsque nous augmentons la température en réduisant les β, le résultat est une parabole avec un seul minimum global. Lorsque β s’approche de 0, on se retrouve avec la moyenne et on récupère la MSE.
English: A loss functional, minimized during learning, is used to measure the quality of the available energy functions. In simple terms, loss functional is a scalar function that tells us how good our energy function is. A distinction should be made between the energy function, which is minimized by the inference process, and the loss functional, which is minimized by the learning process.
French: Une perte fonctionnelle, minimisée lors de l’apprentissage, est utilisée pour mesurer la qualité des fonctions d’énergie disponibles. En termes simples, la perte fonctionnelle est une fonction scalaire qui nous indique la qualité de notre fonction d’énergie. Il convient de faire la distinction entre la fonction d’énergie, qui est minimisée par le processus d’inférence et la perte fonctionnelle qui est minimisée par le processus d’apprentissage.
English: where lenergy​ is the energy loss functional evaluated in y and y is the data point on the dataset. yˇ​ indicates the data points that are to be pushed down. This means the loss functionals should be minimized while training.
French: où lenergy​ est la fonction de perte d’énergie évaluée en y et y est le point de données sur l’ensemble de données. yˇ​ indique les points de données qui doivent être poussés vers le bas. Cela signifie que les pertes de fonctions doivent être réduites au minimum pendant l’entraînement.
English: where m is the margin and F(yˇ​) and F(y^​) are the free energies for “cold” (for correct labels) and “hot” energies (for incorrect labels) respectively.
French: où m est la marge et F(yˇ) et F(y^​) sont les énergies libres pour les énergies froides (pour les étiquettes correctes) et chaudes (pour les étiquettes incorrectes) respectivement.
English: Understand that there is a ReLU function [⋅]+ used on the output of m−[F(y^​)−F(yˇ​)], which means the value of this hinge loss function will always be non-negative. This implies if there are any negative values, they would become 0 due to this function.
French: Il existe une fonction ReLU [⋅]+ utilisée sur la sortie de m−[F(y^​)−F(yˇ​)], ce qui signifie que la valeur de cette fonction de perte hinge sera toujours non négative. Cela implique que s’il y a des valeurs négatives, elles deviendront nulles en raison de cette fonction.
English: Training will make F(y^​)−F(yˇ​) equal or grater than mm. If the difference becomes greater than mm, the overall value of [m−[F(y^​)−F(yˇ​)]] becomes negative, the hinge loss becomes 0. We can also say that we push the energies as long as the difference is less than m. However, if the difference becomes greater than the margin mm, we stop pushing. Hinge Loss Function does not have a smooth margin.
French: L’entraînement rend le terme F(y^)−F(yˇ) égal ou supérieur à mm. Si la différence devient supérieure à mm, la valeur globale de [m−[F(y^​)−F(yˇ​)]] devient négative, la perte hinge devient nulle. On peut aussi dire que nous poussons les énergies tant que la différence est inférieure à m. Cependant, si la différence devient supérieure à la marge mm, nous cessons de pousser. La fonction de perte hinge n’a pas une marge lisse.
English: The left hand side is the untrained version where for every training point, there is a corresponding x which is the location on the model manifold closest to the training point as seen in the picture. During training at ZTL (Zero Temperature Limit), the gradient makes the data point on the manifold that is closest to the training point be pushed towards the training point. We can see that after one epoch on the right hand side image, the trained version of the model shows the x points to arrive at the desired location and the energy goes to zero corresponding to the training points (blue points in the figure).
French: Le côté gauche est la version non entraînée où, pour chaque point d’entraînement, il y a un x correspondant qui est, sur la surface du modèle, l’emplacement le plus proche du point d’entraînement. Pendant l’entraînement à la ZTL (Zero Temperature Limit), le gradient fait que le point de données sur la variété qui est le plus proche du point d’entraînement est poussé vers ce dernier. On peut voir qu’après une époque, la version entraînée du modèle montre les points x arriver à l’endroit désiré. L’énergie passe à zéro correspondant ainsi aux points d’entraînement (points bleus dans la figure).
English: Let’s talk about marginalization now. When the model is trained at ZTL and the temperature is increased, the points were picked individually to be pushed towards the training point. However, in case of marginalization, if we pick one point y (the green cross point on the left bottom image), the gradient is just the average of all the arrows pointing towards this particular point y~). This makes all the points that get pulled towards y~, making sure that it does not overfit the training data. Notice how the trained version does not fit over all of the training points.
French: Lorsque le modèle est entraîné à la ZTL et que la température est augmentée, les points sont choisis individuellement pour être poussés vers le point d’entraînement. Cependant, en cas de marginalisation, si nous choisissons un point y (le point vert en croix sur l’image en bas à gauche), le gradient est juste la moyenne de toutes les flèches pointant vers ce point particulier y~). Tous les points sont tirés vers y~, en s’assurant que cela ne surcharge pas les données d’entraînement. La version entraînée ne s’adapte pas à tous les points d’entraînement.
English: For the ZTL (β=∞), we can see that the free energy has a high peak. As we decrease β, the spike keeps on reducing and we reduce it till we get this smooth parabolic plot in blue, which is the plot in case of marginalization.
French: Pour la ZTL (β=∞), nous pouvons voir que l’énergie libre a un pic élevé. Au fur et à mesure que nous diminuons β, le pic continue à diminuer et nous le réduisons jusqu’à obtenir ce graphique parabolique lisse en bleu, qui est le graphique en cas de marginalisation.
English: In this case the g function takes f and z~, and g can be a neural net. This time, the model has to learn that y moves around in circle, which is the sin and cos part we take for granted before.
French: Dans ce cas, la fonction g prend f et z~. g peut être un réseau neuronal. Cette fois, le modèle doit apprendre que y se déplace en cercle, ce qui est la partie sin et cos que nous considérons comme allant de soi auparavant.
English: Since a high dimension latent will lead to overfitting. We need to regularize z~. Otherwise, the model will memorize all the points, causing the energy to be zero across the space.
French: Puisqu’une haute dimension latente entraîne un surentraînement, nous devons régulariser z~. Sinon, le modèle mémorisera tous les points, ce qui fera que l’énergie sera nulle dans tout l’espace.
English: In the above diagram and equations, x∈Rn represents the input vector. Wk∈Rnk×nk−1​ represents the matrix of an affine transformation corresponding to the kth block and is described below in further detail. The function h is called the activation function and this function forms the non-linear block of the neural network. Sigmoid, ReLu and tanh are some of the common activation functions and we will look at them in the later parts of this section. After alternate applications of linear and non-linear blocks, the above network produces an output vector sk∈Rnk−1​.
French: Dans le schéma et les équations ci-dessus, x∈Rn représente le vecteur d’entrée. Wk​∈Rnk​×nk−1​ représente la matrice d’une transformation affine correspondant au keˋmekeˋme bloc et est décrite plus en détail ci-dessous. La fonction h est appelée fonction d’activation et cette fonction forme le bloc non linéaire du réseau neuronal. Sigmoïde, ReLU et tanh sont quelques-unes des fonctions d’activation les plus courantes et nous les examinerons dans les parties suivantes de cette section. Après des applications alternées des blocs linéaire et non linéaire, le réseau ci-dessus produit un vecteur de sortie sk​∈Rnk−1​.
English: Let us first have a look at the linear block to gain some intuition on affine transformations. As a motivating example, let us consider image classification. Suppose we take a picture with a 1 megapixel camera. This image will have about 1,000 pixels vertically and 1,000 pixels horizontally, and each pixel will have three colour dimensions for red, green, and blue (RGB). Each particular image can then be considered as one point in a 3 million-dimensional space. With such massive dimensionality, many interesting images we might want to classify – such as a dog vs. a cat – will essentially be in the same region of the space.
French: Examinons d’abord le bloc linéaire pour comprendre les transformations affines. Comme exemple considérons la classification d’images. Supposons que nous prenions une photo avec un appareil photo de 1 mégapixel. Cette image aura environ 1000 pixels verticalement et 1000 pixels horizontalement, et chaque pixel aura trois dimensions de couleur pour le rouge, le vert et le bleu (RVB). Chaque image peut donc être considérée comme un point dans un espace à 3 millions de dimensions. Avec une telle dimensionnalité, de nombreuses images intéressantes que nous pourrions vouloir classer, comme un chien vs un chat, se trouveront essentiellement dans la même région de l’espace.
English: In order to effectively separate these images, we consider ways of transforming the data in order to move the points. Recall that in 2-D space, a linear transformation is the same as matrix multiplication. For example, the following are transformations, which can be obtained by changing matrix characteristics:
French: Afin de séparer efficacement ces images, nous envisageons des moyens de transformer les données afin de déplacer les points. Rappelons que dans l’espace bidimensionnel, une transformation linéaire équivaut à une multiplication de matrice. Par exemple, les transformations suivantes peuvent être obtenues en changeant les caractéristiques de la matrice :