Skip to content

Commit 7995f3c

Browse files
authored
[FR] website V2 (part 1) (Atcold#797)
* z̃ * Add week 15 * clean images * Add files via upload * clean images * clean images * clean images * clean images * clean images * clean images * clean images * clean images * clean images * clean images * Add files via upload * Add files via upload * clean images * clean images * clean images * clean images * clean images * fix markdown * fix + QA harmonization * fix markdown * improved formulation * fix formulaitons * QA harmonization * fix markdown * forget some correction * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 fix French for Atcold#493 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 * v2 fix Atcold#778 for French (to think to update Atcold#144) * few corrections
1 parent 90fad5e commit 7995f3c

File tree

137 files changed

+1764
-1813
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

137 files changed

+1764
-1813
lines changed

docs/fr/index.md

Lines changed: 68 additions & 51 deletions
Large diffs are not rendered by default.

docs/fr/week01/01-1.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -183,12 +183,12 @@ $$
183183
<!--
184184
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.
185185
186-
It is important to consider how to interpret inputs. For example, an image of $256$\times$256$ would require a 200,000 valued matrix. These would be huge matrices that the neural network layers will need to handle. It would be impractical to utilize such matrices. Therefore, it is important to make hypothesis of the structure of the matrix.
186+
It is important to consider how to interpret inputs. For example, an image of 256$$\times$$256 would require a 200,000 valued matrix. These would be huge matrices that the neural network layers will need to handle. It would be impractical to utilize such matrices. Therefore, it is important to make hypothesis of the structure of the matrix.
187187
-->
188188

189189
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.
190190

191-
Il est important de réfléchir à la manière d'interpréter les entrées. Par exemple, une image de $256$\times$256$ nécessite une matrice d'une valeur de 200 000. On aurait alors d'énormes matrices que les couches du réseau neuronal auraient à manipuler. Il n'est donc pas pratique d'utiliser de telles matrices. Par conséquent, il est important de faire des hypothèses sur la structure de la matrice.
191+
Il est important de réfléchir à la manière d'interpréter les entrées. Par exemple, une image de 256$$\times$$256 nécessite une matrice d'une valeur de 200 000. On aurait alors d'énormes matrices que les couches du réseau neuronal auraient à manipuler. Il n'est donc pas pratique d'utiliser de telles matrices. Par conséquent, il est important de faire des hypothèses sur la structure de la matrice.
192192

193193

194194
<!--

docs/fr/week01/01-2.md

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ Dans le cerveau des animaux, les neurones réagissent aux bords qui ont des orie
4040

4141
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).
4242

43-
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 1992](https://www.youtube.com/watch?v=FwFduRA_L6Q&list=PL80I41oVxglKKxF1OBbKHdOEX2VZVNzAR&index=1) 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.
43+
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](https://www.youtube.com/watch?v=FwFduRA_L6Q&list=PL80I41oVxglKKxF1OBbKHdOEX2VZVNzAR&index=1) 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.
4444

4545
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.
4646

@@ -52,7 +52,7 @@ La révolution de l'apprentissage profond (bien que le terme ne soit pas utilis
5252

5353
Après avoir vu le succès d'AlexNet, la communauté de la vision par ordinateur (souvent abrégée en *CV* en anglais pour *Computer Vision*) a été convaincue que les ConvNets fonctionnent. Alors que tous les articles de 2011-2012 mentionnant les ConvNets étaient alors rejetés, depuis 2016 la plupart des papiers acceptés utilisent les ConvNets.
5454

55-
Au fil des ans, le nombre de couches utilisées a augmenté : LeNet -- 7, AlexNet -- 12, VGG -- 19, ResNet -- 50. Toutefois, il y a un compromis à faire entre le nombre d'opérations nécessaires pour calculer le résultat, la taille du modèle et sa précision. Ainsi, un sujet actuellement populaire est de savoir comment comprimer les réseaux pour rendre les calculs plus rapides.
55+
Au fil des ans, le nombre de couches utilisées a augmenté : 7 pour LeNet, 12 pour AlexNet, 19 pour VGG, 50 pour ResNet. Toutefois, il y a un compromis à faire entre le nombre d'opérations nécessaires pour calculer le résultat, la taille du modèle et sa précision. Ainsi, un sujet actuellement populaire est de savoir comment comprimer les réseaux pour rendre les calculs plus rapides.
5656

5757

5858

@@ -103,7 +103,7 @@ Bien que les sciences et les mathématiques qui sous-tendent l'apprentissage pro
103103
- Pourquoi les architectures à plusieurs couches sont-elles plus performantes, étant donné que nous pouvons approximer n'importe quelle fonction avec deux couches ?
104104
- Pourquoi les ConvNets fonctionnent-ils aussi bien avec des données naturelles telles que la parole, les images et le texte ?
105105
- Comment sommes-nous capables d'optimiser aussi bien les fonctions non convexes ?
106-
- Pourquoi les architectures sur-paramétrées fonctionnent-elles ?
106+
- Pourquoi les architectures surparamétrées fonctionnent-elles ?
107107

108108
L'extraction de caractéristiques consiste à élargir la dimension de représentation de telle sorte que les caractéristiques élargies aient plus de chances d'être linéairement séparables (en raison de l'augmentation du nombre de plans de séparation possibles).
109109

@@ -164,7 +164,7 @@ Une analogie consiste à concevoir un circuit pour calculer une fonction boolée
164164

165165

166166
Qu'est-ce que la "profondeur" ?
167-
- Une SVM n'est pas profond car ne comporte que deux couches
167+
- Une SVM n'est pas profonde car ne comporte que deux couches
168168
- Un arbre de classification n'est pas profond car chaque couche analyse les mêmes caractéristiques (brutes)
169169
- Un réseau profond comporte plusieurs couches et les utilise pour construire une **hiérarchie de caractéristiques d'une complexité croissante**
170170

@@ -173,6 +173,6 @@ Comment les modèles peuvent-ils apprendre les représentations (les bonnes cara
173173
Hypothèse de la multiplicité : les données naturelles vivent dans une multiplicité à faible dimension. L'ensemble des images possibles est essentiellement infini, l'ensemble des images "naturelles" est un minuscule sous-ensemble. Par exemple : pour une image d'une personne, l'ensemble des images possibles est de l'ordre de grandeur du nombre de muscles du visage qu'elle peut bouger (degrés de liberté) soit environ 50. Un extracteur de caractéristiques idéal (et irréaliste) représente tous les facteurs de variation (chacun des muscles, éclairage, *etc.*).
174174

175175

176-
Questions et réponses à la fin de la conférence :
177-
- Pour l'exemple du visage, une autre technique de réduction de la dimensionnalité (*c.-à-d.* l’ACP) pourrait-elle extraire ces traits ?
178-
Cela ne fonctionnerait que si la surface est un hyperplan, ce qui n'est pas le cas.
176+
*Réponses aux questions d'étudiants :*
177+
**Pour l'exemple du visage, une autre technique de réduction de la dimensionnalité (*c.-à-d.* l’ACP) pourrait-elle extraire ces traits ?**
178+
> Cela ne fonctionnerait que si la surface est un hyperplan, ce qui n'est pas le cas.

docs/fr/week01/01-3.md

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ Avec une telle dimensionnalité, de nombreuses images intéressantes que nous po
4545
Afin de séparer efficacement ces images, nous envisageons des moyens de transformer les données afin de déplacer les points. Rappelons que dans l'espace bidimensionnel, une transformation linéaire équivaut à une multiplication de matrice. Par exemple, les transformations suivantes peuvent être obtenues en changeant les caractéristiques de la matrice :
4646

4747
- Rotation : lorsque la matrice est orthonormée.
48-
- Mise à l'échelle ("scalabilité") : lorsque la matrice est diagonale.
48+
- Mise à l'échelle (« scalabilité ») : lorsque la matrice est diagonale.
4949
- Réflexion : lorsque le déterminant est négatif.
5050
- *Shearing*.
5151
- Translation.
@@ -76,7 +76,7 @@ Dans notre visualisation, nous avons cinq branches d'une spirale, chaque branche
7676
<center> Figure 1 : Spirale à cinq couleurs </center>
7777

7878

79-
Le réseau "étire" le tissu spatial afin de séparer chacun des points en différents sous-espaces. À la convergence, le réseau sépare chacune des couleurs en différents sous-espaces de la surface finale. En d'autres termes, chacune des couleurs dans ce nouvel espace sera linéairement séparable par une régression « un contre tous ». Les vecteurs du diagramme peuvent être représentés par une matrice de 5x2. Cette matrice peut être multipliée à chaque point pour obtenir des scores pour chacune des cinq couleurs. Chacun des points peut ensuite être classé par couleur en utilisant les scores respectifs. Ici, la dimension de sortie est de cinq, une pour chacune des couleurs, et la dimension d'entrée est de deux, une pour les coordonnées x et y de chacun des points. Pour résumer, ce réseau prend essentiellement le tissu spatial et effectue une transformation de l'espace paramétrée par plusieurs matrices puis par des non-linéarités.
79+
Le réseau « étire » le tissu spatial afin de séparer chacun des points en différents sous-espaces. À la convergence, le réseau sépare chacune des couleurs en différents sous-espaces de la surface finale. En d'autres termes, chacune des couleurs dans ce nouvel espace sera linéairement séparable par une régression « un contre tous ». Les vecteurs du diagramme peuvent être représentés par une matrice de 5x2. Cette matrice peut être multipliée à chaque point pour obtenir des scores pour chacune des cinq couleurs. Chacun des points peut ensuite être classé par couleur en utilisant les scores respectifs. Ici, la dimension de sortie est de cinq, une pour chacune des couleurs, et la dimension d'entrée est de deux, une pour les coordonnées *x* et *y* de chacun des points. Pour résumer, ce réseau prend essentiellement le tissu spatial et effectue une transformation de l'espace paramétrée par plusieurs matrices puis par des non-linéarités.
8080

8181

8282
<!--
@@ -105,12 +105,12 @@ La première matrice fait correspondre l'entrée bidimensionnelle à une couche
105105
106106
## [Random projections - Jupyter Notebook](https://www.youtube.com/watch?v=5_qrxVq1kvc&t=1693s)
107107
108-
The Jupyter Notebook can be found [here](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/02-space_stretching.ipynb). In order to run the notebook, make sure you have the `pDL` environment installed as specified in [`README.md`](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/README.md).
108+
The English Jupyter Notebook can be found [here](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/02-space_stretching.ipynb). The French one is available [here](https://github.com/lbourdois/pytorch-Deep-Learning-Notebooks-in-French/blob/master/02-space_stretching.ipynb) In order to run the notebook, make sure you have the `pDL` environment installed as specified in [`README.md`](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/README.md).
109109
-->
110110

111-
## [Projections aléatoires - Jupyter Notebook](https://www.youtube.com/watch?v=5_qrxVq1kvc&t=1693s)
111+
## [Projections aléatoires - Notebook Jupyter](https://www.youtube.com/watch?v=5_qrxVq1kvc&t=1693s)
112112

113-
Le Notebook Jupyter peut être consulté [ici](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/02-space_stretching.ipynb). Pour le faire fonctionner, assurez-vous que l'environnement `pDL` est installé comme indiqué dans [`README.md`](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/docs/fr/README-FR.md).
113+
La version anglaise du *notebook* Jupyter peut être consultée [ici](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/02-space_stretching.ipynb). Celle en français est disponible [ici](https://github.com/lbourdois/pytorch-Deep-Learning-Notebooks-in-French/blob/master/02-space_stretching.ipynb). Pour le faire fonctionner, assurez-vous que l'environnement `pDL` est installé comme indiqué dans le fichier [`README.md`](https://github.com/Atcold/pytorch-Deep-Learning/blob/master/docs/fr/README-FR.md).
114114

115115
<!--
116116
@@ -146,9 +146,9 @@ La première ligne crée une variable, appelée `device`, qui est assignée au G
146146
To see the documentation for a function in a notebook cell, use `Shift + Tab.`
147147
-->
148148

149-
### Astuce Notebook Jupyter
149+
### Astuce notebook Jupyter
150150

151-
Pour voir la documentation d'une fonction dans une cellule du notebook, utilisez `Shift + Tab`.
151+
Pour voir la documentation d'une fonction dans une cellule du *notebook*, utilisez `Shift + Tab`.
152152

153153
<!--
154154
@@ -232,7 +232,7 @@ Rappelez-vous, le graphique de $\tanh(\cdot)$ de la Fig. 4.
232232
Figure 4 : Non-linéarité de la tangente hyperbolique
233233
</center>
234234

235-
Cette non-linéarité a pour effet de délimiter des points entre $-1$ et $+1 $$, créant ainsi un carré. Plus la valeur de $s$ dans l'équation (2) augmente, plus les points sont poussés vers le bord du carré. C'est ce que montre la figure 5. En forçant plus de points vers le bord, nous les étalons davantage et pouvons alors tenter de les classer.
235+
Cette non-linéarité a pour effet de délimiter des points entre $-1$ et $+1$, créant ainsi un carré. Plus la valeur de $s$ dans l'équation (2) augmente, plus les points sont poussés vers le bord du carré. C'est ce que montre la figure 5. En forçant plus de points vers le bord, nous les étalons davantage et pouvons alors tenter de les classer.
236236

237237
| <img src="{{site.baseurl}}/images/week01/01-3/matrix_multiplication_with_nonlinearity_s=1_lab1.png" width="200px" /> | <img src="{{site. baseurl}}/images/week01/01-3/matrix_multiplication_with_nonlinearity_s=5_lab1.png" width="200px" /> |
238238
| (a) Non-linéarité avec $s=1$ | (b) Non-linéarité avec $s=5$ |
@@ -253,7 +253,7 @@ Figure 6: Transformation from an untrained neural network
253253
-->
254254

255255
### Réseau neuronal aléatoire
256-
Enfin, nous visualisons la transformation effectuée par un simple réseau de neurones non entraîné. Le réseau est constitué d'une couche linéaire, qui effectue une transformation affine, suivie d'une tangente hyperbolique non-linéaire, et enfin d'une autre couche linéaire. En examinant la transformation de la figure 6, nous constatons qu'elle est différente des transformations linéaires et non linéaires vues précédemment. Nous allons voir comment rendre ces transformations effectuées par les réseaux de neurones utiles pour notre objectif final de classification.
256+
Enfin, nous visualisons la transformation effectuée par un simple réseau de neurones non entraîné. Le réseau est constitué d'une couche linéaire, qui effectue une transformation affine, suivie d'une tangente hyperbolique non-linéaire, et enfin d'une autre couche linéaire. En examinant la transformation de la figure 6, nous constatons qu'elle est différente des transformations linéaires et non linéaires vues précédemment. Nous allons voir comment rendre utiles ces transformations effectuées par les réseaux de neurones pour notre objectif final de classification.
257257
<center>
258258
<img src="{{site.baseurl}}/images/week01/01-3/untrained_nn_transformation_lab1.png" width="200px" /><br>
259259
Figure 6 : Transformation d'un réseau de neurones non entraîné

0 commit comments

Comments
 (0)