Deep Learning
Mounira TARHOUNI
Maître Assistant à l’ISIMG
Ingénieur Génie Electrique ENIT 2007
1
PLAN
1 INTRODUCTION: Qu’est ce que l’IA?
2 APPRENTISSAGE AUTOMATIQUE
3 APPRENTSSAGE SUPERVISE
4 APPRENTISSAGE NON SUPERVISE
5 APPRENTISSAGE PROFOND
6 APPRENTISSAGE FEDERE
2
Plan
1 Introduction: Qu’est ce que l’IA?
3
Qu’est ce que l’IA?
Reproduction d’un raisonnement par des moyens
informatiques.
Imitation de l’intelligence naturelle.
Ingénierie de fabrication des machines et programmes
intelligents.
Concevoir des systèmes capables de reproduire le
comportement de l’humain.
Traitement des connaissances (informations symboliques).
4
APPRENTISSAGE AUTOMATIQUE
Formulation de l’expertise sous la forme d’un
modèle.
Le modèle peut être mathématique et/ou graphique.
Technique d’aide à la prise de décision.
Prévision des résultats de prise de décision.
Classification des données connus au profil de
données de prévision inconnus.
5
APPRENTISSAGE AUTOMATIQUE
La science des données (“Data science”): approche(s)
pluridisciplinaire pour l’extraction de connaissances à
partir de données hétérogènes.
Les données massives (“Big data”) : mettant l’accent
sur les problématiques “4V” (Volume, Variété,
Vélocité, Véracité) et des éléments de solutions issus
du stockage/calcul distribué.
Aide à la prise de décision à partir de l’analyse
intelligente de données massives.
Prédiction des états et de bonnes décision.
6
APPRENTISSAGE AUTOMATIQUE
7
8
APPRENTISSAGE AUTOMATIQUE
Supervisé : à partir d’un ensemble d’objets et leurs
valeurs cibles associées; il faut apprendre un modèle
capable de prédire la bonne valeur cible d’un objet
nouveau.
Non supervisé: à partir d’un ensemble d’objets sans
aucune valeur cible associée ; il faut apprendre un modèle
capable d’extraire les régularités présentes au sein des
objets pour mieux visualiser ou appréhender la structure
de l’ensemble des données.
9
APPRENTISSAGE AUTOMATIQUE
Par renforcement : à partir d’un ensemble de séquences de décisions dans un environnement
dynamique, et pour chaque action de chaque séquence une valeur de récompense. il faut
apprendre un modèle capable de prédire la meilleure décision à prendre étant donné un état de
l’environnement.
Semi-supervisé : à partir d’un petit ensemble d’objets avec pour chacun une valeur cible associée
et d’un plus grand ensemble d’objets sans valeur cible ; il faut tirer profit à la fois des données
avec et sans valeurs cibles pour résoudre des tâches d’apprentissage supervisé ou non supervisé.
10
APPRENTISSAGE AUTOMATIQUE
11
APPRENTISSAGE AUTOMATIQUE
La préparation des Séparation de L’ingénierie des Apprentissage
données données caractéristiques (Feature
Engineering)
•Récolte des données •Données •Visualisation des •Modèle
•Réconciliation (Data apprentissage données mathématique ou
Wrangling) •Données test •Extraction graphique
•Enrichissement des données •Données validation •sélection
Test Utilisation
•Mise en production
• Vérification de la
pertinence des •Suivi des résultats
résultats avec les •Suivi de
données de test l’apprentissage si
évolutif
12
APPRENTISSAGE AUTOMATIQUE
13
Sur-apprentissage et sous-apprentissage
• Le sur-apprentissage (appelé overfitting en anglais) survient lorsqu’on
cherche à trop “coller” aux données d’entraînement (comme dans le cas
d’un apprentissage par cœur).
• Au contraire si la classe de fonctions considérée par l’algorithme
d’apprentissage n’est pas assez “riche” pour pouvoir décrire la diversité
présente dans les données, on peut se retrouver en situation de sous-
apprentissage.
• Dans les deux cas, les prédictions pour des nouveaux cas sera de basse
qualité (mauvaise généralisation).
14
Ensemble d’entrainement
15
Phase de test
16
Autres méthodes d’évaluation
• Validation croisée : on répète plusieurs fois l’étape d’entraînement/test
mais en mélangeant aléatoirement les données à chaque fois.
• Validation par blocs : on coupe l’ensemble des données en k blocs
distincts. Chaque bloc va servir une seule fois pour le test et se
retrouvera dans l’ensemble d’entraînement le reste du temps.
• Validation jackknife (aussi appelée leave-one-out): on entraîne sur tous
les points sauf un sur lequel on mesure l’erreur de test. On fait la même
chose pour tous les n points de données (ce qui revient à faire une
validation à n blocs).
17
APPRENTISSAGE AUTOMATIQUE
18
Apprentissage supervisé
19
Tâches d’apprentissage supervisé
• Classification : on cherche à apprendre un classificateur qui va pouvoir
déterminer la classe yi d’un objet inconnu xi à partir d’observations sur cet
objet. Exemple : apprendre un classificateur qui pourra évaluer si un
client pourra ou non rembourser un prêt (classification binaire).
• Régression : prédiction d’une caractéristique inconnue de xi . Exemple :
prédire un risque de non-remboursement (au lieu de simplement risque
ou non-risque pour la classification).
• Ordonnancement: générer un ordre partiel sur les points de données à
partir d’une requête. Exemple : pages retournées par un moteur de
recherche comme Google, produits suggérés par un système de
recommandation.
20
Classification
• La classification cherche à apprendre un classificateur qui pourra être
ensuite utilisée pour prédire la classe d’un objet inconnu à partir d’un
vecteur d’observations portant sur cet objet.
• But: apprendre à une fonction f , appelée classificateur, qui à chaque
vecteur d’observations x va pouvoir associer sa classe correspondante y.
• Quelques exemples:
reconnaître les empreintes digitales ou le visage d’une personne,
classifier une nouvelle qui vient d’arriver comme appartenant à la section "sports "
ou "culture",
détection des cas de fraudes
21
Méthodes à base de voisinage (kppv)
22
Méthodes à base de voisinage (kppv)
Une des manières les plus simples
de classifier un nouveau point de
donnée x? :
1. Trouver les points
d’entraînement proches de x?.
2. Faire un vote de majorité par
rapport aux classes des voisins.
23
KPPV: exemples de distances
24
KPPV
Avantages :
• Très simple conceptuellement et facile à implémenter.
• Robuste par rapport au bruit.
• Ne requiert aucune phase d’entraînement (tout le travail se fait au moment de la
classification).
Inconvénients :
• Le paramètre de l’algorithme, tel que le nombre de voisins k ou la taille du
voisinage , doit être choisi avec discernement (souvent par validation croisée).
• Importance de la pertinence de la distance utilisée.
• Calculer la distance du point x? par rapport à tous les points de Dn peut-être
coûteux en temps de calcul.
25
KPPV- implémentation
26
SVM (Support Vector Machines)
27
SVM (Support Vector Machines)
28
29
SVM (Support Vector Machines)
30
SVM (Support Vector Machines)
31
SVM (Support Vector Machines)
32
SVM (Support Vector Machines)
33
SVM (Support Vector Machines)
34
SVM (Support Vector Machines)
35
SVM (Support Vector Machines)
36
SVM (Support Vector Machines)
37
SVM (Support Vector Machines)
38
SVM (Support Vector Machines)
39
SVM (Support Vector Machines)
40
SVM (Support Vector Machines)
41
SVM (Support Vector Machines)
• Impossible de trouver une séparation linéaire
entre la classe rouge et la classe bleu. La
seule séparation possible est circulaire.
• On souhaite un changement de
représentation pour permettre une séparation
linéaire entre
Augmenter la dimension de l’espace d’entrée en
passant par une transformation Φ.
Il s’agit de trouver un espace de redescription
42
SVM
Dans le nouveau espace l’équation de l’hyperplan séparatrice est:
Pour trouver les coefficients α, il faut résoudre le problème d’optimisation
Le produit scalaire dans l’espace hermitien Φ(X) peut être remplacer par une fonction
noyau.
43
SVM
Le problème d’optimisation quadratique devient:
L’équation de l’hyperplan devient:
44
SVM (Support Vector Machines)
45
SVM
46
Les fonctions noyaux
47
L’Overfitting (sur-apprentissage)
l’Underfitting (sous-apprentissage)
Overfitting : un modèle trop spécialisé sur les données du Training Set et
qui se généralisera mal. elle s’adapte même trop bien aux données
d’apprentissage. Par conséquent, le modèle prédictif capturera tous les
“aspects” et détails qui caractérisent les données du Training Set.
Underfitting : un modèle généraliste incapable de fournir des prédictions
précises
le coût d’erreur en phase d’apprentissage reste grand. Bien évidemment, le
modèle prédictif ne se généralisera pas bien non plus sur les données qu’il n’a
pas encore vu. Finalement, le modèle ne sera viable car les erreurs de prédictions
seront grandes.
on dit que le modèle souffre d’Underfitting. On dit également qu’il souffre d’un
grand Bias (biais).
48
Mesurer la performance d’un modèle :
Accuracy, recall et precision
L’indicateur le plus simple est l’accuracy : il
indique le pourcentage de bonnes prédictions.
C’est un très bon indicateur parce qu’il est très
simple à comprendre.
L’accuracy, le recall et la precision sont à utiliser
ensemble pour donner une vision complète de la
performance.
On cherche à avoir des valeurs le plus proche
possible de 100% pour les 3 indicateurs. Selon les
cas, on choisira parfois de maximiser le recall
plutôt que la precision ou vice versa. Cela dépend
du projet.
Where TP is True Positives, TN is True Negatives also FP is False Positives and finally FN is False Negatives
49
Matrice de confusion
• Une Confusion Matrix est un résumé des résultats de prédictions sur
un problème de classification. Les prédictions correctes et incorrectes
sont mises en lumière et réparties par classe. Les résultats sont ainsi
comparés avec les valeurs réelles.
• Cette matrice permet de comprendre de quelle façon le modèle de
classification est confus lorsqu’il effectue des prédictions. Ceci permet
non seulement de savoir quelles sont les erreurs commises, mais surtout
le type d’erreurs commises.
• Les utilisateurs peuvent les analyser pour déterminer quels résultats
indiquent comment les erreurs sont commises.
50
Matrice de confusion
Scikit-Learn fournit une
fonction confusion_matrix
51
Ajustement des parametres
La plupart des modèles de machine learning doivent être paramétrés pour
donner les meilleurs résultats:
GridSearch
C’est une méthode d’optimisation (hyperparameter optimization) qui va nous
permettre de tester une série de paramètres et de comparer les
performances pour en déduire le meilleur paramétrage.
52
Grid Search
• Le Grid Search croise simplement
chacune de ces hypothèses et va
créer un modèle pour chaque
combinaison de paramètres. Dans
notre exemple nous aurons 20
modèles à construire.
• Comment tester intelligemment ces 20
modèles sur le même dataset?.
Nous allons utiliser une méthode de
validation croisée : le k-fold.
53
Validation croisée
• La méthode consiste à découper le data
set en k échantillons. On sélectionne x
échantillons pour constituer l’échantillon
d’apprentissage.
• Les k-x échantillons restants permettront
d’évaluer la performance du modèle.
Pour construire le modèle suivant on
sélectionne les échantillons
différemment de manière à ne jamais
avoir les mêmes échantillons
d’apprentissage et de validation.
54
Validation croisée
Entrée : données X (dimension nxp), étiquettes y (dimension n), nombre de folds k
Couper [0, 1, ..., n-1] en k parties de taille (n/k). (La dernière partie sera un peu plus petite si
n n'est pas un multiple de k)
for i=0 to (k-1):
Former le jeu de test (X_test, y_test) en restreignant X et y aux indices contenus dans la
i-ième partie.
Former le jeu d'entraînement (X_train, y_train) en restreignant X et y aux autres indices.
Entraîner l'algorithme sur le jeu d'entraînement
Utiliser le modèle ainsi obtenu pour prédire sur le jeu de test
Calculer l'erreur du modèle en comparant les étiquettes prédites aux vraies étiquettes
contenues dans y_test
Sortie : la valeur moyenne des erreurs calculées sur les k folds.
En pratique, on choisit le plus souvent k=5 ou k=10.
55
Validation croisée
Dans scikit-learn, la méthode
model_selection. StratifiedKFold permet de créer les folds d’une
validation croisée stratifiés.
56
En résumé
• Il ne faut jamais évaluer un modèle sur des points qui ont été utilisés pour
l’entraîner.
• On sépare donc les données entre un jeu d’entraînement, sur lequel on
apprend le modèle, et un jeu de test, sur lequel on l’évalue.
• Pour utiliser l’intégralité de nos données pour entraîner et pour tester, et pour
éviter un biais potentiel lié au fait de faire une évaluation unique, on préfère
faire une validation croisée.
• Dans le cas d’un problème de classification, on fait attention à stratifier la
validation croisée pour éviter d’introduire des biais
• Pour sélectionner un modèle, on compare les performances en validation
croisée sur un jeu d’entraînement.
• Pour sélectionner les valeurs des hyperparamètres d’un algorithme donné, on
fait une grid search, dans laquelle on essaie de couvrir l’espace des valeurs
pertinentes de ces hyperparamètres.
• On peut implémenter cela très simplement en Python
avec sklearn.model_selection.GridSearchCV.
57
Bases de Données en ligne
Kaggle : plateforme de compétition
OpenML
Opendata : regroupe plusieurs types de données
(images, vidéos, textes, sons....)
UCI Machine Learning Repository
58
Machine learning toolboxes
Principalement des toolboxes Python, R, Matlab,
Scikit Learn : module Python implémentant les principales méthodes de
Machine Learning
Classification
SVM, nearest neighbors, random forest,..
Regression
SVR, nearest neighbors, random forest, …
Clustering
k-Means, spectral clustering, mean-shift,
59
Machine learning toolboxes
Dimensionality reduction
Algorithms: k-Means, feature selection, non-negative matrix factorization,
Model selection
Algorithms: grid search, cross validation, metrics,
Improved accuracy via parameter tuning
Preprocessing
preprocessing, feature extraction,
Transforming input data such as text for use with machine learning algorithms.
[Link]
60
Les réseaux des neurones
61
Les réseaux des neurones
• Les modèles de réseaux de neurones artificiels sont, à l’origine, une
imitation du fonctionnement du cerveau. Il contient, chez l’homme,
environ 10 milliards de neurones, et chacun est connecté à environ
10.000 autres neurones. On voit ainsi sa complexité étonnante.
• Les connexions permettent le transfert d’informations sous forme
d’impulsions électriques entre les neurones.
• Un neurone reçoit des impulsions de ses voisins par l’intermédiaire des
"dendrites". Si la somme des signaux dépasse un certain seuil, il renvoie
un signal vers d’autres neurones, par l’intermédiaire de son "axone". Ce
mécanisme complexifie la façon dont les informations sont transmises :
un neurone ne se borne pas à faire passer l’information, il la filtre.
62
Neurone
63
Les connaissances en biologie
• Pour résumer, un neurone peut être schématisé ainsi : il fait la somme de toutes
les informations qu’il reçoit et il émet un signal à condition que la somme soit
suffisamment élevée.
• Si l’on ramène la contribution d’un neurone au cerveau tout entier, on se rend
compte que chacun effectue un travail très simple par rapport au résultat
obtenu. En effet, les neurones réalisent des opérations basiques, et pourtant,
lorsque l’on en met plusieurs ensemble, on peut créer une entité pensante !
64
Les connaissances en biologie
• Cependant, cela n’est pas suffisant : un cerveau ne peut rien faire s’il n’a
pas de quoi apprendre. Il a besoin d’informations venant de l’extérieur.
C’est pour cela qu’il est relié aux différents organes du corps. Par exemple, il
reçoit les images provenant des yeux, les sons, les douleurs… .
• Grâce à ces informations il est capable de faire son apprentissage :
lorsqu’une action a provoqué une douleur, il doit changer l’organisation des
neurones afin de ne pas répéter la même erreur.
• L’objectif des réseaux de neurones artificiels est donc de modéliser le
fonctionnement des neurones réels, mais aussi de permettre un
apprentissage
65
Le neurone artificiel
• On vient de voir que les neurones ont un fonctionnement assez simple et facilement
applicable en mathématiques : il faut faire une sommation des informations qui lui sont
fournies, puis appliquer un seuil à cette somme.
• Pour schématiser cela, on admettra que les entrées (les informations que le neurone
reçoit) ne peuvent valoir que 0 ou 1. Cela correspond aux signaux électriques fournis par
les neurones voisins.
• La somme (Σ) est l’opération habituelle. Le seuillage est représenté par une fonction de
Heaviside ou une fonction signe.
• Ainsi, si la somme est suffisante, la sortie (signal transmis) vaut 1. Sinon,
elle vaut 0 (respectivement 1 ou -1).
66
RN: Neurone Artificiel
67
Le neurone artificiel (Modèle de McCulloch &
Pitts)
68
Le neurone artificiel: exemple
69
Le neurone artificiel
70
Interprétation géométrique
71
Exemple : ET logique
72
Comment un RNA apprend ?
• Les liens entre les neurones ont des poids numériques.
• Un poids reflète la force, l’importance, de l’entrée
correspondante.
• La sortie de chaque neurone est fonction de la somme
pondérée de ses entrées.
Un RNA apprend en ajustant ses poids itérativement jusqu’à
ce que les sorties soient en accord avec les entrées.
73
Le perceptron linéaire à seuil
74
Le perceptron linéaire à seuil
75
Le perceptron linéaire à seuil
76
Le perceptron linéaire à seuil
77
Le Perceptron linéaire: Apprentissage par
correction d’erreurs
78
Le Perceptron linéaire: Apprentissage par
correction d’erreurs
79
Le Perceptron linéaire: Apprentissage par
correction d’erreurs
80
Le Perceptron linéaire: Apprentissage par
correction d’erreurs
81
Perceptron
82
Perceptron multicouches (MLP)
83
MULTILAYEREDPERCEPTRON (MLP)
84
FONCTION D’ACTIVATION
85
DÉRIVÉE ET GRADIENT
• On peut obtenir de l’information sur la variation d’une fonction via sa dérivée
• Le signe de la dérivée est la direction d’augmentation de f
• La valeur absolue de la dérivée est le taux d’augmentation de f
• Dans notre cas, la fonction à optimiser dépend de plus d’une variable elle
dépend de tous nos paramètres : 𝑤𝑖𝑗et 𝑏
• Dans ce cas, on va considérer les dérivées partielles, c.-à-d. la dérivée par
rapport à chacune des variables en supposant que les autres sont constantes:
• On va appeler gradient Δ𝑓d’une fonction 𝑓le vecteur contenant les dérivées
partielles de 𝑓par rapport à toutes les variables:
86
ALGORITHMES D’OPTIMISATION–
DESCENTE DE GRADIENT
87
Exercice 1
88
Solution 1
89
Exercice 2
90
Solution 2
NB
91
Solution 2
92
En résumé
93
LES HYPER PARAMÈTRES
Les paramètres du modèle sont les propriétés des données
d'apprentissage qui sont apprises pendant l'apprentissage par le
classificateur ou un autre modèle ml.
Les poids Wij
Les biais bi
94
LES HYPER PARAMÈTRES
Les hyperparamètres sont les variables pouvant être ajustées par les
programmeurs dans les algorithmes de Machine Learning.
Les hyperparamètres ne peuvent pas être appris directement dans
l'estimateur.
Etapes ―Epoch
Taille du lot ―Batch size
Fonction de coût―Lossfunction
Le facteur d’apprentissage—learningrate
Le nombre de couches intermédiaires—hiddenlayers
Le nombre de neurones par couche
La fonction d’activation des neurones des couches intermédiaires
95
LES HYPER PARAMÈTRES
Etapes ―Epoch
• Dans le contexte de l'entraînement d'un modèle, l'epoch est un terme
utilisé pour référer à une itération où le modèle voit tout le training set
pour mettre à jour ses coefficients.
• Une étape calcule la perte par rapport à un lot et utilise cette valeur pour
modifier les poids du modèle une seule fois.
• Epoch= nombre total d'itérations d'apprentissage.
96
LES HYPER PARAMÈTRES
Taille du lot ―Batch size
• Durant la phase d'entraînement, la mise à jour des coefficients n'est
souvent basée ni sur tout le training set d'un coup à cause de temps de
calculs coûteux, ni sur un seul point à cause de bruits potentiels.
• L'étape de mise à jour est faite sur des mini-lots, où le nombre de points
dans un lot est un paramètre que l'on peut régler.
• Plus cette valeur est élevée, plus l’entrainement se fera vite car
TensorFlow pourra charger plus d’images en une seule opération(Martin
Görner, 2017). Sa seule limitation est la mémoire de l’ordinateur à
disposition.
• Batch size = nombre d'exemples (choisis au hasard) pour une seule
itération d’apprentissage.
97
Taux d’apprentissage ―Learning rate
• Learning_rate est un paramètre qui permet d’indiquer à quelle vitesse les
poids du réseau seront modifiés.
• Si est grand, le réseau apprend plus vite
on s'éloigne beaucoup de Si ce point était déjà proche de la valeur optimale,
on risque de dépasser notre objectif et que de sa valeur optimale.
L'algorithme risque de diverger, c'est-à-dire de s'éloigner de la solution
optimale.
98
DEEP LEARNING
99
APPRENTISSAGE PROFOND
Principe: Apprentissage profond vs Apprentissage automatique
100
APPRENTISSAGE PROFOND
101
APPRENTISSAGE PROFOND
CNN: Architecture
102
APPRENTISSAGE PROFOND
Réseau de Neurone Convolutif « CNN »
Convolution : trouver les caractéristiques et appliquer des filtres
Pooling : réduire la taille de l'image et garder les caractéristiques importantes.
Flattening : convertir les informations prise de max pooling en un tableau a 1 dimension (vecteur).
Full connection (connexion pleine) : établir toutes les connexions nécessaires(les couches cachées).
103
APPRENTISSAGE PROFOND
Convolution
Une couche de convolution correspond à un filtre balayant l’image.
En sortie on obtient une “image” appelée une “activation map”.
En général, on applique un ensemble de k filtres.
104
APPRENTISSAGE PROFOND
Convolution
105
APPRENTISSAGE PROFOND
Paramètres de la couche de convolution
• Profondeur de la couche : nombre de noyaux de convolution
La Profondeur (ou nombre de neurones associés à un même champ
récepteur)
• Le pas contrôle le chevauchement des champs récepteurs. Plus
Le Pas le pas est petit, plus les champs récepteurs se chevauchent et
plus le volume de sortie sera grand.
• La marge (à 0) ou zero padding : parfois, il est commode de
La Marge mettre des zéros à la frontière du volume d'entrée. Cette marge
permet de contrôler la dimension spatiale du volume de sortie.
106
APPRENTISSAGE PROFOND
ReLu
107
APPRENTISSAGE PROFOND
Pooling
Réduire la taille d’une images
Pallier le phénomène d’ "overfitting".
Tout comme pour la convolution, on applique un filtre qu’on fait glisser sur l’image
108
APPRENTISSAGE PROFOND
Pooling
109
APPRENTISSAGE PROFOND
Couches entièrement connectées
Chaque neurone est connecté à toutes les entrées
Réseau neuronal multicouche standard
Apprend des combinaisons non linéaires des caractéristiques pour créer des
prédicats
110
APPRENTISSAGE PROFOND
Couches optionnelles
Désactiver aléatoirement certains neurones sur la passe avant
Empêche le débordement
Couche de Normalisation Dropout
111
Activation softmax
• Le cadre d’utilisation de softmax est celui du problème de classification
multi-classe.
• Dans un tel problème, on demande en général que le modèle prédictif
renvoie :
Soit la classe prédite (identifiée par un numéros par exemple).
Soit la liste des probabilités d’appartenance à chaque classe. Le modèle renvoie
alors un vecteur de probabilité, c’est-à-dire une vecteur de nombres entre 0 et 1,
dont la somme vaut 1.
112
APPRENTISSAGE PROFOND
CNN: Exemple réel
LeNet – C’est la première architecture réussie des réseaux convolutifs. Elle a été
développé par Yann LeCun en 1990 et elle était utilisé pour lire des codes postaux,
des chiffres simples, etc.
• Average pooling
• Sigmoid or tanh nonlinearity
• Fully connected layers at the end
• Trained on MNIST digit dataset
with 60K training examples
113
APPRENTISSAGE PROFOND
CNN: Exemple réel
Alexnet Architecture - 2012
114
APPRENTISSAGE PROFOND
CNN: Exemple réel
AlexNet – C’est le réseau qui a été présenté dans le défi de l’ImageNet en
2012. C'est en fait le réseau qui a popularisé les réseaux Convolutional, car il
a de loin surpassé tous les autres concurrents. Il a été développé par Alex
Krizhevsky, Ilya Sutskever, et Geoff Hinton.
Similar framework to LeNet but:
Max pooling, ReLU nonlinearity
More data and bigger model (7 hidden layers, 650K
units, 60M params)
GPU implementation (50x speedup over CPU)
Trained on two GPUs for a week
Dropout regularization
115
APPRENTISSAGE PROFOND
CNN: Exemple réel
GoogLeNet – Le vainqueur de l'ILSVRC 2014 était un réseau convolutif de
Google. Ils ont utilisé des couches de mise en commun moyennes pour
réduire considérablement le nombre de paramètres dans le réseau. Il y a
plusieurs versions de suivi au GoogLeNet.
116
APPRENTISSAGE PROFOND
CNN: Exemple réel
VGGNet – Réseau de neurones convolutionnels de Karen Simonyan et
Andrew Zisserman qui est devenu connu sous le nom de VGGNet. Ce
réseau a prouvé que la profondeur du réseau qui est essentiel pour de
bonnes performances. Il a 16 couches convolutives.
117
APPRENTISSAGE PROFOND
CNN: Exemple réel
ResNet – Développé par Kaiming He et al. était le gagnant de ILSVRC 2015.
118
Architecture Typique CNN
119
Architecture Typique CNN
120
Architecture Typique CNN
121
Architecture Typique CNN
122
Architecture Typique CNN
123
Architecture Typique CNN
124
Implémentation CNN
125
Data augmentation
126
127
Transfert Learning
128
Transfert Learning
129
DL et Systèmes Embarqués
130
TensorFlow Lite
131