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: annexe/annexe.tex
+62-13Lines changed: 62 additions & 13 deletions
Original file line number
Diff line number
Diff line change
@@ -30,6 +30,8 @@ \section{Une brève histoire des réseaux de neurones}
30
30
31
31
\item\textbf{\emph{Deep learning}.} À partir des années 2000 et surtout après 2010 les réseaux de neurones font des progrès fulgurants grâce à l'apprentissage profond. Yann Le Cun démontre l'efficacité des couches de convolution pour la reconnaissance des chiffres. On réalise et entraîne alors des réseaux ayant de plus en plus de couches grâce à des progrès matériels (par exemple le calcul sur les processeurs graphiques GPU) mais surtout grâce aux couches de convolution qui extraient des caractéristiques abstraites des images.
32
32
33
+
\item\textbf{ChatGPT}. En 2022, le public découvre ChatGPT avec la génération automatique de textes extrêmement pertinents. Ces modèles de langage sont basés sur des couches d'attention et deviennent vite des outils indispensables au quotidien : explication de concepts, analyse de documents, production de code informatique, etc.
34
+
33
35
\item\textbf{Présent et avenir.} Les réseaux de neurones s'appliquent à de nombreux domaines : la reconnaissance d'images (par exemple la détection de cancer sur une radiographie), les transports (par exemple la conduite autonome des voitures), les jeux (les ordinateurs battent les champions du monde d'échecs, de go et des jeux vidéos les plus complexes), l'écriture (classement, résumé, traduction)\ldots{}
34
36
Il persiste cependant une certaine méfiance vis à vis des décisions prises par une machine (sentence de justice, diagnostic médical, publicité ciblée). Une meilleure compréhension du fonctionnement des réseaux de neurones par tous est donc indispensable !
35
37
\end{itemize}
@@ -48,13 +50,15 @@ \section{Références}
48
50
49
51
\item Le livre \emph{Deep learning/L'apprentissage profond} par Goodfellow, Bengio, Courville contient des concepts plus avancés. Il est disponible en anglais et en français. Une version gratuite est consultable ici :
En particulier vous trouvez sur ce site le module \ci{keras_facile} qui vous aide à définir facilement des poids pour un réseau simple.
56
53
54
+
\item Concernant ChatGPT, l'article fondateur est
55
+
\href{https://arxiv.org/pdf/1706.03762.pdf}{\emph{Attention is all you need}}, des explications mathématiques se trouvent dans
56
+
\href{https://transformer-circuits.pub/2021/framework/index.html}{\emph{A mathematical framework for transformer circuits}}.
57
57
58
+
\item Vous trouverez des sites qui proposent de tester différents modèles en affichant de façon interactive les tokens et leur probabilité. Par exemple :
Les activités de ce livre sont écrites pour \Python{} (version 3.12).
99
+
Cependant il faut installer un certain nombre de modules complémentaires qui ne sont pas nécessairement présents par défaut.
100
+
79
101
\begin{itemize}
80
-
\item\ci{tensorflow} qui contient le sous-module \ci{keras},
102
+
\item\ci{tensorflow} (version 2.18) qui contient le sous-module \ci{keras} (version 3.10),
81
103
\item\ci{numpy} pour les tableaux,
82
104
\item\ci{matplotlib} pour l'affichage de graphiques,
83
105
\item\ci{scipy} pour la convolution,
84
106
\item\ci{ioimage} pour gérer la lecture et l'écriture d'images.
85
-
86
107
\end{itemize}
87
108
109
+
Pour les chapitres concernant ChatGPT :
110
+
\begin{itemize}
111
+
\item\ci{pytorch} (version 2.6) est un équivalent de tensorflow,
112
+
\item\ci{transformers} (version 4.52) gère les LLM,
113
+
\item\ci{ntlk} pour la linguistique,
114
+
\item\ci{bertviz} pour la visualisation des têtes d'attention.
115
+
\end{itemize}
116
+
117
+
\medskip
118
+
88
119
Un module s'installe simplement par :
89
120
\mycenterline{\ci{pip install mon_module}}
90
121
122
+
Cependant, il est fortement préférable d'utiliser un gestionnaire d'environnements du type \ci{conda} afin de gérer plusieurs versions de \Python{} et de ses modules.
123
+
Voici comment créer et activer un environnement \ci{deepmath} afin d’exécuter les scripts de ce livre :
124
+
\mycenterline{\ci{conda create --name deepmath python=3.12 tensorflow keras numpy matplotlib}}
91
125
92
-
Il existe des distributions \Python{} (du type \ci{conda}) qui contiennent les principaux modules scientifiques et permettent aussi de créer des \og{}environnements\fg{} afin de gérer plusieurs versions
93
-
de \Python{} et de ses modules.
126
+
\smallskip
94
127
95
-
Pour ceux qui souhaitent ne rien installer, il est possible d'utiliser \tensorflow{} en ligne :
Pour des calculs plus rapides, on profite des processeurs graphiques GPU. Pour cela il faut installer les logiciels \ci{CUDA} et \ci{cuDNN} sur sa machine. Si on souhaite faire les calculs uniquement avec le CPU, on peut ajouter l'instruction suivante en tête du programme :
0 commit comments