You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/fr/week01/01-1.md
+2-2Lines changed: 2 additions & 2 deletions
Original file line number
Diff line number
Diff line change
@@ -183,12 +183,12 @@ $$
183
183
<!--
184
184
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.
185
185
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.
187
187
-->
188
188
189
189
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.
190
190
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.
Copy file name to clipboardExpand all lines: docs/fr/week01/01-2.md
+7-7Lines changed: 7 additions & 7 deletions
Original file line number
Diff line number
Diff line change
@@ -40,7 +40,7 @@ Dans le cerveau des animaux, les neurones réagissent aux bords qui ont des orie
40
40
41
41
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).
42
42
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.
44
44
45
45
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.
46
46
@@ -52,7 +52,7 @@ La révolution de l'apprentissage profond (bien que le terme ne soit pas utilis
52
52
53
53
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.
54
54
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.
56
56
57
57
58
58
@@ -103,7 +103,7 @@ Bien que les sciences et les mathématiques qui sous-tendent l'apprentissage pro
103
103
- Pourquoi les architectures à plusieurs couches sont-elles plus performantes, étant donné que nous pouvons approximer n'importe quelle fonction avec deux couches ?
104
104
- Pourquoi les ConvNets fonctionnent-ils aussi bien avec des données naturelles telles que la parole, les images et le texte ?
105
105
- 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 ?
107
107
108
108
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).
109
109
@@ -164,7 +164,7 @@ Une analogie consiste à concevoir un circuit pour calculer une fonction boolée
164
164
165
165
166
166
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
168
168
- Un arbre de classification n'est pas profond car chaque couche analyse les mêmes caractéristiques (brutes)
169
169
- Un réseau profond comporte plusieurs couches et les utilise pour construire une **hiérarchie de caractéristiques d'une complexité croissante**
170
170
@@ -173,6 +173,6 @@ Comment les modèles peuvent-ils apprendre les représentations (les bonnes cara
173
173
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.*).
174
174
175
175
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.
Copy file name to clipboardExpand all lines: docs/fr/week01/01-3.md
+9-9Lines changed: 9 additions & 9 deletions
Original file line number
Diff line number
Diff line change
@@ -45,7 +45,7 @@ Avec une telle dimensionnalité, de nombreuses images intéressantes que nous po
45
45
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 :
46
46
47
47
- 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.
49
49
- Réflexion : lorsque le déterminant est négatif.
50
50
-*Shearing*.
51
51
- Translation.
@@ -76,7 +76,7 @@ Dans notre visualisation, nous avons cinq branches d'une spirale, chaque branche
76
76
<center> Figure 1 : Spirale à cinq couleurs </center>
77
77
78
78
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.
80
80
81
81
82
82
<!--
@@ -105,12 +105,12 @@ La première matrice fait correspondre l'entrée bidimensionnelle à une couche
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).
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).
114
114
115
115
<!--
116
116
@@ -146,9 +146,9 @@ La première ligne crée une variable, appelée `device`, qui est assignée au G
146
146
To see the documentation for a function in a notebook cell, use `Shift + Tab.`
147
147
-->
148
148
149
-
### Astuce Notebook Jupyter
149
+
### Astuce notebook Jupyter
150
150
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`.
152
152
153
153
<!--
154
154
@@ -232,7 +232,7 @@ Rappelez-vous, le graphique de $\tanh(\cdot)$ de la Fig. 4.
232
232
Figure 4 : Non-linéarité de la tangente hyperbolique
233
233
</center>
234
234
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.
| (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
253
253
-->
254
254
255
255
### 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.
0 commit comments