lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: One way to solve these issues is to make use of other languages related to Nepali. For example, Hindi is a much higher resource language and belongs to the same family as Nepali. We can extend this to other languages also.
French: Une façon de résoudre ces problèmes est de faire appel à d’autres langues liées au népalais. Par exemple, l’hindi est une langue aux ressources beaucoup plus élevées et appartient à la même famille que le népalais. Nous pouvons étendre cela à d’autres langues également.
English: In practice, whenever a model is being trained, there is a lot of effort that goes in analyzing the model and the properties of the data. This whole thing is an iterative process and the machine learning practitioner needs to view this with a complete picture. Secondly, if there is less data, we can downscale the model, which isn’t desirable. We need to come up with ways to enlarge the dataset somehow or use unsupervised techniques.
French: En pratique, chaque fois qu’un modèle est entraîné, de nombreux efforts sont déployés pour analyser le modèle et les propriétés des données. Il s’agit d’un processus itératif nécessitant d’avoir une vue d’ensemble de la situation. Deuxièmement, s’il y a moins de données, nous pouvons réduire l’échelle du modèle, ce qui n’est pas souhaitable. Nous devons trouver des moyens d’élargir le jeu de données d’une manière ou d’une autre ou utiliser des techniques non supervisées.
English: Going back to the same example of English-Nepali news translation, we collect data belonging to different domains. Here, dataset of Bible and GNOME, Ubuntu won’t be of much help for news translation.
French: Pour revenir à l’exemple de traduction d’actualités en anglais-népalais, nous collectons des données appartenant à différents domaines. Ici, le jeu de données de la Bible, de GNOME/Ubuntu ne seront pas d’une grande aide pour la traduction d’actualités.
English: The question here is how can we evaluate the part of dataset that is not there on the right side (Nepali)? This lead to creation of FLoRes Evaluation Benchmark. It contains texts (taken from Wikipedia documents) from Nepali, Sinhala, Khmer, Pashto.
French: La question ici est : comment pouvons-nous évaluer la partie de l’ensemble de données absente sur le côté droit (népalais) ?
English: These sentences are translated and the quality of the translations are determined using the automatic checks and human evaluation. There are several techniques in automatic checks, a model was trained on each language and perplexity was measured. If the perplexity is too high, then we go back to translation stage as shown above. Other checks are transliteration, using Google Translate, etc. There is no criteria or conditions for when this loop is stopped, essentially it depends on the perplexity and any outliers.
French: Ces phrases sont traduites et la qualité des traductions est déterminée à l’aide de contrôles automatiques et d’évaluations humaines. Il existe plusieurs techniques dans les vérifications automatiques. Un modèle a été entraîné sur chaque langue et la perplexité a été mesurée. Si la perplexité est trop élevée, nous revenons à l’étape de traduction comme indiqué ci-dessus. D’autres vérifications sont la translittération, l’utilisation de Google Translate, etc. Il n’y a pas de critères ou de conditions pour savoir quand cette boucle doit s’arrêter, cela dépend essentiellement de la perplexité et des éventuelles valeurs aberrantes.
English: Figure 17 shows some examples. As we can see, they are not really fluent. One more issue with these is that the wikipedia articles of Sinhala language mostly contain topics of very limited number of domains (like their religion, country, etc.)
French: La figure 17 montre quelques exemples. Comme on peut le constater, elles ne sont pas vraiment fluides. Un autre problème est que les articles Wikipedia de la langue singhalaise contiennent surtout des sujets d’un nombre très limité de domaines (comme la religion, l’histoire du pays, etc.).
English: We start with standard machine learning algorithms can be applied in the realm of machine translation translation. Then, we take a deeper look into understanding different perspectives on this application. Our setting consists of multiple languages and multiple domains, but eventually we want to maximize translation accuracy of a certain domain in a language class.
French: Nous commençons par les algorithmes d’apprentissage automatique standard qui peuvent être appliqués dans le domaine de la traduction automatique. Ensuite, nous approfondissons la compréhension des différentes perspectives de cette application. Notre cadre porte en plusieurs langues et plusieurs domaines, mais finalement nous voulons maximiser la précision de la traduction d’un certain domaine dans une classe de langue.
English: Taking a deeper look at the type of data we are presented with in machine translation, we can better understand how these applications can be mapped to machine learning techniques. For example, if we have a parallel dataset in the space of machine translation, then we have its equivalent in supervised learning. Second, we could have monolingual data in machine translation–this translates to semi-supervised learning within the machine learning framework. Third, if we have multiple language paris in machine translation, we can closely compare this to multi-task learning within the ML space. And lastly, if we have multiple domains in machine translation, we can compare this to domain adaptation in machine learning. When you have many domains, you naturally also want to use different domain adaptation techniques
French: En examinant de plus près le type de données qui nous sont présentées dans le domaine de la traduction automatique, nous pouvons mieux comprendre comment ces applications peuvent être mises en correspondance avec les techniques d’apprentissage automatique. Par exemple, si nous avons un jeu de données parallèles dans l’espace de la traduction automatique, nous avons son équivalent dans l’apprentissage supervisé. Deuxièmement, nous pourrions avoir des données monolingues en traduction automatique, ce qui se traduit par un apprentissage semi-supervisé dans le cadre de l’apprentissage automatique. Troisièmement, si nous avons des paires multilingues dans la traduction automatique, nous pouvons comparer cela à l’apprentissage multi-tâches. Et enfin, si nous avons plusieurs domaines en traduction automatique, nous pouvons comparer cela à l’adaptation de domaine dans l’apprentissage automatique. Lorsque vous avez plusieurs domaines, vous souhaitez naturellement utiliser différentes techniques d’adaptation.
English: Let’s start with a simple case study within the realm of supervised learning. For example, let’s say that we have a sentence in English and we want to translate it to Nepali. This is similar to multitask learning in the sense that you have one task, and then you add another task you’re interested in. Since we have multiple domains we can start thinking about domain adaptation techniques and analyzing which domain adaptation techniques are applicable to machine translation.
French: Commençons par une étude de cas simple dans le domaine de l’apprentissage supervisé. Par exemple, disons que nous avons une phrase en anglais et que nous voulons la traduire en népalais. Ceci est similaire à l’apprentissage multitâche dans le sens où nous avons une tâche, puis nous ajoutons une autre tâche qui vous intéresse. Puisque nous avons plusieurs domaines, nous pouvons commencer à réfléchir aux techniques d’adaptation au domaine et analyser quelles techniques d’adaptation au domaine sont applicables à la traduction automatique.
English: One way to represent this methodology is by the diagram, where you have a blue encoder that processes English sentences, and a red decoder that processes Nepali. From here, we want to compute our cross-entropy loss and update our model parameters. We may also want to regularize the model using either dropout or label smoothing. Additionally, we may need to regularize using the log loss
French: Une façon de représenter cette méthodologie est via un diagramme où nous avons un encodeur bleu qui traite les phrases anglaises et un décodeur rouge qui traite le népalais. À partir de là, nous voulons calculer notre perte d’entropie croisée et mettre à jour les paramètres de notre modèle. Nous pouvons également vouloir régulariser le modèle en utilisant le dropout ou le lissage d’étiquettes. En outre, nous pouvons avoir besoin de régulariser en utilisant la perte logarithmique :
English: One way to leverage an additional dataset is by trying to model p(x) with a semi-supervised approach. One way to model p(x) is via the denoising of an auto-encoder. This is particularly useful because the encoder and decoder share a similar machine translation methodology. In the semi-supervised learning approach, going from English to Nepali, we have:
French: Une façon d’exploiter un jeu de données supplémentaire est d’essayer de modéliser p(x) avec une approche semi-supervisée. Une façon de modéliser p(x) est via un auto-encodeur débruiteur (DAE pour denoising auto-encoder). Cette méthode est particulièrement utile car l’encodeur et le décodeur partagent une méthodologie de traduction automatique similaire. Dans l’approche d’apprentissage semi-supervisé, en passant de l’anglais au népalais, nous avons :
English: Another approach would be via self-training or pseudolearning. This is an algorithm from the 90s and the idea is that you take your sentence from the monolingual dataset and then you inject noise to it, you encode the poor translation you made and then make a prediction to produce the desired outcome. You can tune the parameters by minimizing the standard cross entropy loss on the labeled data. In other words, we are minimizing Lsup(θ)+λLSTθ. We are basically using a stale version of our model to produce the desired output y.
French: Une autre approche serait via l’auto-entraînement ou le pseudo-apprentissage. Il s’agit d’un algorithme des années 90. L’idée est de prendre la phrase du jeu de données monolingue, d’y injecter du bruit, puis d’encoder la mauvaise traduction effectuée. On effectue une prédiction pour produire le résultat souhaité. Il est possible de régler les paramètres en minimisant la perte d’entropie croisée standard sur les données étiquetées. En d’autres termes, nous minimisons Lsup(θ)+λLSTθ. En fait, nous utilisons une version périmée de notre modèle pour produire le résultat souhaité, à savoir y.
English: This method works because: (1) when we produce y, we typically trying to learn the search procedure (2) we insert noise which creates smoothing for the output space
French: Cette méthode fonctionne car : (1) lorsque nous produisons y, nous essayons typiquement d’apprendre la procédure de recherche (2) nous insérons du bruit qui crée un lissage de l’espace de sortie
English: This is the learning framework for multilingual training, which shares encoder and decoder across all the language pairs, prepends a target language identifier to the source sentence to inform decoder of desired language and concatenates all the datasets together.
French: Voici le cadre d’apprentissage pour l’entraînement multilingue qui partage l’encodeur et le décodeur à travers toutes les paires de langues. On prépointe un identifiant de la langue cible à la phrase source pour informer le décodeur de la langue désirée et qui concatène tous les ensembles de données ensemble.
English: If you have small data in domain validation, what you can do is fine-tuning, which is super effective. Basically train on domain A and finetune on domain B by continuing training for a little bit on the validation set.
French: Si nous avons de petites données dans la validation de domaine, nous pouvons finetuner. En gros, on entraîne sur le domaine A et on finetune sur le domaine B en poursuivant l’entraînement pendant un petit moment sur l’ensemble de validation.
English: The following architecture first translate French to some random unknown English words. Since there is no ground truth reference, what could do is feeding this translation to another machine translation system goes from English to French.
French: L’architecture suivante traduit d’abord le français en quelques mots anglais inconnus et aléatoires. Puisqu’il n’y a pas de référence de base, ce qui peut être fait est de donner cette traduction à un autre système de traduction automatique allant de l’anglais au français.
English: DAE adds a constraint on the xˉ to make sure that decoder outputs fluently in the desired language. One way is adding denoising of the encoding turn to the loss function. This may not work since decoder may behave differently when fed with representations from French encoder vs English encoder (lack of modularity)
French: Le DAE ajoute une contrainte sur xˉ pour s’assurer que le décodeur produit couramment dans la langue désirée. Une façon de faire est d’ajouter le débruitage d’encodage à la fonction de perte. Cela peut ne pas fonctionner car le décodeur peut se comporter différemment lorsqu’on lui donne des représentations provenant d’un encodeur français par rapport à un encodeur anglais (manque de modularité).
English: One way to fix is by sharing all parameters of encoder and decoder so that the feature space share no matter whether you feed the French or English sentence (only one encoder and decoder now)
French: Une façon de résoudre le problème est de partager tous les paramètres de l’encodeur et du décodeur afin que l’espace des caractéristiques soit partagé, peu importe si on donne une phrase en français ou en anglais (un seul encodeur et décodeur maintenant).
English: Typically, in machine learning and machine translation, we always consider a domain mismatch between the training and the test distribution. When we have a slightly different domain, we need to do domain adaptation (e.g. domain tagging and finetuning). Here we will talk about a different domain mismatch which is:
French: En général, dans le domaine de l’apprentissage automatique et de la traduction automatique, nous considérons un décalage de domaine entre la distribution d’entraînement et la distribution de test. Lorsque nous avons un domaine légèrement différent, nous devons procéder à une adaptation au domaine (par exemple, l’étiquetage du dommaine ou le finetuning).
English: Here we discuss a state transition equation where x represents the state, u represents control. We can formulate the state transition function in a continuous-time system where x(t) is a function of continuous variable t.
French: Nous abordons ici une équation de transition d’état où x représente l’état et u représente la commande. Nous pouvons formuler la fonction de transition d’état dans un système à temps continu où x(t) est une fonction de la variable continue t.
English: We use a tri-cycle as the example to study it. The orange wheel is the control u, (xc,yc) is the instantaneous center of rotation. You can also have two wheels in the front. For simplicity, we use one wheel as the example.
French: Nous utilisons un tricycle comme exemple pour l’étudier. La roue orange est la commande u, (xc,yc) est le centre de rotation instantané. On peut aussi avoir deux roues à l’avant. Pour simplifier, nous utilisons une roue comme exemple.
English: Below is an RNN schematic chart. We feed variable x[t] and the previous state h[t−1] into the predictor, while h[0] is set to be zero. The predictor outputs the hidden representation h[t].
French: Voici le schéma d’un RNN. Nous introduisons la variable x[t] et l’état précédent h[t−1] dans le prédicteur, tandis que h[0] est fixé à zéro. Le prédicteur sort la représentation cachée h[t].
English: Backprop is implemented in both RNN and Optimal Control. However, gradient descent is implemented with respect to predictor’s parameters in RNN, and is implemented wrt latent variable z in optimal control.
French: La rétropropagation est implémentée à la fois dans le RNN et dans le contrôle optimal. Cependant, la descente de gradient est implémentée par rapport aux paramètres du prédicteur dans le RNN et est implémentée par rapport à la variable latente z dans le contrôle optimal.
English: In unfolded version of optimal control, cost can be set to either the final step of the tri-cycle or every step of the tri-cycle. Besides, cost functions can take many forms, such as Average Distance, Softmin, etc.
French: Dans la version dépliée du contrôle optimal, le coût peut être fixé soit à l’étape finale du tricycle, soit à chaque étape du tricycle. En outre, les fonctions de coût peuvent prendre de nombreuses formes, telles que la distance moyenne, la softmin, etc.
English: From the figure below, we can see there is only one cost c set in the final step (step 5), which measures the distance of our target y and state x[5]x[5] with control z[5]z[5]
French: Sur la figure ci-dessous, nous pouvons voir qu’il n’y a qu’un seul coût c fixé à l’étape finale (étape 5) mesurant la distance de notre cible y et de l’état x[5] avec le contrôle z[5].
English: From the figure above, it is seen that when T=5 or T=6, the final position meets the target position, but when T is above 6 the final position does not.
French: D’après la figure ci-dessus, on constate que lorsque T=5 ou T=6, la position finale respecte la position cible. Mais lorsque T est supérieur à 6, la position finale ne le fait pas.
English: From the figure above, it is seen that when T=5 or T=6, the final position roughly meets the target position, but when T is above 6 the final position does not.
French: D’après la figure ci-dessus, on constate que lorsque T=5 ou T=6, la position finale correspond à peu près à la position cible. Mais que lorsque T est supérieur à 6, la position finale ne correspond pas.
English: In this section, we discussed Visual Representation Learning, focused on self-supervised visual representation learning. This can be classified into Generative models, Pretext Tasks and Joint Embedding methods. In generative models, you train the model to reconstruct the original image from the noisy image. In pretext tasks, you train the model to figure out a smart way to generate pseudo labels. Joint Embedding methods try to make their backbone network robust to certain distortions and are invariant to data augmentation. JEM training methods can be classified into four types: contrastive methods, non-contrastive methods, clustering methods and Other methods. He concluded the lecture by discussing contrastive methods which push positive pairs closer and negative pairs away.
French: Dans cette section, nous abordons l’apprentissage de représentations visuelles en nous concentrant sur l’apprentissage autosupervisé. Les méthodes applicables peuvent être classées en modèles génératifs, tâches de prétexte et méthodes d’enchâssements joints. Dans les modèles génératifs, on entraîne le modèle à reconstruire l’image originale à partir de l’image bruitée. Dans les tâches de prétextes, on entraîne le modèle à trouver un moyen intelligent de générer des pseudo-étiquettes. Les méthodes d’enchâssements joints tentent de rendre leur backbone robuste à certaines distorsions et invariant à l’augmentation des données. Les méthodes d’entraînement des JEMs peuvent être classées en quatre types : méthodes contrastives, méthodes non-contrastives, méthodes de clustering et les « autres méthodes ». Nous concluons en discutant des méthodes contrastives qui rapprochent les paires positives et éloignent les paires négatives.
English: In this section, we discussed non-contrastive methods which are based on information theory and don’t require special architectures or engineering techniques. Then, he went on to discuss clustering methods which prevent trivial solution by quantizing the embedding space. Finally, he discussed “Other” methods which are local and don’t create problem with distributed training unlike previous methods. He concluded the lecture by suggesting various improvisations for JEMs w.r.t Data augmentation and network architecture.
French: Dans cette section, nous abordons les méthodes non-contrastives qui sont basées sur la théorie de l’information et ne nécessitent pas d’architectures ou de techniques d’ingénierie particulières. Ensuite, nous voyons les méthodes de clustering qui empêchent une solution triviale en quantifiant l’espace d’enchâssement. Enfin, nous parlons d’« autres méthodes » qui sont locales et ne créent pas de problème pour l’entraînement distribué contrairement aux méthodes précédentes. Nous concluons en suggérant diverses améliorations pour les JEMs par rapport à l’augmentation de données et l’architecture des réseaux.
English: Representation learning trains a system to produce the representations required for feature detection or classification from raw data. Visual representation learning is about the representations of images or videos in particular.
French: L’apprentissage de représentation consiste à entraîner un système à produire des représentations, pour la détection de caractéristiques ou pour la classification, à partir de données brutes. L’apprentissage de représentations visuelles concerne les représentations d’images ou de vidéos en particulier.
English: It can be performed in two ways: feature extraction and finetuning. Both these methods generate representation from ​​the image and then use it to train DsTH ( Downstream Task Head ). The learning of the downstream task would thus be in the representation space instead of the image space. The only difference between the two methods is the stop gradient before the encoder. In finetuning, we can change the encoder unlike in feature extraction.
French: Elle peut être réalisée de deux manières : l’extraction de caractéristiques et le finetuning. Ces deux méthodes génèrent une représentation à partir de l’image et l’utilisent ensuite pour entraîner la tête de tâche en aval (DsTH pour Downstream Task Head). L’apprentissage de la tâche en aval se fait donc dans l’espace de représentation au lieu de l’espace d’image. La seule différence entre ces deux méthodes est l’arrêt du gradient avant l’encodeur. Dans le finetuning, nous pouvons changer l’encodeur, contrairement à l’extraction de caractéristiques.
English: The popular one is the denoising autoencoder. You train the model to reconstruct the original image from the noisy image. After the training, we retain the encoder for the downstream task.
French: Le plus Populaire est l’auto-encodeur débruiteur. On entraîne le modèle à reconstruire l’image originale à partir de l’image bruitée. Après l’entraînement, on réentraîne l’encodeur pour la tâche en aval.
English: The model tries to solve a problem that is too hard. For example: For a lot of downstream tasks, you don’t have to reconstruct the image, which is a tougher problem than the downstream task itself. Also, sometimes the loss function is not good enough. For example: the Euclidean distance used as a reconstruction loss metric isn’t a good metric for comparing the similarity between two images.
French: Le modèle tente de résoudre un problème qui est trop difficile. Par exemple, pour beaucoup de tâches en aval, il ne faut pas reconstruire l’image qui est un problème plus complexe que la tâche en aval elle-même. De même, il arrive que la fonction de perte ne soit pas assez bonne. Par exemple, la distance euclidienne utilisée comme métrique de perte de reconstruction n’est pas une bonne métrique pour comparer la similarité entre deux images.
English: It’s almost the same as above but you train the model to figure out a smart way to generate pseudo labels. For example: Given the image of a tiger, the shuffled image is the input x, and the output y would be the correct way of labeling the patches. The network successfully reinventing the patches indicates that it understands the image.
French: C’est presque la même chose que ci-dessus mais on entraîne le modèle à trouver un moyen intelligent de générer des pseudo-étiquettes. Par exemple, étant donné l’image d’un tigre, l’image mélangée est l’entrée x et la sortie y serait la bonne manière d’étiqueter les patchs. Le fait que le réseau réussisse à réinventer les patchs indique qu’il comprend l’image.