Académique Documents
Professionnel Documents
Culture Documents
Learning
J. Rynkiewicz
Introduction
Reconnaissance
d’images
Introduction au Deep Learning
Modélisation des
séquences Présentation et histoire du Deep Learning
Traitement du
langage naturel
Outils et ressources
J. Rynkiewicz
Université Paris 1
Cette œuvre est mise à disposition selon les termes de la licenceCreative Commons Attribution - Partage dans les
Mêmes Conditions 4.0 international
2020
Introduction au Deep
Learning
J. Rynkiewicz
Introduction
Reconnaissance
d’images
Les modèles réseaux de neurones artificiels existent depuis longtemps
Modélisation des
séquences
(plus de 60 ans), mais ils sont tombés en désuétude.
Traitement du En 2012, à la plus grande conférence de vision artificiel un réseau de
langage naturel neurone profonds écrase toutes les autres techniques.
Outils et ressources
Dominique Cardon, Jean-Philippe Cointet et Antoine Mazières, « La
revanche des neurones. L’invention des machines inductives et la
controverse de l’intelligence artificielle », Réseaux 2018/5 (n◦ 211), p.
173-220.
Depuis, le Deep Learning est l’état de l’art dans de nombreux domaine.
Introduction au Deep
Learning
J. Rynkiewicz
Introduction au Deep
Learning
J. Rynkiewicz Il faut prédire à quelle classe appartient une une variable aléatoire Y , à partir
de la valeur de données explicatives X .
Introduction
Reconnaissance
d’images
Modélisation des
séquences
X = =⇒
Traitement du Y = “chat”
langage naturel
Outils et ressources
Introduction au Deep
Learning
J. Rynkiewicz
Introduction au Deep
Learning
J. Rynkiewicz
Compétition de classification d’image sur une base de donnée avec 1, 4
Introduction millions d’images et 1000 classes.
Reconnaissance
d’images
Modélisation des
séquences
Traitement du
langage naturel
Outils et ressources
Introduction au Deep
Learning
Modélisation des
séquences
25
Traitement du
langage naturel
20
Outils et ressources
15
10
5
0
XRCE 2011 Alexnet 2012 ZF 2013 VGG 2014 GoogleNet 2014 Humain Resnet 2015 Inception 2016 SE−Resnet 2017
Introduction au Deep Il a ouvert la porte aux modèles de deep learning pour la reconnaissance
Learning
d’image.
J. Rynkiewicz
Ce réseaux commence par des enchainements de couches
Introduction
convolutionelles et de max-pooling.
Il finit par des couches denses.
Reconnaissance
d’images Il a été optimisé grâce à des cartes graphiques avec des algorithmes de
Modélisation des calculs massivement parallèles.
séquences
Traitement du
langage naturel
Outils et ressources
Introduction au Deep
Learning
J. Rynkiewicz
Introduction C’est une généralisation des modèles pour prédire des données catégorielles
Reconnaissance (régression logistique, polytomique).
d’images
On cherche à prédire la probabilité d’une variable catégorielle Y
Modélisation des
séquences connaissant une variable explicative X : P(Y |X ).
Traitement du On rappelle que, pour k ∈ {0, · · · , K − 1}, le modèle linéaire généralisé
langage naturel
polytomique s’écrit :
Outils et ressources
exp(X T βk )
Pθ (Y = k |X ) = PK −1
1 + l=1 exp(X T βl )
Ici, θ = (β1 , · · · , βK −1 ).
Pour la compétition Imagenet Y est dans {1, · · · , 1000} et X est dans
R3×256×256 . La dimension du paramètre du modèle polythomique serait
donc 999 × 256 × 256 × 3 ' 200 × 106 .
Introduction au Deep
Learning
Pour un réseau de neurones, on remplace la fonction linéeaire X T βk par une
fonction non-linéaire Fβk (X ).
J. Rynkiewicz
Un réseau de neurones fθ (.) va chercher à estimer
Introduction fθ (X ) = Pθ (Y |X ) ' P(Y |X ) avec
Reconnaissance
d’images exp(fθk (X ))
Modélisation des Pθ (Y = k |X ) = PK
l
séquences l=1 exp(fθ (X ))
Traitement du
langage naturel Ici, fθ (X ) = (fθ1 (X ), · · · , fθK (X )) est un réseau de neurone avec une sortie
Outils et ressources de dimension K .
Dans le cas d’un réseau de neurones, θ est aussi appelé l’ensemble des
“poids”. Ce poids vont être optimisés, numériquement, pour maximiser la
vraisemblance du modèle à l’aide d’une descente de gradient.
− nt=1
P
On va donc estimer
θn =
b arg min log Pθ (yi |xi ) grâce aux données
x1 xn
d’apprentissage ,··· , .
y1 yn
Comme le paramètre θ est de très grande dimension (plusieurs millions),
il y a un risque de sur apprentissage du modèle aux données
d’apprentissage. Le modèle sera donc évalué
sur des données
totalement
xn+1 xn+T
nouvelles, les données de test : ,··· , .
yn+1 yn+T
Introduction au Deep
Learning
J. Rynkiewicz
Introduction Le cadre classique apporte peu d’informations sur les réseaux profonds.
Reconnaissance
d’images Le nombre de paramètres (le nombre de poids) peut être plus grand que
Modélisation des
le nombre de données disponibles pour l’apprentissage. Dans ce cas, les
séquences thèorèmes asymptotiques ne sont pas forcément justifiés.
Traitement du Pour éviter le surapprentissage l’ensemble d’apprentissage sera découpé
langage naturel
Outils et ressources
en ensemble d’entrainement pour estimer les paramètres θbn et un
ensemble de validation pour savoir quand on doit arrêter l’optimisation
des poids.
Pour avoir de bon résultats, les réseaux profonds doivent être très
structurés à priori (convolutions de bonne taille, connexions “short-cut”,
fonctions de pooling...).
L’optimisation est faîte grâce à l’algorithme du gradient stochastique, sur
des mini-batches.
Introduction au Deep
Learning
Même si ces modèles peuvent être très performant il est plutôt difficile d’avoir
J. Rynkiewicz des bornes de confiance pour leurs prédictions :
Introduction
Reconnaissance
d’images
Modélisation des
séquences
Traitement du
langage naturel
Outils et ressources
Introduction au Deep Ces réseaux de neurones ont été utilisés pour la modélisation des séries
Learning
temporelles. Ils ont été supplanté par les “transformers” pour le traitement du
J. Rynkiewicz langage naturel. Leur principe est de tenir compte de l’état de la couche caché
au temps précédent pour influencer la couche cachée au temps présent :
Introduction
Reconnaissance Ŷt = fθ (ht )
d’images
ht = gθ (Xt , ht−1 )
Modélisation des
séquences
Traitement du
langage naturel Y
Outils et ressources
Introduction au Deep
Learning Les réseaux récurrents sont particulièrement adaptés aux séquences
J. Rynkiewicz temporelles :
Il peuvent mémoriser les observations passées.
Introduction
Reconnaissance
Les entrées et les sorties de ces réseaux peuvent être de longueur
d’images variables.
Modélisation des
séquences
X Y Z _
Traitement du
langage naturel
Outils et ressources
A B _
Introduction au Deep
Learning
J. Rynkiewicz Certainement un des modèle les plus utilisé actuellement est le modèle LSTM.
Celui-ci permet au réseau d’apprendre la profondeur de la mémoire utile pour
Introduction
une tâche donnée.
Reconnaissance
d’images
Modélisation des
séquences
Traitement du
langage naturel
Outils et ressources
Introduction au Deep
Learning
J. Rynkiewicz
C’est un modèle plus simple que Le modèle LSTM et qui a des performances
Introduction
comparables au LSTM.
Reconnaissance
d’images
Modélisation des
séquences
Traitement du
langage naturel
Outils et ressources
Introduction au Deep
Learning
J. Rynkiewicz
Ces réseaux de neurones sont l’état de l’art pour le traitement du langage
Introduction naturel (Chatbot, analyse de sentiments, traduction, etc...). Voici un exemple
Reconnaissance de la traduction du francais en anglais d’un extrait de Wikipédia par “Google
d’images trad” :
Modélisation des
séquences
Un réseau de neurones récurrents est un réseau de neurones artificiels
Traitement du
présentant des connexions récurrentes. Un réseau de neurones
langage naturel récurrents est constitué d’unités (neurones) interconnectés interagissant
Outils et ressources non-linéairement et pour lequel il existe au moins un cycle dans la
structure. Les unités sont reliées par des arcs (synapses) qui possèdent
un poids. La sortie d’un neurone est une combinaison non linéaire de ses
entrées.
A network of recurrent neurons is a network of artificial neurons with
recurrent connections. A network of recurrent neurons consists of
interconnected units (neurons) interacting non-linearly and for which there
is at least one cycle in the structure. The units are connected by arches
(synapses) that have a weight. The output of a neuron is a nonlinear
combination of its inputs.
Introduction au Deep Ces réseaux ont des modules d’attention qui permettent de tenir compte du
Learning
contexte des mots.
J. Rynkiewicz
Introduction
Reconnaissance
d’images
Modélisation des
séquences
Traitement du
langage naturel
Outils et ressources
Introduction au Deep
Learning
J. Rynkiewicz
Introduction Pytorch est une librairie Python libre et gratuite pour construire des modèles
Reconnaissance de Deep Learning.
d’images
Ce langage est issu des équipes de recherche de Facebook.
Modélisation des
séquences Il effectue des calculs tensoriels optimisés soit le le CPU mais aussi sur
Traitement du les carte graphiques (GPU)
langage naturel
Il est dynamique, à tout moment on peut tester une petite partie du
Outils et ressources
programme (comme R).
Il permet d’échanger les tableaux de données facilement avec les autres
librairie Python (numpy, etc...)
Le calcul des gradients pour l’optimisation est automatisé et implicite.
La plus grosse difficulté pour l’apprentissage de cette librairie est de
comprendre que tous les calculs doivent pouvoir s’exécuter de façon
massivement parallèle.
Introduction au Deep
Learning
J. Rynkiewicz
Introduction
Reconnaissance Ian Goodfellow and Yoshua Bengio and Aaron Courville, Deep Learning,
d’images
MIT Press, 2016.
Modélisation des Il existe une traduction française.
séquences
Site web associé : https ://www.deeplearningbook.org/
Traitement du
langage naturel Cours du collège de France :
Outils et ressources Yann Lecun :
https ://www.college-de-france.fr/site/yann-lecun/course-2015-2016.htm
Stéphane Mallat :
https ://www.college-de-france.fr/site/stephane-mallat/course.htm
Pytorch : https ://pytorch.org/
On peut y télécharger le programme, pour l’installer sur l’ordinateur.
Trouver la documentation.
Trouver des tutoriaux.