lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: We discuss the motivation behind deep learning. We begin with the history and inspiration of deep learning. Then we discuss the history of pattern recognition and introduce gradient descent and its computation by backpropagation. Finally, we discuss the hierarchical representation of the visual cortex.
French: Nous discutons de la motivation derrière l’apprentissage profond. Nous commençons par l’histoire et l’inspiration de celui-ci. Ensuite, nous discutons de l’histoire de la reconnaissance des motifs et nous introduisons la descente de gradient et son calcul par rétropropagation. Enfin, nous discutons de la représentation hiérarchique du cortex visuel.
English: We first discuss the evolution of CNNs, from Fukushima to LeCun to AlexNet. We then discuss some applications of CNN’s, such as image segmentation, autonomous vehicles, and medical image analysis. We discuss the hierarchical nature of deep networks and the attributes of deep networks that make them advantageous. We conclude with a discussion of generating and learning features/representations.
French: Nous abordons d’abord l’évolution des ConvNets, de Fukushima à Le Cun et AlexNet. Nous abordons ensuite certaines applications des ConvNets, telles que la segmentation d’images, les véhicules autonomes et l’analyse d’images médicales. Nous discutons de la nature hiérarchique des réseaux profonds et de leurs attributs qui les rendent avantageux. Nous concluons par une discussion sur la génération et l’apprentissage de caractéristiques/représentations.
English: We discuss the motivation for applying transformations to data points visualized in space. We talk about Linear Algebra and the application of linear and non-linear transformations. We discuss the use of visualization to understand the function and effects of these transformations. We walk through examples in a Jupyter Notebook and conclude with a discussion of functions represented by neural networks.
French: Nous discutons de la motivation à appliquer des transformations à des points de données visualisés dans l’espace. Nous parlons d’algèbre linéaire et de l’application des transformations linéaires et non linéaires. Nous voyons l’utilisation de la visualisation pour comprendre les effets de ces transformations. Nous passons en revue des exemples dans un notebook Jupyter et concluons par une discussion sur les fonctions représentées par les réseaux de neurones.
English: On a conceptual level, deep learning is inspired by the brain but not all of the brain’s details are relevant. For a comparison, aeroplanes were inspired by birds. The principle of flying is the same but the details are extremely different.
French: Sur le plan conceptuel, l’apprentissage profond est inspiré par le cerveau. Cependant tous les détails du cerveau ne sont pas pertinents. À titre de comparaison, les avions ont été inspirés par les oiseaux. Le principe du vol est le même, mais les détails sont extrêmement différents (les avions ne battant pas des ailes).
English: The history of deep learning goes back to a field which changed its name now to cybernetics. It started in the 1940s with McCulloch and Pitts. They came up with the idea that neurons are threshold units with on and off states. You could build a Boolean circuit by connecting neurons with each other and conduct logical inference with neurons. The brain is basically a logical inference machine because neurons are binary. Neurons compute a weighted sum of inputs and compare that sum to its threshold. It turns on if it’s above the threshold and turns off if it’s below, which is a simplified view of how neural networks work.
French: L’histoire de l’apprentissage profond remonte à un domaine qui a changé de nom pour devenir aujourd’hui la cybernétique. Elle a commencé dans les années 1940 avec McCulloch et Pitts. Ils ont eu comme idée que les neurones sont des unités de seuil avec des états de marche et d’arrêt. De ce fait, il est possible de construire un circuit booléen en connectant les neurones entre eux et d’effectuer des inférences logiques avec les neurones. Le cerveau est essentiellement une machine d’inférence logique car les neurones sont binaires. Les neurones calculent une somme pondérée d’entrées et comparent cette somme à son seuil. Un neurone s’allume s’il est supérieur au seuil et s’éteint s’il est inférieur. Ceci est une vue simplifiée du fonctionnement des réseaux neuronaux.
English: In 1947, Donald Hebb had the idea that neurons in the brain learn by modifying the strength of the connections between neurons. This is called hyper learning, where if two neurons are fired together, then the connection linked between them increases; if they don’t fire together, then the connection decreases.
French: En 1947, Donald Hebb a eu l’idée que les neurones du cerveau apprennent en modifiant la force des connexions entre eux. C’est ce qu’on appelle l’hyperapprentissage, où si deux neurones sont activés ensemble alors la connexion entre eux augmente et s’ils ne sont pas activés ensemble alors la connexion diminue.
English: Later in 1948, cybernetics were proposed by Norbert Wiener, which is the idea that by having systems with sensors and actuators, you have a feedback loop and a self-regulatory system. The rules of the feedback mechanism of a car all come from this work.
French: Plus tard, en 1948, la cybernétique a été proposée par Norbert Wiener. Il se base sur l’idée qu’en ayant des systèmes avec des capteurs et des actionneurs, alors il y a une boucle de rétroaction et un système d’autorégulation. Les règles du mécanisme de rétroaction d’une voiture sont toutes issues de son travail.
English: Overall, this idea of trying to build intellectual machines by simulating lots of neurons was born in 1940s, took off in 1950s, and completely died in late 1960s. The main reasons for the field dying off in 1960 are:
French: Dans l’ensemble, cette idée d’essayer de construire des machines intellectuelles en simulant de nombreux neurones est née dans les années 1940. Elle a pris son essor dans les années 1950 et s’est complètement éteinte à la fin des années 1960. Les principales raisons de la disparition du domaine en 1960 sont les suivantes :
English: The researchers used neurons that were binary. However, the way to get backpropagation to work is to use activation functions that are continuous. At that time, researchers didn’t have the idea of using continuous neurons and they didn’t think they can train with gradients because binary neurons are not differential.
French: Les chercheurs ont utilisé des neurones binaires. Cependant, la façon de faire fonctionner la rétropropagation est d’utiliser des fonctions d’activation qui sont continues. À cette époque, les chercheurs n’avaient pas l’idée d’utiliser des neurones continus et ils ne pensaient pas pouvoir réaliser l’entraînement avec des gradients car les neurones binaires ne sont pas différentiels.
English: With continuous neurons, one would have to multiply the activation of a neuron by a weight to get a contribution to the weighted sum. However, before 1980, the multiplication of two numbers, especially floating-point numbers, were extremely slow. This resulted in another incentive to avoid using continuous neurons.
French: Avec les neurones continus, il faudrait multiplier l’activation d’un neurone par un poids pour obtenir une contribution à la somme pondérée. Cependant, avant 1980, la multiplication de deux nombres, en particulier des nombres à virgule flottante, était extrêmement lente. Cela n’encourageait donc pas à utiliser des neurones continus.
English: Deep Learning took off again in 1985 with the emergence of backpropagation. In 1995, the field died again and the machine learning community abandoned the idea of neural nets. In early 2010, people start using neuron nets in speech recognition with huge performance improvement and later it became widely deployed in the commercial field. In 2013, computer vision started to switch to neuron nets. In 2016, the same transition occurred in natural language processing. Soon, similar revolutions will occur in robotics, control, and many other fields.
French: L’apprentissage profond a pris un nouvel essor en 1985 avec l’apparition de la rétropropagation. En 1995, le domaine a périclité à nouveau et la communauté de l’apprentissage machine a abandonné l’idée des réseaux neuronaux. Début 2010, les gens ont commencé à utiliser les réseaux de neurones dans la reconnaissance vocale avec une amélioration considérable des performances et, plus tard, ils ont été largement déployés dans le domaine commercial. En 2013, la vision par ordinateur a commencé à passer aux réseaux de neurones. En 2016, la même transition a eu lieu dans le traitement du langage naturel. Bientôt, des révolutions similaires se produiront dans la robotique, le contrôle et bien d’autres domaines.
English: 90% of deep learning applications use supervised learning. Supervised learning is a process by which, you collect a bunch of pairs of inputs and outputs, and the inputs are feed into a machine to learn the correct output. When the output is correct, you don’t do anything. If the output is wrong, you tweak the parameter of the machine and correct the output toward the one you want. The trick here is how you figure out which direction and how much you tweak the parameter and this goes back to gradient calculation and backpropagation.
French: 90% des applications d’apprentissage profond utilisent l’apprentissage supervisé. L’apprentissage supervisé est un processus par lequel, on collecte un tas de paires d’entrées et de sorties. Les entrées sont introduites dans une machine pour apprendre la sortie correcte. Lorsque la sortie est correcte, on ne fait rien. Si la sortie est incorrecte, on ajuste le paramètre de la machine afin d’obtenir une nouvelle sortie ressemblant davantage à celle désirée. L’astuce consiste à déterminer la direction et l’ampleur de l’ajustement du paramètre, ce qui revient à calculer le gradient et la rétropropagation.
English: Supervised learning stems from Perceptron and Adaline. The Adaline is based on the same architecture with weighted inputs; when it is above the threshold, it turns on and below the threshold, it turns off. The Perceptron is a 2-layer neuron net where the second layer is trainable and the first layer is fixed. Most of the time, the first layer is determined randomly and that’s what they call associative layers.
French: L’apprentissage supervisé est issu du Perceptron et de l’Adaline. L’Adaline est basé sur la même architecture avec des entrées pondérées. Au-dessus du seuil, cela s’allume et en dessous du seuil, cela s’éteint. Le Perceptron est un réseau de neurones à deux couches dont la première couche est fixe et la deuxième couche est entraînable. La plupart du temps, la première couche est déterminée de manière aléatoire et c’est ce qu’on appelle les couches associatives.
English: The foregoing is the conceptual basis of pattern recognition before deep learning developed. The standard model of pattern recognition consists of feature extractor and trainable classifier. Input goes into the feature extractor, extracting relevant useful characteristics of inputs such as detecting an eye when the purpose is recognizing the face. Then, the vector of features is fed to the trainable classifier for computing weighted sum and comparing it with the threshold. Here, a trainable classifier could be a perceptron or single neural network. The problem is feature extractor should be engineered by hand. Which means, pattern recognition/computer vision focus on feature extractor considering how to design it for a particular problem, not much devoted to a trainable classifier.
French: La base conceptuelle de la reconnaissance des motifs précède le développement de l’apprentissage profond. Le modèle standard de reconnaissance des motifs comprend un extracteur de caractéristiques et un classifieur pouvant être entraîné. L’entrée va dans l’extracteur de caractéristiques où sont extraites les caractéristiques pertinentes comme la détection d’un œil lorsque le but est de reconnaître le visage. Ensuite, le vecteur de caractéristiques est envoyé au classifieur (pouvant être entraîné) pour calculer la somme pondérée et la comparer avec le seuil. Dans ce cas, un classifieur pouvant être entraîné peut être un perceptron ou un réseau neuronal unique. Le problème est que l’extracteur de caractéristiques doit être conçu à la main. Ce qui signifie que la reconnaissance des motifs et la vision par ordinateur se concentrent sur l’extracteur en considérant la façon de le concevoir pour un problème particulier, ce qui n’est pas vraiment le cas d’un classifieur pouvant être entraîné.
English: After the emergence and development of deep learning, the 2-stage process changed to the sequences of modules. Each module has tunable parameters and nonlinearity. Then, stack them making multiple layers. This is why it is called “deep learning”. The reason why using nonlinearity rather than linearity is that two linear layers could be one linear layer since the composition of two linear is linear.
French: Après l’émergence et le développement de l’apprentissage profond, le processus en deux étapes est passé à des séquences de modules. Chaque module a des paramètres réglables et une non-linéarité. Ensuite, il faut les empiler pour former plusieurs couches. C’est pourquoi on l’appelle « apprentissage profond ». La raison pour laquelle on utilise une non-linéarité plutôt qu’une linéarité est que deux couches linéaires reviennent à une seule couche linéaire puisque la composition de deux linéaires est linéaire.
English: The simplest multi-layer architecture with tunable parameters and nonlinearity could be: the input is represented as a vector such as an image or audio. This input is multiplied by the weight matrix whose coefficient is a tunable parameter. Then, every component of the result vector is passed through a nonlinear function such as ReLU. Repeating this process, it becomes a basic neural network. The reason why it is called a neural network is that this architecture calculates the weighted sum of components of input by corresponding rows of a matrix.
French: L’architecture multicouche la plus simple avec des paramètres réglables et la non-linéarité pourrait être la suivante. L’entrée est représentée par un vecteur tel qu’une image ou un son. Cette entrée est multipliée par la matrice de poids dont le coefficient est un paramètre réglable. Ensuite, chaque composante du vecteur de résultat est passée par une fonction non linéaire telle que la ReLU (Rectified Linear Unit). En répétant ce processus, cela devient un réseau neuronal de base. La raison pour laquelle on parle de neurones est que cette architecture calcule la somme pondérée des composantes d’entrée par les lignes correspondantes d’une matrice.
English: Back to the point of supervised learning, we are comparing the resulting output with target output then optimize the objective function which is the loss, computing a distance/penalty/divergence between the result and target. Then, average this cost function over the training set. This is the goal we want to minimize. In other words, we want to find the value of the parameters that minimize this average.
French: Pour en revenir à l’apprentissage supervisé, nous comparons le résultat obtenu avec le résultat cible puis nous optimisons la fonction objectif qui est la perte du calcul de la distance/pénalité/divergence entre le résultat et la cible. Ensuite, nous faisons la moyenne de cette fonction de coût sur le jeu d’entraînement. C’est l’objectif que nous voulons minimiser. En d’autres termes, nous voulons trouver la valeur des paramètres qui minimisent cette moyenne.
English: The method of how to find it is computing gradient. For example, if we are lost in a smooth mountain at foggy night and want to go to the village in the valley. One way could be turning around and seeing which way the steepest way is to go down then take a small step down. The direction is (negative) gradient. With the assumption that the valley is convex, we could reach the valley.
French: La méthode pour trouver cette valeur est le calcul du gradient. Par exemple, si nous sommes perdus dans une montagne par une nuit brumeuse et nous voulons aller au village dans la vallée, un moyen pourrait être de faire demi-tour et de voir quel est le chemin le plus raide pour descendre puis de faire un petit pas vers le bas. La direction est le gradient (négatif). En supposant que la vallée est convexe, nous pouvons atteindre la vallée.
English: The more efficient way is called Stochastic Gradient Descent (SGD). Since we want to minimize average loss over the training set, we take one sample or small group of samples and calculate the error, then use gradient descent. Then, we take a new sample and get a new value for the error, then get the gradient which is a different direction normally. Two of the main reasons for using SGD are that it helps a model to converge fast empirically if the training set is very large and it enables better generalization, which means getting similar performance on various sets of data.
French: Le chemin le plus efficace est appelé la « descente de gradient stochastique » (SGD en anglais pour Stochastic Gradient Descent). Comme nous voulons minimiser la perte moyenne sur le jeu d’entraînement, nous prenons un échantillon ou un petit groupe d’échantillons et nous calculons l’erreur. Puis nous utilisons la descente de gradient. Ensuite, nous prenons un nouvel échantillon et obtenons une nouvelle valeur pour l’erreur. Nous avons alors le gradient qui est normalement une direction différente. Deux des principales raisons d’utiliser la SGD sont qu’elle permet à un modèle de converger rapidement si le jeu d’entraînement est très grand et qu’elle permet une meilleure généralisation, c’est-à-dire qu’elle donne des performances similaires sur différents jeux de données.
English: Note that instead of scalar inputs, they will be vector inputs. More generally, multi-dimensional inputs. Backpropagation allows you to compute the derivative of the difference of the output you want and the output you get (which is the value of the objective function) with respect to any value inside the network. Finally, backpropagation is essential as it applies to multiple layers.
French: Notez qu’au lieu d’entrées scalaires, il s’agit d’entrées vectorielles. Plus généralement, il s’agit d’entrées multidimensionnelles. La rétropropagation permet de calculer la dérivée de la différence entre la sortie souhaitée et la sortie obtenue (qui est la valeur de la fonction objectif) par rapport à toute valeur à l’intérieur du réseau. Enfin, la rétropropagation est essentielle car elle s’applique à plusieurs couches.
English: Experiments by Fukushima gave us an understanding of how our brain interprets the input to our eyes. In summary, it was discovered that neurons in front of our retina compress the input (known as contrast normalization) and the signal travels from our eyes to our brain. After this, the image gets processed in stages and certain neurons get activated for certain categories. Hence, the visual cortex does pattern recognition in a hierarchical manner.
French: Les expériences de Fukushima nous ont permis de comprendre comment notre cerveau interprète les données transmises à nos yeux. En résumé, les neurones situés devant notre rétine compriment l’entrée (connue sous le nom de normalisation du contraste) et le signal voyage de nos yeux à notre cerveau. Ensuite, l’image est traitée par étapes et certains neurones sont activés pour certaines catégories. Ainsi, le cortex visuel effectue une reconnaissance des motifs de manière hiérarchique.
English: Experiments in which researchers poked electrodes in specific areas of the visual cortex, specifically the V1 area made researchers realize that certain neurons react to motifs that appear in a very small area in a visual field and similarly with neighbouring neurons and neighbouring areas in the visual field. Additionally, neurons that react to the same visual field, react to different types of edges in an organized manner (e.g. vertical or horizontal edges). It is also important to note that there’s also the idea that the visual process is essentially a feed forward process. Hence, somehow fast recognition can be done without some recurrent connections.
French: Des expériences dans lesquelles des chercheurs ont enfoncé des électrodes dans des zones spécifiques du cortex visuel, en particulier la zone V1, ont permis de réaliser que certains neurones réagissent à des motifs qui apparaissent dans une très petite zone du champ visuel et de la même façon avec les neurones voisins et les zones voisines du champ visuel. En outre, les neurones qui réagissent au même champ visuel réagissent à différents types de bords de manière organisée (par exemple, les bords verticaux ou horizontaux). Il est également important de noter qu’il y a aussi l’idée que le processus visuel est essentiellement un processus feed forward. Par conséquent, une reconnaissance rapide peut être effectuée d’une manière ou d’une autre, sans que certaines connexions récurrentes soient nécessaires.
English: Fukushima (1982) built a neural net (NN) that worked the same way as the brain, based on two concepts. First, neurons are replicated across the visual field. Second, there are complex cells that pool the information from simple cells (orientation-selective units). As a result, the shift of the picture will change the activation of simple cells, but will not influence the integrated activation of the complex cell (convolutional pooling).
French: En se basant sur deux concepts, Fukushima (1982) a construit un réseau de neurones qui fonctionne de la même manière que le cerveau. Premièrement, les neurones sont répliqués sur l’ensemble du champ visuel. Deuxièmement, il existe des cellules complexes qui regroupent les informations provenant de cellules simples (unités d’orientation-sélection). Par conséquent, le déplacement de l’image modifie l’activation des cellules simples mais n’influence pas l’activation intégrée de la cellule complexe (le pooling convolutif).
English: LeCun (1990) used backprop to train a CNN to recognize handwritten digits. There is a demo from 1992 where the algorithm recognizes the digits of any style. Doing character/pattern recognition using a model that is trained end-to-end was new at that time. Previously, people had used feature extractors with a supervised model on top.
French: Yann Le Cun (1990) a utilisé la rétropropagation pour entraîner un ConvNet à reconnaître les chiffres manuscrits. Il existe une démo de 1993 où l’algorithme reconnaît les chiffres de n’importe quel style. La reconnaissance de caractères/motifs à l’aide d’un modèle entraîné de bout en bout était nouvelle à l’époque. Auparavant, les gens utilisaient des extracteurs de caractéristiques avec un modèle supervisé par-dessus.
English: These new CNN systems could recognize multiple characters in the image at the same time. To do it, people used a small input window for a CNN and swiped it over the whole image. If it activated, it meant there was a particular character present.
French: Ces nouveaux systèmes ConvNets pouvaient reconnaître plusieurs caractères dans l’image en même temps. Pour ce faire, les gens utilisaient une petite fenêtre de saisie pour un ConvNet et la glissaient sur toute l’image. Si elle s’activait, cela signifiait qu’un caractère particulier était présent.
English: Later, this idea was applied to faces/people detection and semantic segmentation (pixel-wise classification). Examples include Hadsell (2009) and Farabet (2012). This eventually became popular in industry, used in autonomous driving applications such as lane tracking.
French: Plus tard, cette idée a été appliquée à la détection des visages/personnes et à la segmentation sémantique (classification au niveau du pixel). Citons par exemple Hadsell (2009) et Farabet (2012). Cette méthode a fini par devenir populaire dans l’industrie, utilisée dans des applications de conduite autonome telles que le suivi de voie.