lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: In Autoencoder architecture , we observed there is no conditional input but only a target variable. The entire architecture is trying to learn the structure in these target variables. The target value y is fed through an encoder module which transforms into a hidden representation space, forcing only the most important information through. And the decoder will make these variables come back to the original target space with a y~​. And the cost function will try to minimize the distance between y~​ and y~.
French: Dans l’architecture d’un auto-encodeur, nous avons observé qu’il n’y a pas d’entrée conditionnelle mais seulement une variable cible. L’architecture entière essaie d’apprendre la structure de ces variables cibles. La valeur cible y est introduite dans un module encodeur qui la transforme en un espace de représentation caché, ne laissant passer que les informations les plus importantes. Et le décodeur fera en sorte que ces variables reviennent à l’espace cible original avec une valeur y~​. La fonction de coût va essayer de minimiser la distance entre y~​ et y~.
English: In a transformer, y (target sentence) is a discrete time signal. It has discrete representation in a time index. The y is fed into a unit delay module succeeded by an encoder. The unit delay here transforms y[j]↦y[j−1]. The only difference with the autoencoder here is this delayed variable. So we can use this structure in the language model to produce the future when given the past.
French: Dans un transformer, y (phrase cible) est un signal temporel discret. Il a une représentation discrète dans un index temporel. Le y est introduit dans un module de retard unitaire suivi d’un encodeur. Le retard unitaire transforme ici y[j]↦y[j−1] La seule différence avec l’auto-encodeur ici est cette variable retardée. Nous pouvons donc utiliser cette structure dans le modèle de langage pour produire le futur lorsqu’on nous donne le passé.
English: The observed signal, x (source sentence) , is also fed through an encoder. The output of both encoder and delayed encoder are fed into the predictor, which gives a hidden representation h. This is very similar to denoising autoencoder as the delay module acts as noise in this case. And x here makes this entire architecture a conditional delayed denoising autoencoder.
French: Le signal observé, x (phrase source) passe également par un encodeur. La sortie de l’encodeur et de l’encodeur retardé est introduite dans le prédicteur qui donne une représentation cachée h. Ceci est très similaire à l’auto-encodeur débruiteur car le module de retard agit comme un bruit dans ce cas. x fait de cette architecture entière un auto-encodeur débruiteur conditionnel retardé.
English: The transformer predictor module follows a similar procedure as the encoder. However, there is one additional sub-block (i.e. cross-attention) to take into account. Additionally, the output of the encoder modules acts as the inputs to this module.
French: Le module prédicteur du transformer suit une procédure similaire à celle de l’encodeur. Cependant, il y a un sous-bloc supplémentaire (c’est-à-dire l’attention croisée) à prendre en compte. De plus, la sortie des modules encodeurs agit comme les entrées de ce module.
English: Contrary to what authors of the Transformer paper define, the decoder module consists of 1D-convolution and Add, Norm blocks. The output of the predictor module is fed to the decoder module and the output of the decoder module is the predicted sentence. We can train this by providing the delayed target sequence.
French: Contrairement à ce que les auteurs du papier du transformer définissent, le module décodeur est composé de blocs 1D-convolution et Add, Norm. La sortie du module prédicteur est introduite dans le module décodeur et la sortie du module décodeur est la phrase prédite. On peut l’entraîner en fournissant la séquence cible retardée.
English: We provide an introduction to the problem of speech recognition using neural models, emphasizing the CTC loss for training and inference when input and output sequences are of different lengths.
French: Nous présentons une introduction au problème de la reconnaissance de la parole à l’aide de modèles neuronaux en mettant l’accent sur la perte CTC (Connectionist Temporal Classification) pour l’entraînement et l’inférence lorsque les séquences d’entrée et de sortie sont de longueurs différentes.
English: We discuss beam search for use during inference, and how that procedure may be modeled at training time using a Graph Transformer Network. Graph transformers networks are basically weighted finite-state automata with automatic differentiation, that allows us to encode priors into a graph. There are different type of weighted finite-state and different operations including union, Kleene closure, intersection, compose, and forward score. The loss function is usually the difference between to functions. We can easily implement these networks using GTN library.
French: Nous discutons de l’utilisation de la recherche en faisceau pendant l’inférence ainsi que de la façon dont cette procédure peut être modélisée au moment de l’entraînement d’un Graph Transformer Network (GTN). Les GTNs sont essentiellement des « accepteur d’état fini pondéré » (WFSA pour « Weighted Finite State Acceptor ») avec différenciation automatique permettant d’encoder des a priori dans un graphe. Il existe différents types d’états finis pondérés et opérations, notamment l’union, l’étoile de Kleene, l’intersection, la composition et le score forward. La fonction de perte est généralement la différence entre deux fonctions. Nous pouvons facilement implémenter ces réseaux en utilisant la bibliothèque gtn.
English: Given some input speech utterance X, which consists of T frames of audio. We desire to produce a transcription y and we’ll think of our transcription as consisting of the letters of a sentence, so y1​ is the first letter yU​ is the last letter.
French: Étant donné un audio en entrée x composé de T trames d’audio, nous souhaitons produire une transcription y~. Nous considérerons que notre transcription est constituée de lettres donc y1​ est la première lettre yU​ est la dernière lettre.
English: Which alignment should we use to compute the score? All of them. We’re going to try to increase the score of all alignments and then hope the model sorts things out internally. The model can decide to optimize these different alignments and weight them accordingly and learn which one is the best.
French: Quel alignement devons-nous utiliser pour calculer le score ? Tous. Nous allons essayer d’augmenter le score de tous les alignements et espérer que le modèle fera le tri en interne. Le modèle peut décider d’optimiser ces différents alignements, les pondérer en conséquence et apprendre lequel est le meilleur.
English: This graph is sometimes called weighted finite state acceptor (WFSA). The bold state marked 0 at the beginning is a start state, the concentric circle marked 3 is an accepting state. On each edge, there’re a label and a weight on both sides of a slash. Any path in this graph is an encoding of an alignment.
French: Ce graphe est parfois appelé « accepteur d’états finis pondérés » (ou WFSA pour weighted finite state acceptor). L’état gras 0 au début est un état de départ, le cercle concentrique 3 est un état d’acceptation. Sur chaque arête, il y a une étiquette et un poids de part et d’autre d’une barre oblique (tous les poids valant 0 dans l’image ci-dessus). Tout chemin dans ce graphe est un encodage d’un alignement.
English: There’s a problem when using all of the alignments. The x input audio can have lots of frames, in practice they can be as high as thousands. The y transcription can have lots of letters, in practice it can be hundreds or more. This is an astronomically large number of alignments, so we can’t compute individual score and sum all of them.
French: Il y a un problème lorsque l’on utilise tous les alignements. L’entrée audio x peut avoir beaucoup de trames (en pratique elles peuvent être des milliers). La transcription y peut contenir beaucoup de lettres (en pratique des centaines ou plus). Il s’agit donc d’un nombre astronomique d’alignements, nous ne pouvons donc pas calculer un score individuel et tous les additionner.
English: Define forward variable αtu​, the subscript t is where we are in the input and the superscript u is where we are in the output. This represents the score for all alignments of length t which end in the output yu​.
French: Dans la variable forward αtu​, l’indice t est l’endroit où nous sommes dans l’entrée et l’exposant u est l’endroit où nous sommes dans la sortie. Elle représente le score pour tous les alignements de longueur t qui se terminent dans la sortie yu​.
English: Suppose X=[x1,x2,x3,x4],Y=[c,a,t], the forward variable α2c​ represents the score of all possible alignments of length two up to the first two frames that ends in c in the first output of the transcription. There’s only one possible alignment for that x1→c, x2→c. This is simple to compute.
French: Supposons que X=[x1​,x2​,x3​,x4​], Y=[c,a,t], la variable forward α2c​ représente le score de tous les alignements possibles de longueur deux jusqu’aux deux premières trames qui se termine par c dans la première sortie de la transcription. Il n’y a qu’un seul alignement possible pour ce x1→c, x2→c. C’est donc simple à calculer :
English: where P(at∣X) are the output logits of a system such as an RNN. That is, to compute the likelihood of the transcript y we must marginalize over an intractably large number of alignments. We may do this with a recursive decomposition of the forward variable.
French: où P(at∣X) sont les logits de sortie d’un système tel qu’un RNN. En d’autres termes, pour calculer la vraisemblance de la transcription y~, nous devons marginaliser sur un nombre irréductiblement grand d’alignements. Nous pouvons le faire avec une décomposition récursive de la variable directe.
English: Now, suppose yi=yi+1​, so that z contains a subsequence yi,ϵ,yi+1​, and suppose yi+1​ occurs at psosition s in Z. Then the alignment for αst​ can be arrived at by one of two ways: either the prediction at time t−1 can be yi+1​ (in which case the repetition is collapsed) or else the prediction at time t−1 can be epsilon. So, we may decompose:
French: Supposons maintenant que yi​=yi+1​, de sorte que z contient une sous-séquence yi,ϵ,yi+1​, et supposons que yi+1 se trouve à la position s dans Z. Alors l’alignement pour αst peut être obtenu de deux manières : soit la prédiction au temps t−1 peut être yi+1​ (auquel cas la répétition est collapsée), soit la prédiction au temps t−1 peut être epsilon. On peut donc décomposer :
English: where the elements of the sum represent the two possible prefixes to the alignment. If, on the other hand, we have yi≠yi+1​ then there is the additional third possibility that the prediction at time t−1 is equal to yi​. So, we have the decomposition
French: où les éléments de la somme représentent les deux préfixes possibles de l’alignement. Si, d’autre part, nous avons yi≠yi+1​ alors il y a la troisième possibilité supplémentaire que la prédiction au temps t−1 soit égale à yi​. Ainsi, nous avons la décomposition
English: By computing α∣Z∣T​, we may effectively marginalize over all possible alignments between the transcript y and the audio X, allowing efficient training and inference. This is called Connectionist Temporal Classification, or CTC.
French: En calculant α∣Z∣T, nous pouvons effectivement marginaliser tous les alignements possibles entre la transcription y et l’audio X, ce qui permet un apprentissage et une inférence efficaces. C’est ce qu’on appelle la Connectionist Temporal Classification ou CTC.
English: To remedy this, we employ beam search. Essentially, we consider maximum k tokens in terms of probability at each step t of the sequence. For each of these n-grams, we proceed further and find out the maximum.
French: Pour remédier à cela, nous employons la recherche en faisceau. Grossièrement, nous considérons les jetons maximum k en termes de probabilité à chaque étape t de la séquence. Pour chacun de ces n-grammes, nous poursuivons la recherche et trouvons le maximum.
English: This lecture introduces the topic of Neural Machine Translation with the help of an example. We then discuss language modelling, model architecture, NMT inference. Further, we discuss the issues faced because of the languages and the need for Low Resource Machine Translation. Also, we examine a case study and the challenges faced in Low Resource MT, different stages in the cycle of research, how they can be used for Machine Translation.
French: Cette conférence introduit le sujet de la traduction automatique neuronale à l’aide d’un exemple. Nous abordons la modélisation du langage, l’architecture du modèle et l’inférence de la traduction automatique neuronale. En outre, nous discutons des problèmes rencontrés en raison des langues et de la nécessité d’une traduction automatique à faibles ressources. Nous examinons également une étude de cas, les différentes étapes du cycle de recherche et la manière dont elles peuvent être utilisées pour la traduction automatique.
English: We introduced the state transition function and the way to model a physical system with state and control. We discussed how to achieve optimal control by inference using Kelley-Bryson algorithm, which utilizes backprop through time and gradient descent. Finally, we explained the notebook of Optimization_Path_Planner, in which various cost functions are defined and path planning is implemented to guide a tri-cycle to reach the desired position with the specified speed.
French: Nous introduisons la fonction de transition d’état et la manière de modéliser un système physique avec état et contrôle. Nous avons discuté de la manière d’obtenir un contrôle optimal par inférence en utilisant l’algorithme de Kelley-Bryson qui utilise la rétropropagation dans le temps et la descente de gradient. Enfin, nous voyons dans un notebook diverses fonctions de coût et la planification d’une trajectoire pour guider un tricycle afin qu’il atteigne la position souhaitée avec la vitesse spécifiée.
English: Neural Machine Translation (NMT) is an end-to-end learning approach for automated translation, with the potential to overcome many of the weaknesses of conventional phrase-based translation systems. Its architecture typically consists of two parts, one to consume the input text sequence (encoder) and one to generate translated output text (decoder). NMT is often accompanied by an attention mechanism which helps it cope effectively with long input sequences. The decoder learns to (soft) align via attention. A translation example from Italian to English is shown in the figure below:
French: La traduction automatique neuronale (NMT pour Neural Machine Translation) est une approche d’apprentissage de bout en bout pour la tâche de traduction ayant le potentiel de surmonter bon nombre des faiblesses des systèmes de traduction conventionnels basés sur les phrases. Son architecture se compose généralement de deux parties, l’une prenant la séquence de texte d’entrée (encodeur) et l’autre pour générer le texte de sortie traduit (décodeur). La NMT est souvent accompagnée d’un mécanisme d’attention qui l’aide à faire face efficacement aux longues séquences d’entrée. Le décodeur apprend à s’aligner (en douceur) par le biais de l’attention. Un exemple de traduction de l’italien vers l’anglais est présenté dans la figure ci-dessous :
English: A parallel dataset contains a collection of original texts in language L1 and their translations into languages L2 (or consist of texts of more than two languages). As shown in the figure below, it can be used as labelled data to train NMT systems.
French: Un jeu de données parallèles contient une collection de textes originaux dans une langue L1 et leurs traductions dans une langue L2 (ou consiste en des textes de plus de deux langues). Comme le montre la figure ci-dessous, il peut être utilisé comme données étiquetées pour entraîner les systèmes de NMT.
English: The standard way of training NMT is by using maximum likelihood. Give a source sentence x and the model parameters θ, we will seek to maximize the log likelihood of the joint probability of all the ordered sequence of tokens in the target sentence y~, as illustrated by the equation below:
French: La méthode standard d’entraînement de la NMT consiste à utiliser le maximum de vraisemblance. Étant donné une phrase source x et les paramètres du modèle θ, nous chercherons à maximiser la vraisemblance logarithmique de la probabilité conjointe de toutes les séquences ordonnées de tokens dans la phrase cible y~. L’équation ci-dessous l’illustre :
English: It is used as a score to indicate how likely the target sentence actually to be a translation from the source sentence. A minus sign is added in front of the equation to turn this into a minimization problem.
French: C’est utilisé comme un score pour indiquer la probabilité que la phrase cible soit réellement une traduction de la phrase source. Un signe moins est ajouté devant l’équation pour transformer celle-ci en un problème de minimisation.
English: In language modelling, given a token xt​ at time t, we are trying to predict the next word yt​. As shown in the figure below, hidden state zt is generated by a RNN/CNN/Transformer block depending on the input vector xt​ and the previous hidden state zt−1​.
French: Dans la modélisation du langage, étant donné un token xt​ au temps t, nous essayons de prédire le mot suivant yt​. Comme le montre la figure ci-dessous, l’état caché zt est généré par un bloc RNN/ConvNet/Transformer en fonction du vecteur d’entrée xt​ et de l’état caché précédent zt−1​.
English: Step 2: Score each source word (attention) Take the dot product between target hidden representation zt+1​ and all the embeddings from source sentence. Then use softmax to get a distribution over source tokens (attention).
French: Etape 2 : Attribuer un score à chaque mot source (attention) Prendre le produit scalaire entre la représentation cachée cible zt+1​ et tous les enchâssements de la phrase source. Puis utiliser la fonction SoftMax pour obtenir une distribution sur les tokens source (attention).
English: Step 3: Combine target hidden with source vector Take weighted sum (weights are in the attention score vector) of the source embeddings and combine it with target hidden representation zt+1​. After final transformation G(z), we get a distribution yt+1​ over the next word.
French: Etape 3 : combiner la cible cachée avec le vecteur source. Prendre la somme pondérée (les poids sont dans le vecteur de score d’attention) des enchâssements source et la combiner avec la représentation cachée cible zt+1​. Après transformation finale G(z), on obtient une distribution yt+1​ sur le mot suivant.
English: After we have the translation model, and know how good they are doing on the training set, we will want to test to see how the model will actually generate translations from the source sentences.
French: Une fois que nous disposons du modèle de traduction et que nous connaissons son efficacité sur l’ensemble d’apprentissage, nous souhaitons le tester pour voir comment le modèle va réellement générer des traductions à partir des phrases sources.
English: Each potential choice (the number of words in vocabulary) has a probability score. At every step, beam search selects the top k scoring among all the branches (maintain a queue with k top scoring paths), then expand each of them and retain the top k scoring paths. As illustrated by the example below:
French: Chaque choix potentiel (le nombre de mots dans le vocabulaire) a un score de probabilité. À chaque étape, la recherche en faisceau (beam search en anglais) sélectionne les k meilleurs scores parmi toutes les branches (maintient une file d’attente avec k chemins les mieux notés), puis développe chacun d’entre eux et conserve les k meilleurs scores. Comme l’illustre l’exemple ci-dessous :
English: 2. Continue from Life and Today, expand each of them and calculate the path score back to the start symbol, pick the top 2 scoring path (“Like was” and “Like is”)
French: 2. On continue à partir de Vie et Aujourd’hui et on développe chacun de ces deux mots. On calcule le score du chemin de retour au symbole de départ. On choisit les 2 chemins les mieux notés (Vie est et Vie était).
English: Beam search is a greedy procedure and it is very effective in practice. There is a trade-off between computational cost and approximation error (the larger the value of k, the better the approximation and the higher the computational cost).
French: La recherche en faisceau est une procédure avide et très efficace en pratique. Il existe un compromis entre le coût de calcul et l’erreur d’approximation (plus la valeur de k est grande, meilleure est l’approximation et plus élevé est le coût de calcul).
English: Issues of Beam Search: Beam search will always select the highest scoring path. Thus, the solution will be biased because of such strategy. It doesn’t handle uncertainty well.
French: Problèmes de la recherche en faisceau : La recherche en faisceau sélectionnera toujours le chemin ayant le score le plus élevé. Ainsi, la solution sera biaisée à cause de cette stratégie. Elle ne gère pas bien l’incertitude.
English: Candidate translations longer than their references are already penalized by the modified n-gram precision measure: there is no need to penalize them again. Consequently, we introduce a multiplicative brevity penalty factor, BP (denoted as fBP​ in the formula). With BP in place, a high-scoring candidate translation must now match the reference translations in length, in word choice, and in word order.
French: Les traductions candidates plus longues que leurs références sont déjà pénalisées par la mesure de précision n-gram modifiée Il n’est pas nécessaire de les pénaliser à nouveau. Par conséquent, nous introduisons un facteur multiplicatif de pénalité de brièveté, BP (désigné par fBP​ dans la formule). Avec BP en place, une traduction candidate bien notée doit maintenant correspondre aux traductions de référence en termes de longueur, de choix de mots et d’ordre des mots.
English: In brief, BLEU score (denoted as sBLEU​ in the formula) measures the similarity between the translation generated by the model and a reference translation created by a human.
French: En bref, le score BLEU (désigné par sBLEU​ dans la formule) mesure la similarité entre la traduction générée par le modèle et une traduction de référence créée par un humain.
English: If we consider the statistics, there are more than 6000 languages in the world and not more than 5% of the world population speaks native English. There are a number of languages for which we don’t have much data available and Google Translate performs poorly. The other issue with these languages is that they are mostly spoken and not written.
French: Si l’on considère les statistiques, il y a plus de 6000 langues dans le monde et seuelement 5% de la population mondiale a l’anglais comme langue maternelle. Il y a un certain nombre de langues pour lesquelles nous n’avons pas beaucoup de données disponibles et les performances de Google Translate sont faibles. L’autre problème de ces langues est qu’elles sont surtout parlées et non écrites.
English: Let’s consider an English to Nepali Machine Translation system where we translate English news to Nepali. Nepali is a low resource language and the amount of parallel data for training is very small.
French: Prenons l’exemple d’un système de traduction automatique dans lequel nous traduisons des actualités de l’anglais vers le népalais. Le népalais est une langue à faible ressource et la quantité de données parallèles pour l’entraînement est très faible.
English: 2. There are possibilities that the source and target data are not parallel. We might have more data in English in some categories, more data in Nepali in other categories. There are cases these two don’t match.
French: 2. il est possible que les données source et cible ne soient pas parallèles. Nous pouvons avoir plus de données en anglais dans certaines catégories, plus de données en népalais dans d’autres catégories. Il y a des cas où ces deux ne correspondent pas.