Apprentissage Machine: Techniques et...
Transcript of Apprentissage Machine: Techniques et...
Apprentissage Machine: Techniques et applications
Ange Tato
Universite du Quebec a Montreal
dans le cardre du cours INF7470
Prof. Roger Nkambou
29 novembre 2018
Ange Tato (UQAM) Machine Learning 29 novembre 2018 1 / 71
Overview
1 Introdution au machine learning : Reseaux de neuronnes
2 Apprentissage profondCNNRNNLSTM, Attention mechanismDeep RBMDeep AutoEncoderDeep Reinforcement LearningTechniques d’optimisation : Residual networks, Regularization,Algorithmes d’optimization
3 Metriques d’evaluation : MAE, MSE, Matrice de confusion etc.
4 Application de l’apprentissage profond aux STI
Ange Tato (UQAM) Machine Learning 29 novembre 2018 2 / 71
Introduction au ML (Machine Learning)
Simuler le fonctionnement du cerveau
Apprentissage machine ou Machine Learning : est une tentative decomprendre et reproduire la faculte d’apprentissage humaine dans dessystemes artificiels.
Algorithmes capables, a partir d’un nombre important d’exemples (lesdonnees correspondant a �l’experience passee �), d’en assimiler lanature afin de pouvoir appliquer ce qu’ils ont ainsi appris aux casfuturs.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 3 / 71
Introduction au ML (Machine Learning)
2 methodes d’apprentissage machine
Apprentissage supervise : L’algorithme apprends sur des exemplesd’entrees qui sont etiquetes avec les sorties souhaitees. Exemple :arbres de decision, reseaux de neurones, methodes bayesienne, etc.
Apprentissage non supervise : l’algorithme decouvre desassociations, des correlations et des tendances sur des donnees nonetiquetees. Exemple : algorithmes de clustering (K-plus prochesvoisins, etc.), reseaux de neurones, etc.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 4 / 71
Introduction aux Reseaux de neuronnes
Reseau de neurones artificiel (RNA) : unites de calcul elementairesinterconnectees. Un modele de calcul inspire du cerveau humain. Casparticulier des RNA : Le perceptron = RNA monocouche.
Chaque entree est plus ou moins valorisee vis a vis du neurone par lebiais d’un poids.
La i-eme information qui parviendra au neurone sera donc en faitwi ∗ xi .Le neurone artificiel va effectuer une somme ponderee de ses entrees.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 5 / 71
Introduction aux Reseaux de neuronnes
Les parametres d’un neurone :
Biais ou seuil : Entree qui permet d’ajouter de la flexibilite au reseauen permettant de varier le seuil de declenchement du neurone.
Entrees : Directement les entrees du systeme ou peuvent provenird’autres neurones.
Poids : Facteurs multiplicateurs qui affectent l’influence de chaqueentree sur la sortie du neurone.
Fonction d’activation : Integre toutes les entrees et le biais et calculla sortie du neurone.
Sortie : Valeurs distribuees vers d’autres neurones ou valeurs de sortiedu systeme.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 6 / 71
Introduction aux Reseaux de neuronnes
La fonction d’activation, ou fonction de transfert, ou ”potentield’activation” (en biologie), est un seuil de stimulation qui, une foisatteint entraıne une reponse du neurone.
Il y’a plusieurs fonctions d’activations possibles. Toutefois dans lapratique il y en a principalement 3 qui sont utilisees :
La fonction de Heaviside : ∀x ∈ R, h(x) = 1 si x ≥ 0, 0 sinonLa fonction sigmoıde : ∀x ∈ R, s(x) = 1
1+e−x
La fonction ReLU (Rectified Linear Unit ) : ∀x ∈ R, r(x) = max(0, x)
Ange Tato (UQAM) Machine Learning 29 novembre 2018 7 / 71
Introduction aux Reseaux de neuronnes
Reseaux de neurones multicouches ou Multilayer Perceptron (MLP).
Au moins 2 couches : Une couche cachee et une couche de sortie.
Une couche = un groupe de neurones sans connexion les uns avec lesautres
2 types de reseaux multicouches
Reseaux de neurones recurrents : avec cycleReseaux de neurones a propagation en avant : sans cycle
Ange Tato (UQAM) Machine Learning 29 novembre 2018 8 / 71
Introduction aux Reseaux de neuronnes
Exemple : Apprentissage de parite
Considerons un afficheur numerique a sept segments et formons unperceptron donnant la parite du chiffre ecrit, a savoir 0 s’il est pair et1 sinon.
Il est interessant de remarquer qu’un poids synaptique negatif fort aete attribue au 5eme segment.
A posteriori, on peut constater que l’activation de ce segmentinfluence fortement la parite du chiffre considere : l’apprentissage ainduit un debut d’intelligence artificiel.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 9 / 71
Reseaux de neuronnes : Apprentissage
Retro-propagation du gradient de l’erreur
Elle consiste a propager l’erreur a travers le reseau dans le sensinverse de la propagation des activations.
Cette technique permet de calculer la modification des poids desconnexions entre les couches cachees.
Elle tente de reduire la difference entre les sorties du reseau et lessorties desirees. Minimiser l’erreur du reseau.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 10 / 71
Reseaux de neuronnes : Apprentissage
Descente du gradient de l’erreur : Intuition
Objectif : Trouver les valeurs des poids qui minimisent la fonctiond’erreur E comme suit : wt+1 = wt − η ∂E
∂wt
Suivre la direction inverse de la derivee en chaque point de la courbede l’erreur.
L’erreur doit etre une fonction derivable.
Exemple : L’erreur quadratique moyenne (EQM) qui est definiecomme suit : E = 1
2
∑ni=1(Yi − xi )
2
Ange Tato (UQAM) Machine Learning 29 novembre 2018 11 / 71
Reseaux de neuronnes : Apprentissage
Descente du gradient de l’erreur : Strategies
Descente de Gradient classique (batch gradient descent) : On faitpasser la totalite des observations, le gradient est calcule et les poidssont corriges.
Online : le gradient est calcule pour chaque observation.
Mini-batch (traitement par lots) : On fait passer un groupe (effectif= parametre de l’algorithme) d’observations avant le calcul dugradient.
• Le traitement par lots permet d’ameliorer la convergence en reduisant lenombre de passage sur la base entiere.• Il permet egalement de se contenter de charger partiellement les donneesen memoire au fur et a mesure.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 12 / 71
Reseaux de neuronnes : Apprentissage
Descente du gradient de l’erreur : Algorithme
1 Initialiser les ωij aleatoirement
2 Propager un exemple X : Xi = f (νi ) avec νi =∑
j ωijXj
3 Retro-propager :
Couche de sortie : δi = −f ′(νi )(Yi − Xi )Couches cachees : δi = −f ′(νi )
∑k ωkiδk
4 Modifier les poids :
ωij(t + 1) = ωij(t)− η ∂E∂ωij
avec ∂E∂ωij
= δiXj
5 Si EQM assez petite alors FIN sinon aller au 2.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 13 / 71
Reseaux de neuronnes : Apprentissage
Descente du gradient de l’erreur : Exemple avec f = sigmoid
netj =∑n
i=1 ωijXij
cj = f (netj) = 1
1+e−netj
f ′(netj) = f (netj) ∗ (1− f (netj))
Equations de mis a jour des poids :
Couche de sortie : ∆ωij = −(Yj − cj) ∗ cj(1− cj)Xk
Couhes cachees : ∆ωij = cj(1− cj)∑
i (∆i ∗ ωji ) avec∆i = (Yj − cj) ∗ cj(1− cj)Xkj
Ange Tato (UQAM) Machine Learning 29 novembre 2018 14 / 71
Reseaux de neuronnes : Apprentissage
Exemple de descente du gradient :
Ange Tato (UQAM) Machine Learning 29 novembre 2018 15 / 71
Introduction aux Reseaux de neuronnes
Exemple de descente du gradient :
Ange Tato (UQAM) Machine Learning 29 novembre 2018 16 / 71
Reseaux de neuronnes : Apprentissage
Exemple de descente du gradient :
Ange Tato (UQAM) Machine Learning 29 novembre 2018 17 / 71
Reseaux de neuronnes : Apprentissage
Condition d’arret de l’apprentissage
Apres un certain nombre fixe d’iterations car :
Si trop faible, l’erreur n’est pas suffisamment reduiteSi trop grand, surapprentissage !
Lorsque les poids se stabilisent
Lorsque l’erreur descend en dessous d’une certaine borne
Ange Tato (UQAM) Machine Learning 29 novembre 2018 18 / 71
Introduction a l’apprentissage profond
Limite des reseaux de neurones (avant) :
Mise en contexte :
Apprendre des fonctions complexes avec les reseaux de neurones aplusieurs couches pour resoudre des problemes non lineaires.Si on ajoute plusieurs couches cachees a un reseau, on pourraitl’appeler �reseau profond�
Probleme :
Disponibilite des donneesBesoin de machines puissantesVanishing gradient : plus vous ajoutez de couches, plus il devientdifficile de �mettre a jour� vos poids parce que le signal devient deplus en plus faible.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 19 / 71
Introduction a l’apprentissage profond
Pourquoi l’apprentissage profond ?
Le manque de profondeur peut etre nuisible.
Le cerveau a une architecture profonde.
Les processus cognitifs semblent etre profonds.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 20 / 71
Introduction a l’apprentissage profond
Fonctionnement
Jusqu’a une vingtaine de couches dans le reseau
Le reseau de neurones approfondit sa comprehension avec desconcepts de plus en plus precis.
Pour reconnaıtre une personne, par exemple, la machine decomposel’image : d’abord le visage, les cheveux, la bouche, puis elle ira versdes proprietes de plus en plus fines, comme le grain de beaute.
Difference avec les autres approches d’apprentissage machine :
�plus intelligent�, �Plus naturel�, �meilleurs resultatsd’apprentissage�
Avec les methodes traditionnelles, la machine se contente decomparer les pixels.
Le deep learning permet un apprentissage sur des caracteristiques plusabstraites que des valeurs de pixels, qu’elle va elle-meme construire .
Ange Tato (UQAM) Machine Learning 29 novembre 2018 21 / 71
Introduction a l’apprentissage profond
Exemple 1 :
La premiere chose que notre cerveau fait lorsqu’il s’agit d’identifier lecarre entre ces 2 formes ?
verifier s’il y a 4 lignes associees a une figure ou non (concept simple).
Si il trouve 4 lignes, il verifie davantage, s’ils sont connectes, fermes,perpendiculaires et egaux (hierarchie imbriquee du concept).
Donc, nous avons pris une tache et l’avons divise en taches moinsabstraites. Le Deep Learning fait essentiellement cela a grande echelle.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 22 / 71
Introduction a l’apprentissage profond
Exemple 2 :
difference entre l’image d’un chat et d’un Homme ?Techniques standards d’apprentissage machine : caracteristiquesdefinies manuellement telles que si l’animal a des moustaches ou non,si l’animal a des oreilles et si oui, alors si elles sont pointues. Cecipermettra au systeme d’identifier quelles caracteristiques sont plusimportantes dans la classification d’un animal particulier.Apprentissage profond : decouvre automatiquement lescaracteristiques importantes pour la classification.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 23 / 71
Introduction a l’apprentissage profond
Plusieurs architectures existantes en fonction du champ d’application
Convolutional neural networks (CNN)
Restricted Boltzmann machine (RBM)
Recurrent Neural Networks (RNN)
AutoEncoder
Long Short Term Memory networks (LSTM)
Etc.
Apprentissage supervise = Apprentissage par des exemples
CNN, RNN, LSTM
Apprentissage non supervise = Apprentissage a l’aveugle
RBM, Autoencoder, Deep Belief Networks
Ange Tato (UQAM) Machine Learning 29 novembre 2018 24 / 71
Apprentissage profond : CNN
Reseau de neurones profond + ensemble de traitements sur lastructure des donnees en entree.
4 operations de bases :1 Convolution2 Fonction d’activation : Non Linearity ReLU (Rectified Linear Units)3 SubSampling ou MaxPooling4 Classification
Ange Tato (UQAM) Machine Learning 29 novembre 2018 25 / 71
Apprentissage profond : CNN
Figure – Comment un CNN fonctionne
Ange Tato (UQAM) Machine Learning 29 novembre 2018 26 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Dans l’exemple ci-dessous, l’image est une matrice 5 x 5 et le filtre qui lasurvole est une matrice 3 x 3. Une operation de convolution a lieu entrel’image et le filtre et la feature map est generee. Chaque filtre dans unCNN apprend differentes caracteristiques d’une image.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 27 / 71
Apprentissage profond : CNN
Les filtres
Les Features Map
Ange Tato (UQAM) Machine Learning 29 novembre 2018 28 / 71
Apprentissage profond : CNN
Exemple :
Ange Tato (UQAM) Machine Learning 29 novembre 2018 29 / 71
Apprentissage profond : CNN
Application :
Classification d’images
Reconnaissance de caracteres
Classification de texte
Robotique (Deep reinforcement Learning)
En general : Domaines ou l’on peut extraire des ”patterns visuels”
D’autres applications live (lien clickable)
Ange Tato (UQAM) Machine Learning 29 novembre 2018 30 / 71
Apprentissage profond : RNN
Reccurent Neural Networks (RNN) :
Reseau de neurones + recurrence dans l’apprentissage
Pourquoi les RNN ?
La reflexion humaine ne se fait a partir de 0. La pensee humaine aune persistance.
Nous essayons de comprendre notre environnement en fonction de ceque l’on sait, de ce que l’on a deja vu.
Les reseaux de neurones recurrents traitent de ce probleme. Ce sont desreseaux avec des boucles, permettant aux informations de persister.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 31 / 71
Apprentissage profond : RNN
Une boucle permet de transmettre l’information d’une etape dureseau a l’autre.
Cette architecture en chaıne montre que les RNNs sont intimementlies aux sequences et aux listes.
C’est l’architecture privilegiee dans le cas ou les donnees sontsequentielles (ex : donnees dependants du temps).
Cependant : Probleme de dependance a long terme.
Figure – RNN (Colah’s blog)
Ange Tato (UQAM) Machine Learning 29 novembre 2018 32 / 71
Apprentissage profond : RNN
Parfois, c’est uniquement l’information la plus recente qui a del’interet pour la tache presente. . . Les RNN peuvent etre efficacesdans ces cas.
Exemple : Supposons un modele essayant de predire le prochain mot apartir des mots precedents. Si nous essayons de predire le dernier mot decette phrase :
”Les nuages sont dans le ciel”
Nous n’avons pas besoin du contexte dans lequel a ete emis cette phrase.C’est evident que le prochain mot est ”Ciel”.
Figure – RNN (Colah’s blog)
Ange Tato (UQAM) Machine Learning 29 novembre 2018 33 / 71
Apprentissage profond : RNN
Parfois, il y a aussi des cas ou il faut un contexte pour pouvoir faire laprediction.
Exemple : Supposons un modele essayant de predire le prochain mot apartir des mots precedents. Si nous essayons de predire le dernier mot decette phrase :
”J’ai grandit au Quebec. Je parle couramment le Francais”
L’information recente (je parle couramment . . . ) suggere que leprochain mot est probablement une langue.
Cependant, si nous voulons savoir de quelle langue il s’agit, il faudraitetre informe du contexte (grandit au Quebec).
Ange Tato (UQAM) Machine Learning 29 novembre 2018 34 / 71
Apprentissage profond : LSTM
RNN special capable d’apprendre des dependances a long terme.
Capable de se ”souvenir” de l’information pendant de longuesperiodes.
Dans le RNN standard, le module repetitif a une structure tres simpletelle qu’une seule couche de TanH.
(a) RNN (b) LSTM
Ange Tato (UQAM) Machine Learning 29 novembre 2018 35 / 71
Apprentissage profond : LSTM
Le LSTM est capable de supprimer ou rajouter de l’information enfonction du besoin.
Le C est appele etat cellulaire ou cellule du LSTM. Elle represente lamemoire de l’architecture.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 36 / 71
Apprentissage profond : LSTM
Fonctionnement :
Etape 1 : Decider quelle information va etre sauvegarder ou detruite.
Grace au ”forget gate layer”.
Il regarde les 2 entrees, et produit un nombre entre 0 et 1 pourchaque element dans l’etat cellulaire C . Un 1 represente ”conserver”alors qu’un 0 represente ”se debarrasser”.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 37 / 71
Apprentissage profond : LSTM
Fonctionnement :
Etape 2 : Decider quelle est la nouvelle information a ajouter dans lacellule.
Le ”input gate layer” (represente par la sigmoide) decide de lavaleur qui sera mis a jour dans C .
Le tanh cree le vecteur des valeurs possibles a ajouter dans le C.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 38 / 71
Apprentissage profond : LSTM
Fonctionnement :
Etape 3 : Mettre a jour la cellule.
Multiplication de l’ancien etat par ft : Suppression des valeurs inutiles.
Les nouvelles valeurs candidates sont it ∗ Ct .
Ange Tato (UQAM) Machine Learning 29 novembre 2018 39 / 71
Apprentissage profond : LSTM
Fonctionnement :
Etape 4 : Decider de ce que sera la sortie.
Cette sortie sera calculee en fonction de l’etat C .
Ange Tato (UQAM) Machine Learning 29 novembre 2018 40 / 71
Apprentissage profond : LSTM
Remarque :Il existe plusieurs autres structures interne au LSTM
(a) Gers & Schmidhuber (2000) (b) Cho, et al. (2014)
Domaines d’application
Reconnaissance de la parole
Modelisation du langage
Traduction automatique, image captioning → Mechanismed’attentionEtc.Ange Tato (UQAM) Machine Learning 29 novembre 2018 41 / 71
Apprentissage profond : LSTM + Mechanisme d’attention
Avant le mechanisme d’attention
(a) Traduction
(b) Image captioning
Le decodage repose uniquement sur la compression de toutes lesinformations en entree (vecteur de contexte fixe).
Par exemple en traduction automatique, une phrase contenant descentaines de mots, entraınera certainement une perte d’informations,une traduction inadequate, etc.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 42 / 71
Apprentissage profond : LSTM + Mechanisme d’attention
Fonctionnement :
Figure – Mechanisme d’attention (de Medium’s blog)
L’attention : permet de ”consulter” toutes les informations contenuesdans l’entree d’origine, puis de generer le resultat approprie enfonction de la sortie actuel et du contexte (variable).Ange Tato (UQAM) Machine Learning 29 novembre 2018 43 / 71
Apprentissage profond : Deep RBM
Reseau de neuronnes a 2 couches
Reduction de dimensions, representation des donnees
Extraction automatique de caracteristiques discriminants
Couche d’entrees (ou couche visible) + Couche cachee
Ange Tato (UQAM) Machine Learning 29 novembre 2018 44 / 71
Apprentissage profond : Deep RBM
La reconstruction : Le RBM apprend a reconstruire les donnees parlui-meme avec plusieurs passages foward + backward
Les activations de la couche cachee deviennent les entrees du RBM.
Les poids w restent les memes que pour le foward pass
La sortie (r) de cette operation de �backward� est une reconstructiondes entrees
Algorithme pour l’apprentissage des poids : Backpropagation
Ange Tato (UQAM) Machine Learning 29 novembre 2018 45 / 71
Apprentissage profond : Deep RBM
L’equilibre est atteint lorsque les reconstructions sont presquesemblables aux entrees initiales
Le resultat se trouve alors au niveau de la couche cachee
Exemple : reconnaıtre un elephant ou un chien sur une imageSoit un RBM dont les donnees d’entrees sont uniquement des images dechiens et d’elephants qui ne possede que deux nœuds de sortie, un pourchaque animal.
Ce que le RBM se pose comme question dans le foward pass :�Compte tenu de ces pixels, mes poids devraient-ils envoyer un signalplus fort au nœud correspondant a l’elephant ou au nœudcorrespondant au chien ?�
Et dans le backward pass : �Etant donne un elephant, quelledistribution de pixels j’attendrais ?�
Ange Tato (UQAM) Machine Learning 29 novembre 2018 46 / 71
Apprentissage profond : Deep Belief Network
Ange Tato (UQAM) Machine Learning 29 novembre 2018 47 / 71
Apprentissage profond : Deep AutoEncoder
Meme utilite qu’un RBM mais structure differente
Les sorties sont les entrees
Deep Autoencoder = Plusieurs couches dans l’autoencoder
Variational AE = distribution gaussienne au niveau de l’encodeur
(a) AutoEncoder (b) Deep AutoEncoder
Ange Tato (UQAM) Machine Learning 29 novembre 2018 48 / 71
Apprentissage profond : Deep Reinforcement Learning
Reinforcement Learning :
Q-learning : prochaine action choisis en fonction de la recompensefuture attendue la plus elevee.
Q-function : pour calculer cette recompense. C’est une fonctionmathematique qui prend deux arguments : l’etat actuel du jeu et uneaction donnee.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 49 / 71
Apprentissage profond : Deep Reinforcement Learning
Reinforcement Learning :
Dans l’etat S , on estime toute les recompenses futures de chacunedes actions possibles a partir de S .
La recompense future attendue Q(S ,A) pour un etat donne S et uneaction A, est calculee comme etant la recompense immediate R, plusla recompense future attendue par la suite Q(S ′,A′).
Nous supposons que l’action suivante A′ est optimale et que l’etat S ′
est l’etat ou mene cette action.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 50 / 71
Apprentissage profond : Deep Reinforcement Learning
Reinforcement Learning :
En raison de l’incertitude sur l’avenir, nous reduisons la valeur deQ(S ′,A′) a l’aide d’un facteur gamma γ appele facteur de reduction(discout)
Q(S ,A) = R + γ ∗maxQ(S ′,A′)
Comment une machine peut-elle estimer une bonne fonction Q ? C’estici qu’intervient le deep reiforcement learning (ou deep Q-learning).
Ange Tato (UQAM) Machine Learning 29 novembre 2018 51 / 71
Apprentissage profond : Deep Reinforcement Learning
Deep Reinforcement Learning :
Quand on joue a un jeu, on genere beaucoup d’experiences. Cesexperiences consistent en :
l’etat initial, Sl’action effectuee, Ala recompense gagnee, Ret l’etat qui a suivi, S ′
Ces experiences sont des donnees d’entraınement.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 52 / 71
Apprentissage profond : Deep Reinforcement Learning
Deep Reinforcement Learning :
Le probleme de l’estimation de Q(S ,A) = probleme de regression.Reseaux de neuronnes comme solution.
Soit un vecteur d’entree constitue de S et A, le reseau neuronal estsuppose predire la valeur de Q(S ,A) qui est egale a :R + γ ∗maxQ(S ′,A′).
Si nous sommes capables de predire Q(S ,A) pour differents etats Set actions A, nous avons une bonne approximation de la fonction Q.
Remarque : Q(S ′,A′) est estime a travers le meme reseau deneurones que Q(S ,A).
Ange Tato (UQAM) Machine Learning 29 novembre 2018 53 / 71
Apprentissage profond : Deep Reinforcement Learning
Deep Reinforcement Learning :
Ange Tato (UQAM) Machine Learning 29 novembre 2018 54 / 71
Apprentissage profond : Deep Reinforcement Learning
Deep Q-Learning :
Avec un batch d’experiences < S ,A,R,S ′ >, le processusd’entrainement du reseau se presente comme suit :
Pour chaque action possible A, predire la recompense future attendueQ(S ,A) en utilisant le reseau.Choisir la valeur la plus elevee des trois predictions sous la formemaxQ(S ,A)Calculer R + γ ∗maxQ(S ′,A′). C’est la valeur cible pour le reseau deneurones.Entraıner le reseau neuronal en utilisant une fonction de perte. Cettefonction calcule a quel point la valeur predite est proche ou eloignee dela valeur cible.loss = 1
2 (preditQ(S ,A)− cible)2 comme fonction de perte.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 55 / 71
Apprentissage profond : Deep Reinforcement Learning
Plus loin ... Policy-gradients :
Deep-Q-learning est une methode basee sur une iteration parvaleurs, tandis que le Policy Gradient est une methode basee sur uneiteration par politique.
Calcul direct de la polique π sans passer par un calcul de chaqueQ(S ,A)
π(A|S)→ Probabilite de prendre l’action A sachant l’etat S
Classification → log likelihood ou cross entropy.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 56 / 71
Apprentissage profond : Deep Reinforcement Learning
Plus loin ... Policy-gradients :
Ange Tato (UQAM) Machine Learning 29 novembre 2018 57 / 71
Apprentissage profond : Optimisation
Pourquoi optimiser une achitecture profonde :
Eviter le Surapprentissage
Accelerer l’apprentissage
Trouver la solution optimale
Vanishing gradient
Ange Tato (UQAM) Machine Learning 29 novembre 2018 58 / 71
Apprentissage profond : Residual Networks
Le cadre d’apprentissage residuel facilite l’entrainement des reseaux etleur permet d’etre beaucoup plus profonds
Permet d’ameliorer les performances en resolvant le probleme duVanishing Gradient.
La derivee de la fonction identite = 1 → Preservation du gradient.
Figure – A Residual block - Element fondamental des reseaux residuels
Ange Tato (UQAM) Machine Learning 29 novembre 2018 59 / 71
Apprentissage profond : Regularisation
Regularisation = Ensemble de techniques pour combattre lesurapprentissage
Ange Tato (UQAM) Machine Learning 29 novembre 2018 60 / 71
Apprentissage profond : Regularisation
Dropout = Desactiver au hasard une partie des neuronnes et leursconnections pendant l’entrainement.
reactiver ces neurones dans la phase de testing et de prediction.
Permet d’empecher la co-adaptation sur les donnees d’entraınement.
La co-adaptation limite le pouvoir individuel de chaque neurone.
Figure – Srivastava, Nitish, et al. ”Dropout : a simple way to prevent neuralnetworks from overfitting”, JMLR 2014
Ange Tato (UQAM) Machine Learning 29 novembre 2018 61 / 71
Apprentissage profond : Regularisation
Regularisation L2 et L1 : Ajout d’une penalite a la fonction d’erreur.
Cost function = Loss (EX : binary cross entropy) + Regularizationterm
L2 (Ridge Regression) : Somme des poids au carre .costfunction = Loss + λ ∗
∑‖w‖
L1 (Lasso Regression) : Somme des valeurs absolues des poids.costfunction = Loss + λ ∗
∑∥∥w2∥∥
λ = facteur de regularisation
Ange Tato (UQAM) Machine Learning 29 novembre 2018 62 / 71
Apprentissage profond : Algorithmes d’optimisation
Algorithmes d’optimisation : minimiser ou maximiser une fonctionobjectif (fonction d’erreur dans le cas des RN).
Techniques avec taux d’apprentissage constant : SGD, NAG,momemtumSGD, etc.
Techniques avec taux d’apprentissage qui s’adapte : AdaGrad,Adam, RMSprop, etc.
Lequel choisir : Methodes adaptatives car convergence plus rapide etfonctionnent bien sur les donnees sparses.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 63 / 71
Metriques d’evaluation
L’accuracy est la metrique la plus utilisee pour la mesure de laperformance des modeles, mais n’est pas suffisante pour reellemenntevaluer un modele.Accuracy = Predictions correctes
Total des predictions
Plusieurs metriques selon que l’on fait une classification ou uneregression.
Logarithmic LossMatrice de confusionF1 scoreMean Absolute Error (MAE)Mean Squared Error (MSE)
Ange Tato (UQAM) Machine Learning 29 novembre 2018 64 / 71
Metriques d’evaluation : Logarithmic Loss
Penalise les mauvaises classifications.
Excellent pour les classifications avec plusieurs classes.
Supposons qu’il y’a N instances appartenant a M classes
LogLoss = − 1N
∑Ni=1
∑Mj=1 yij ∗ log(pij)
yij indique si l’instance i appartient a la classe j ou paspij indique la probabilite que l’instance i appartient a la classe j
Une valeur proche de 0 indique une bonne performance
Ange Tato (UQAM) Machine Learning 29 novembre 2018 65 / 71
Metriques d’evaluation : Matrice de confusion
Supposons une classification binaire (OUI, NON)
Supposons un modele qui predit une de ces 2 classes sachant uneentree x
Apres avoir teste notre modele sur 165 instances, on obtient :n=165 Predit : NON Predit : OUI
Reel : NON 50 10
Reel : OUI 5 100
Il y’a 4 termes importants :
True Positives (TP) : Predit = OUI et Reel = OUITrue Negatives (TN) : Predit = NON et Reel = NONFalse Positives (FP) : Predit = OUI et Reel = NONFalse Negatives (FN) : Predit = NON et Reel = OUI
Ange Tato (UQAM) Machine Learning 29 novembre 2018 66 / 71
Metriques d’evaluation : F1 Score
Moyenne Harmonique de la Precision et du Rappel
Nous informe sur comment notre modele est precis et combien et ilest robuste.
Haute precision + bas rappel = Modele tres precis mais mauvais dansla classification des instances difficiles a classifier
F1 Score proche de 1 → Meilleur modele
F1 = 2 ∗ 11
Precision + 1Rappel
Precision = TPTP+FP
Rappel = TPTP+FN
Ange Tato (UQAM) Machine Learning 29 novembre 2018 67 / 71
Metriques d’evaluation : MAE
Moyenne de la difference entre le reel et le predit
Evalue la distance entre ce que le modele predit et ce qui est attendu
MAE = 1N
∑Nj=1 |yi − yj |
Ange Tato (UQAM) Machine Learning 29 novembre 2018 68 / 71
Metriques d’evaluation : MSE
Identique au MAE, sauf que l’on considere la moyenne des carres dela difference entre le predit et le reel
Avantage : Facile de calculer le gradient compare au MAE.
MSE = 1N
∑Nj=1(yi − yj)
2|
Ange Tato (UQAM) Machine Learning 29 novembre 2018 69 / 71
References
G. F. Luger (2002)
Artificial Intelligence : Structures and Strategies for Complex Problem Solving.
Fourth Edition, Addison-Wesley Chapitre 10.
Goodfellow, I., Bengio, Y., Courville, A., & Bengio, Y. (2016)
Deep learning
Cambridge : MIT press. (Vol. 1).
Stuart Russel et Peter Norvig (2009)
Artificial Intelligence : A Modern Approach
Third Edition. Prentice Hall Chapitre 18.
Ange Tato (UQAM) Machine Learning 29 novembre 2018 70 / 71
Science is a wonderful thing ifone does not have to earn one’sliving at it
Albert Einstein
Ange Tato (UQAM) Machine Learning 29 novembre 2018 71 / 71