lbourdois/en-fr-nyu-dl-course-corpus huggingface dataset:
English: We force shared parameters to be equal, so the gradient w.r.t. to shared parameters will be summed in the backprop. For example the gradient of the cost function C(y,yˉ) with respect to u1​ will be the sum of the gradient of the cost function C(y,yˉ) with respect to w1​ and the gradient of the cost function C(y,yˉ) with respect to w2​.
French: Nous forçons les paramètres partagés à être égaux, de sorte que le gradient par rapport aux paramètres partagés sera additionné dans la rétropropagation. Par exemple, le gradient de la fonction de coût C(y,yˉ) par rapport à u1​ sera la somme du gradient de la fonction de coût C(y,yˉ) par rapport à w1​ et du gradient de la fonction de coût C(y,yˉ) par rapport à w2​.
English: A hypernetwork is a network where the weights of one network is the output of another network. Figure 6 shows the computation graph of a “hypernetwork”. Here the function H is a network with parameter vector u and input x. As a result, the weights of G(x,w) are dynamically configured by the network H(x,u). Although this is an old idea, it remains very powerful.
French: Un hyper-réseau est un réseau où les poids d’un réseau sont la sortie d’un autre réseau. La figure 6 montre le graphique de calcul d’un hyper-réseau. Ici, la fonction H est un réseau avec le vecteur paramètre u et l’entrée x. En conséquence, les poids de G(x,w) sont configurés dynamiquement par le réseau H(x,u). Bien que cette idée soit ancienne, elle reste très puissante.
English: Weight sharing transformation can be applied to motif detection. Motif detection means to find some motifs in sequential data like keywords in speech or text. One way to achieve this, as shown in Figure 7, is to use a sliding window on data, which moves the weight-sharing function to detect a particular motif (i.e. a particular sound in speech signal), and the outputs (i.e. a score) goes into a maximum function.
French: La partage de poids peut être appliqué à la détection de motifs. La détection de motifs consiste à trouver certains motifs dans des données séquentielles comme des mots-clés dans la parole ou le texte. Une façon d’y parvenir, comme le montre la figure 7, consiste à utiliser une fenêtre coulissante sur les données, qui déplace la fonction de partage de poids pour détecter un motif particulier (c’est-à-dire un son particulier dans le signal vocal) et les sorties (c’est-à-dire une partition) passent dans une fonction maximale.
English: In this example we have 5 of those functions. As a result of this solution, we sum up five gradients and backpropagate the error to update the parameter w. When implementing this in PyTorch, we want to prevent the implicit accumulation of these gradients, so we need to use zero_grad() to initialize the gradient.
French: Dans cet exemple, nous avons cinq de ces fonctions. Cette solution nous permet d’additionner cinq gradients et de rétropropager l’erreur pour mettre à jour le paramètre w. En implémentant cela dans PyTorch, nous voulons empêcher l’accumulation implicite de ces gradients, donc nous devons utiliser zero_grad() pour initialiser le gradient.
English: The other useful application is motif detection in images. We usually swipe our “templates” over images to detect the shapes independent of position and distortion of the shapes. A simple example is to distinguish between “C” and “D”, as Figure 8 shows. The difference between “C” and “D” is that “C” has two endpoints and “D” has two corners. So we can design “endpoint templates” and “corner templates”. If the shape is similar to the “templates”, it will have thresholded outputs. Then we can distinguish letters from these outputs by summing them up. In Figure 8, the network detects two endpoints and zero corners, so it activates “C”.
French: L’autre application utile est la détection de motifs dans les images. Nous faisons généralement glisser nos patrons sur les images pour détecter les formes indépendamment de leur position et de leur distorsion. Un exemple simple consiste à distinguer un « C » d’un « D », comme le montre la figure 8. La différence entre « C » et « D » est que « C » a deux extrémités et « D » a deux coins. Nous pouvons donc concevoir des patrons d’extrémité et des patrons d’angle. Si la forme est similaire aux patrons, les sorties seront limitées. Nous pouvons alors distinguer les lettres de ces sorties en les additionnant. Dans la figure 8, le réseau détecte deux points d’extrémité et zéro coin, donc il active « C ».
English: It is also important that our “template matching” should be shift-invariant - when we shift the input, the output (i.e. the letter detected) shouldn’t change. This can be solved with weight sharing transformation. As Figure 9 shows, when we change the location of “D”, we can still detect the corner motifs even though they are shifted. When we sum up the motifs, it will activate the “D” detection.
French: Il est également important que notre appariement de pochoirs (template matching en anglais) soit invariable par décalage : lorsque nous décalons l’entrée, la sortie (c’est-à-dire la lettre détectée) ne doit pas changer. Ce problème peut être résolu par une transformation de type partage de poids. Comme le montre la figure 9, lorsque nous changeons l’emplacement de « D », nous pouvons toujours détecter les motifs de coin même s’ils sont décalés. Lorsque nous additionnons les motifs, cela active la détection de « D ».
English: This hand-crafted method of using local detectors and summation to for digit-recognition was used for many years. But it presents us with the following problem: How can we design these “templates” automatically? Can we use neural networks to learn these “templates”? Next, We will introduce the concept of convolutions, that is, the operation we use to match images with “templates”.
French: Cette méthode artisanale d’utilisation de détecteurs locaux et de sommation pour la reconnaissance des chiffres a été utilisée pendant de nombreuses années. Mais elle nous pose le problème suivant : comment pouvons-nous concevoir ces pochoirs automatiquement ? Pouvons-nous utiliser des réseaux de neurones pour apprendre ces pochoirs ? Pour cela nous allons introduire le concept de convolutions, c’est-à-dire l’opération que nous utilisons pour faire correspondre les images avec les pochoirs.
English: In words, the i-th output is computed as the dot product between the reversed w and a window of the same size in x. To compute the full output, start the window at the beginning, shift this window by one entry each time and repeat until x is exhausted.
French: En d’autres termes, la ii-ème sortie est calculée comme le produit scalaire entre les w inversés et une fenêtre de même taille en x. Pour calculer la sortie complète, on commence avec la fenêtre au début puis on décale cette fenêtre d’une entrée à chaque fois. On répète le procédé jusqu’à ce que x soit épuisé.
English: Mathematicians call this formulation “cross-correlation”. In our context, this difference is just a difference in convention. Practically, cross-correlation and convolution can be interchangeable if one reads the weights stored in memory forward or backward.
French: Les mathématiciens appellent cette formulation « corrélation croisée ». Dans notre contexte, cette différence n’est qu’une différence de convention. En pratique, la corrélation croisée et la convolution peuvent être interchangeables si l’on lit les poids stockés en mémoire en avant ou en arrière.
English: 1. Striding: instead of shifting the window in x one entry at a time, one can do so with a larger step (for example two or three entries at a time). Example: Suppose the input x is one dimensional and has size of 100 and w has size 5. The output size with a stride of 1 or 2 is shown in the table below:
French: Décalage (striding) : au lieu de décaler la fenêtre en x une entrée à la fois, on peut le faire avec un pas plus grand (par exemple deux ou trois entrées à la fois). Exemple : supposons que l’entrée x soit unidimensionnelle et ait une taille de 100 et que W ait une taille de 5. La taille de la sortie avec un pas de 11 ou 22 est indiquée dans le tableau ci-dessous :
English: 2. Padding: Very often in designing Deep Neural Networks architectures, we want the output of convolution to be of the same size as the input. This can be achieved by padding the input ends with a number of (typically) zero entries, usually on both sides. Padding is done mostly for convenience. It can sometimes impact performance and result in strange border effects, that said, when using a ReLU non-linearity, zero padding is not unreasonable.
French: Remplissage (padding) : très souvent, dans la conception des architectures de réseaux neuronaux profonds, nous voulons que la sortie de la convolution soit de la même taille que l’entrée. Cela peut être réalisé en ajoutant aux extrémités de l’entrée un certain nombre d’entrées (généralement) nulles, généralement des deux côtés. Le remplissage se fait surtout par commodité. Il peut parfois avoir un impact sur les performances et entraîner d’étranges effets de bord, cela dit, lorsqu’on utilise une non-linéarité ReLU, le remplissage avec des zéros n’est pas déraisonnable.
English: As previously described, deep neural networks are typically organized as repeated alternation between linear operators and point-wise nonlinearity layers. In convolutional neural networks, the linear operator will be the convolution operator described above. There is also an optional third type of layer called the pooling layer.
French: Comme décrit précédemment, les réseaux neuronaux profonds sont généralement organisés sous forme d’alternance répétée entre des opérateurs linéaires et des couches de non-linéarité ponctuelles. Dans les réseaux neuronaux convolutifs, l’opérateur linéaire sera l’opérateur de convolution décrit ci-dessus. Il existe également un troisième type de couche optionnelle appelée couche d’agrégation (pooling layer).
English: The reason for stacking multiple such layers is that we want to build a hierarchical representation of the data. CNNs do not have to be limited to processing images, they have also been successfully applied to speech and language. Technically they can be applied to any type of data that comes in the form of arrays, although we also these arrays to satisfy certain properties.
French: La raison de l’empilement de plusieurs couches de ce type est que nous voulons construire une représentation hiérarchique des données. Les ConvNets ne doivent pas être limités au traitement des images, ils ont également été appliqués avec succès à la parole et au langage. Techniquement, ils peuvent être appliqués à tout type de données qui se présentent sous la forme de tableaux, bien que nous ayons également ces tableaux pour satisfaire certaines propriétés.
English: Why would we want to capture the hierarchical representation of the world? Because the world we live in is compositional. This point is alluded to in previous sections. Such hierarchical nature can be observed from the fact that local pixels assemble to form simple motifs such as oriented edges. These edges in turn are assembled to form local features such as corners, T-junctions, etc. These edges are assembled to form motifs that are even more abstract. We can keep building on these hierarchical representation to eventually form the objects we observe in the real world.
French: Pourquoi voudrions-nous saisir la représentation hiérarchique du monde ? Parce que le monde dans lequel nous vivons est compositionnel. Ce point est évoqué dans les sections précédentes. Cette nature hiérarchique peut être observée à partir du fait que les pixels locaux s’assemblent pour former des motifs simples tels que des bords orientés. Ces bords sont à leur tour assemblés pour former des caractéristiques locales telles que des coins, des jonctions en T, etc. Ces bords sont assemblés pour former des motifs encore plus abstraits. Ces bords sont assemblés pour former des motifs encore plus abstraits. Nous pouvons continuer à nous appuyer sur ces représentations hiérarchiques pour finalement former les objets que nous observons dans le monde réel.
English: This compositional, hierarchical nature we observe in the natural world is therefore not just the result of our visual perception, but also true at the physical level. At the lowest level of description, we have elementary particles, which assembled to form atoms, atoms together form molecules, we continue to build on this process to form materials, parts of objects and eventually full objects in the physical world.
French: Cette nature compositionnelle et hiérarchique que nous observons dans le monde naturel n’est donc pas seulement le résultat de notre perception visuelle, mais est aussi vraie au niveau physique. Au niveau le plus bas de la description, nous avons des particules élémentaires, qui s’assemblent pour former des atomes, les atomes forment ensemble des molécules, nous continuons à nous appuyer sur ce processus pour former des matériaux, des parties d’objets et finalement des objets complets dans le monde physique.
English: The compositional nature of the world might be the answer to Einstein’s rhetorical question on how humans understand the world they live in: The most incomprehensible thing about the universe is that it is comprehensible.
French: La nature compositionnelle du monde pourrait être la réponse à la question rhétorique d’Einstein sur la façon dont les humains comprennent le monde dans lequel ils vivent : « La chose la plus incompréhensible à propos de l’univers est qu’il est compréhensible ».
English: The fact that humans understand the world thanks to this compositional nature still seems like a conspiracy to Yann. It is, however, argued that without compositionality, it will take even more magic for humans to comprehend the world they live in. Quoting the great mathematician Stuart Geman: The world is compositional or God exists.
French: Le fait que les humains comprennent le monde grâce à cette nature compositionnelle semble être une conspiration pour Yann. Il avance que sans cette compositionnalité, il faudrait encore plus de magie pour que les humains comprennent le monde dans lequel ils vivent. Il cite le mathématicien Stuart Geman : « Le monde est composé ou Dieu existe ».
English: So why should Deep Learning be rooted in the idea that our world is comprehensible and has a compositional nature? Research conducted by Simon Thorpe helped motivate this further. He showed that the way we recognize everyday objects is extremely fast. His experiments involved flashing a set of images every 100ms, and then asking users to identify these images, which they were able to do successfully. This demonstrated that it takes about 100ms for humans to detect objects. Furthermore, consider the diagram below, illustrating parts of the brain annotated with the time it takes for neurons to propagate from one area to the next:
French: Alors pourquoi l’apprentissage profond devrait-il être ancré dans l’idée que notre monde est compréhensible et a une nature compositionnelle ? Les recherches menées par Simon Thorpe ont contribué à motiver cette idée. Il a montré que la façon dont nous reconnaissons les objets quotidiens est extrêmement rapide. Ses expériences ont consisté à faire clignoter un ensemble d’images toutes les 100 ms, puis à demander aux utilisateurs d’identifier ces images, ce qu’ils ont réussi à faire. Cela a montré qu’il faut environ 100 ms aux humains pour détecter des objets. En outre, le diagramme ci-dessous illustre des parties du cerveau annotées du temps que mettent les neurones à se propager d’une zone à l’autre :
English: Signals pass from the retina to the LGN (helps with contrast enhancement, gate control, etc.), then to the V1 primary visual cortex, V2, V4, then to the inferotemporal cortex (PIT), which is the part of the brain where categories are defined. Observations from open-brain surgery showed that if you show a human a film, neurons in the PIT will fire only when they detect certain images -- such as Jennifer Aniston or a person's grandmother -- and nothing else. The neural firings are invariant to things such as position, size, illumination, your grandmother's orientation, what she's wearing, etc. 
French: Les signaux passent de la rétine au corps géniculé latéral (LGN sur la figure 11) qui aide à l’amélioration du contraste, au contrôle des portes, etc., puis au cortex visuel primaire V1, V2, V4, puis au cortex inférotemporel (PIT), qui est la partie du cerveau où les catégories sont définies. Les observations en chirurgie à cerveau ouvert ont montré que si vous montrez un film à un humain, les neurones du PIT ne se déclenchent que lorsqu’ils détectent certaines images (comme Jennifer Aniston ou la grand-mère d’une personne par exemple) et rien d’autre. Les déclenchements neuronaux sont invariables en fonction de la position, de la taille, de l’éclairage, de l’orientation de votre grand-mère, de ce qu’elle porte, etc.
English: Furthermore, the fast reaction times with which humans were able to categorize these items -- barely enough time for a few spikes to get through -- demonstrates that it's possible to do this without additional time spent on complex recurrent computations. Rather, this is a single feed-forward process. 
French: De plus, le temps de réaction extrêmement rapide avec lequel les humains ont pu classer ces éléments (à peine assez de temps pour que quelques décharges passent) démontre qu’il est possible de le faire sans passer de temps supplémentaire sur des calculs complexes et récurrents. Il s’agit plutôt d’un processus feed-forward unique.
English: These insights suggested that we could develop a neural network architecture which is completely feed-forward, yet still able to solve the problem of recognition, in a way that is invariant to irrelevant transformations of the input. 
French: Ces idées ont suggéré que nous pourrions développer une architecture de réseau neuronal qui soit complètement feed-forward, tout en étant capable de résoudre le problème de la reconnaissance, d’une manière qui soit invariante aux transformations non pertinentes de l’entrée.
English: The right side shows the ventral pathway, which tells you what you're looking at, while the left side shows the dorsal pathway, which identifies locations, geometry, and motion. They seem fairly separate in the human (and primate) visual cortex (with a few interactions between them of course).
French: Le côté droit montre la voie ventrale, qui vous indique ce que vous regardez, tandis que le côté gauche montre la voie dorsale, qui identifie les emplacements, la géométrie et le mouvement. Ils semblent assez séparés dans le cortex visuel de l’homme et des primates (avec quelques interactions entre eux bien sûr).
English: Hubel and Weisel experiments used electrodes to measure neural firings in cat brains in response to visual stimuli. They discovered that neurons in the V1 region are only sensitive to certain areas of a visual field (called "receptive fields"), and detect oriented edges in that area. For example, they demonstrated that if you showed the cat a vertical bar and start rotating it, at a particular angle the neuron will fire. Similarly, as the bar moves away from that angle, the activation of the neuron diminishes. These activation-selective neurons Hubel & Weisel named "simple cells", for their ability to detect local features. 
French: Dans leurs expériences, Hubel et Weisel ont utilisé des électrodes pour mesurer les tirs neuronaux dans le cerveau des chats en réponse à des stimuli visuels. Ils ont découvert que les excitations neuronales de la région V1 ne sont sensibles qu’à certaines zones d’un champ visuel (appelées champs réceptifs) et détectent des bords orientés dans cette zone. Par exemple, ils ont démontré que si on montre au chat une barre verticale et commençons à la faire tourner, le neurone se déclenchera à un angle particulier. De même, à mesure que la barre s’éloigne de cet angle, l’activation du neurone diminue. Ces neurones à activation sélective, Hubel & Weisel les ont nommés « cellules simples » pour leur capacité à détecter des caractéristiques locales.
English: They also discovered that if you move the bar out of the receptive field, that particular neuron doesn't fire any more, but another neuron will. There are local feature detectors corresponding to all areas of the visual field, hence the idea that the human brain processes visual information as a collection of "convolutions". 
French: Ils ont également découvert que si on déplace la barre hors du champ de réception, ce neurone particulier ne s’active plus, mais un autre neurone le fera. Il existe des détecteurs de caractéristiques locales correspondant à toutes les zones du champ visuel, d’où l’idée que le cerveau humain traite les informations visuelles comme un ensemble de convolutions.
English: Another type of neuron, which they named "complex cells", aggregate the output of multiple simple cells within a certain area. We can think of these as computing an aggregate of the activations using a function such as maximum, sum, sum of squares, or any other function not depending on the order. These complex cells detect edges and orientations in a region, regardless of where those stimuli lie specifically within the region. In other words, they are shift-invariant with respect to small variations in positions of the input.
French: Un autre type de neurone, qu’ils ont appelé « cellules complexes », regroupe la sortie de plusieurs cellules simples dans une certaine zone. On peut considérer qu’elles calculent un agrégat des activations en utilisant une fonction telle que maximum, somme, somme des carrés, ou toute autre fonction ne dépendant pas de l’ordre. Ces cellules complexes détectent les bords et les orientations dans une région, indépendamment de l’endroit où ces stimuli se trouvent spécifiquement dans la région. En d’autres termes, elles sont invariantes par rapport aux petites variations de positions de l’entrée.
English: Fukushima was the first to implement the idea of multiple layers of simple cells and complex cells with computer models, using a dataset of handwritten digits. Some of these feature detectors were hand-crafted or learned, though the learning used unsupervised clustering algorithms, trained separately for each layer, as backpropagation was not yet in use. Yann LeCun came in a few years later (1989, 1998) and implemented the same architecture, but this time trained them in a supervised setting using backpropagation. This is widely regarded as the genesis of modern convolutional neural networks. (Note: Riesenhuber at MIT in 1999 also re-discovered this architecture, though he didn't use backpropagation.)
French: Fukushima a été le premier à mettre en œuvre, avec des modèles informatiques, l’idée de couches multiples de cellules simples et de cellules complexes. Certains de ces détecteurs de caractéristiques ont été fabriqués à la main ou appris, bien que l’apprentissage ait utilisé des algorithmes de clustering non supervisés, entraînés séparément pour chaque couche, car la rétropropagation n’était pas encore utilisée. Yann Le Cun est arrivé quelques années plus tard (1989 et 1998) et a mis en place la même architecture, mais cette fois-ci, avec un entraînement supervisé utilisant la rétropropagation. Cette méthode est largement considérée comme la genèse des réseaux neuronaux convolutifs modernes. A noter que Riesenhuber du MIT a également redécouvert cette architecture en 1999, bien qu’il n’ait pas utilisé la rétropropagation.