DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG

La page est créée Claudine Adam
 
CONTINUER À LIRE
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Deep Learning 2
 Modèles et applications

 Dr Bernard GIUSIANO, MD, PhD
 bernard.giusiano@univ-amu.fr

15/05/2020 – Deep Learning 1
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Plan
• Deep Learning 1 : Introduction aux réseaux de neurones et à
 l’apprentissage profond.
 • Histoire des débuts de l’IA : symbolique vs neuromimétique
 • L’impasse de l’apprentissage symbolique ; l’évolution vers les méthodes
 statistiques et les méthodes expérimentales connexionnistes
 • Le perceptron
 • Réalisation d’un perceptron, puis d’un perceptron multicouche (MLP)
 • Réalisation d’un modèle de classification d’images

• Deep Learning 2 : Modèles et applications.
 • Paramètres, hyperparamètres, architectures
 • Différentes architectures et différents modèles de deep learning
 • Terrains de jeu pour mieux comprendre le deep learning
 • Etc.

 15/05/2020 – Deep Learning 2
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Paramètres, hyperparamètres, architectures
• Classiquement, on appelle « paramètres » les poids synaptiques. La valeur des
 paramètres est déterminée par l’apprentissage. Ils sont donc liés aux données présentées
 en entrée lors de l’apprentissage.
• Les hyperparamètres sont des paramètres dont la valeur est déterminée avant la phase
 d’apprentissage. Ils sont indépendants des données présentées en entrée. Ils influencent
 la façon dont se fera l’apprentissage.
 • Initialisation des poids synaptiques
 • Nombre d’époques : nombre de passages de l’ensemble des « exemples » d’apprentissage
 • Taille du lot (batch size) : nombre d’exemples traités avant de mettre à jour les poids
 • Vitesse d’apprentissage (learning rate)
 • Momentum : paramètre modulant la vitesse d’apprentissage (et autres astuces…)
 Certains hyperparamètres sont liés à des fonctions caractérisant le réseau :
 • Fonction d’activation (transformation de la somme des ∗ en sortie)
 • Fonction d’erreur (ou « de perte » entre sortie obtenue et sortie attendue -> loss function)
 • Optimiseur (façon de mettre à jour les poids)
 • Méthodes de régularisation : dropout, …
• L’architecture dépend du nombre de couches, du nombre d’unités (neurones) par couche
 et des connexions entre les neurones et entre les couches. Le nombre de couches et le
 nombre de neurones sont souvent considérés comme des hyperparamètres.
 15/05/2020 – Deep Learning 3
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Exemples de fonctions d’activation

15/05/2020 – Deep Learning 4
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Exemples de fonctions d’erreur

 ℒ = Θ , 
 avec Θ les paramètres (poids, bias), les entrées, la sortie attendue

• Valeur absolue (norme L1) :

• Distance euclidienne (norme L2):

• Cross-entropy :

Cf. Loss functions : https://www.slideshare.net/xavigiro/loss-functions-dlai-d4l2-2017-upc-deep-learning-for-
artificial-intelligence

 15/05/2020 – Deep Learning 5
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Exemples d’optimiseurs
• L’optimiseur (mise à jour des poids) historique est la règle delta (delta rule).
• Un des optimiseurs les plus utilisés est adam.
• A part RMSprop, la plupart des optimiseurs se différencient surtout par leur rapidité
 pour obtenir la meilleure précision (accuracy).

 15/05/2020 – Deep Learning 6
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Architectures de réseaux de neurones

 The neural
 network zoo

 Cf.
 http://www.asimovinsti
 tute.org/neural-
 network-zoo/
15/05/2020 – Deep Learning 7
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Nombre de neurones cachés
• Les réseaux de neurones avec un plus grand nombre de neurones
 peuvent représenter des fonctions plus complexes.
• Dans les exemples ci-dessous, les données sont représentées par des cercles colorés
 par leur classe et les régions de décision par les couleurs du fond.

• Cf. une démonstration du réseau ConvNetsJS à l’adresse
 https://cs.stanford.edu/~karpathy/convnetjs/demo/classify2d.html.
 15/05/2020 – Deep Learning 8
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Quelques architectures
• Perceptrons multicouches
 • Couches entièrement connectées
• Autoencodeurs
 • Les sorties attendues sont les entrées
• Réseaux de neurones convolutifs (CNN)
 • Extraction des caractéristiques des entrées par des filtres à convolution
• Réseaux de neurones récurrents (RNN)
 • Des séquences en entrée

15/05/2020 – Deep Learning 9
DEEP LEARNING 2 MODÈLES ET APPLICATIONS - DR BERNARD GIUSIANO, MD, PHD - HYPOTHESES.ORG
Autoencodeur
• C’est un perceptron multicouches dont
 la couche centrale constitue un goulot
 d’étranglement.
• L’apprentissage y est à moitié non
 supervisé.
• Les sorties attendues sont identiques
 aux entrées. Le réseau doit apprendre à
 reconstruire les entrées malgré le
 goulot d’étranglement.
• La couche centrale correspond à une
 réduction des dimensions des données
 d’entrée.
• Il réalise l’équivalent d’une analyse en
 composantes principales (ACP) mais
 capable de transformations non-
 linéaires.
 15/05/2020 – Deep Learning 10
Autoencodeur
• La contrainte du goulot d’étranglement oblige le modèle à extraire la
 variabilité suffisante pour reconstruire les entrées sans prendre en compte
 les informations redondantes.
• Utilisations :
 • Compression des données
 • Suppression du bruit
 • Préapprentissage dans des architectures plus complexes (contenant un ou
 plusieurs autoencodeurs)

 15/05/2020 – Deep Learning 11
Réseaux convolutifs (CNN)
• Ils extraient les caractéristiques (features) des entrées.
• Deep learning : de nombreuses couches convolutives successives
 permettent d’obtenir des caractéristiques à différents niveaux de résolution.
• Ils résistent aux translations, rotations et changements d’échelle.
• Très utilisés dans la reconnaissance des images. Mais aussi dans de
 nombreuses autres applications où les données peuvent être représentées
 comme des images (structures spatiales).

 15/05/2020 – Deep Learning 12
Réseaux convolutifs
• Imaginons un réseau de neurones devant reconnaître des « X » et des « O »

• Les images présentées en entrée peuvent être de mauvaise qualité

https://medium.com/@CharlesCrouspeyre/comment-les-r%C3%A9seaux-de-neurones-%C3%A0-convolution-fonctionnent-b288519dbcf8
 15/05/2020 – Deep Learning 13
Réseaux convolutifs
• L’idée des CNN est de chercher à repérer les caractéristiques qui permettent de
 distinguer les « X » des « O ».
• Les concepteurs de cette architecture se sont basés sur les connaissances
 acquises sur la vision des objets chez le chat.

 15/05/2020 – Deep Learning 14
Réseaux convolutifs
• Le CNN compare les images fragment par fragment (les caractéristiques).
• En trouvant des caractéristiques approximatives qui se ressemblent à peu près
 dans deux images différentes, le CNN est bien meilleur à détecter des
 similitudes que par une comparaison entière image à image.

 15/05/2020 – Deep Learning 15
Réseaux convolutifs
• Plusieurs types différents de caractéristiques peuvent être recherchés grâce à
 différents filtres de convolution.
• Les différents filtres sont automatiquement appris, donc déterminés, par le
 réseau à partir des caractéristiques les plus fréquemment rencontrées
 dans les entrées.
 Résultat du filtrage
 Filtre détectant les diagonales de gauche-haut à droite-bas

Fenêtre analysée
par le filtre
 Image présentée

 15/05/2020 – Deep Learning 16
Réseaux convolutifs
• Chaque filtre correspond à une fenêtre (par exemple de 3 x 3 pixels) qui balaye
 la totalité de l’image. Ce balayage résulte en fait de la façon dont les neurones
 sont connectés dans les couches de convolution.

 15/05/2020 – Deep Learning 17
Réseaux convolutifs
• Après une couche de convolution,
 une couche de regroupement (pooling)
 peut être utilisée pour résumer
 (diminuer la taille) du résultat de la
 convolution.
• Après les convolutions, les résultats
 servent d’entrées à des couches
 entièrement connectées pour aboutir à
 une classification (par exemple).

 15/05/2020 – Deep Learning 18
Réseaux convolutifs
• Chaque couche de
 convolution détecte des
 types de caractéristiques
 de même niveau
 structurel.
• Les premières couches
 détectent des
 caractéristiques simples.
• Les couches les plus
 hautes détectent des
 patterns de niveaux
 d’intégration plus élevés.

 15/05/2020 – Deep Learning 19
Réseaux convolutifs

• x

 15/05/2020 – Deep Learning 20
Réseaux convolutifs

15/05/2020 – Deep Learning 21
Réseaux convolutifs
• Exemple d’architectures plus complexes : le modèle Inception 9

15/05/2020 – Deep Learning 22
Réseaux récurrents (RNN)
• Ils présentent des connexions récurrentes, c’est-à-dire des connexions
 permettant aux résultats d’une couche de constituer une partie des entrées
 de cette couche ou d’une couche plus basse.
• Très utilisés dans le traitement du langage. Mais aussi dans de nombreuses
 autres applications où les données constituent des séquences (structures
 temporelles).

 15/05/2020 – Deep Learning 23
Réseaux récurrents
• La boucle de récurrence fait que le passé influe sur le présent (les résultats
 des données passées influent sur celui des données présentes).
Représentations pliée et dépliée :
 Rolled version

 15/05/2020 – Deep Learning 24
Réseaux récurrents
• Il y a de nombreuses façon d’introduire la récurrence dans un réseau
• One to one : pas de récurrence
• Les autres architectures sont en représentation dépliée

 15/05/2020 – Deep Learning 25
Réseaux récurrents
• Exemple de fonctionnement : prédiction d’un mot à la suite d’une séquence
 de mots

 Sortie attendue

 Sortie calculée

 15/05/2020 – Deep Learning 26
Réseaux récurrents
• Exemple d’utilisation : traduction

• Exemple d’utilisation : description textuelle d’une image

 15/05/2020 – Deep Learning 27
Long Short-Term Memory networks (LSTM)
• Espèce de réseaux récurrents utilisant des unités (neurones) plus
 sophistiquées qui permettent la prise en compte de plusieurs échelles de
 temps avec la capacité de gérer l’oubli.

 15/05/2020 – Deep Learning 28
Exemples de préparation des données
• Comment code-t-on les entrées textuelles ?

 • One-hot encoding

 • Word embedding
 • Projection d’un ensemble de mots dans un espace continu.
 • Cette projection doit permettre des calculs du type :
 vecteur(ROI) – vecteur(HOMME) + vecteur(FEMME) = vecteur(REINE)
 • Peut être réalisé par des méthodes statistiques utilisant la proximité entre les mots
 dans des corpus de textes, ou calculé grâce à un réseau de neurones (word2vec).

 15/05/2020 – Deep Learning 29
Exemples de préparation des données
• Word embedding sur deux dimensions (2 neurones pour un mot)

 15/05/2020 – Deep Learning 30
Exemples de préparation des données

• Word
 embedding sur
 trois dimensions
 (3 neurones
 pour un mot)

https://insights.untapt.com
/deep-learning-for-natural-
language-processing-
tutorials-with-jupyter-
notebooks-ad67f336ce3f

 15/05/2020 – Deep Learning 31
Modèles plus complexes
• Hand Gesture Recognition Using Compact CNN Via Surface Electromyography Signals
 https://www.researchgate.net/publication/338847538_Hand_Gesture_Recognition_Using_Compact_CN
 N_Via_Surface_Electromyography_Signals

15/05/2020 – Deep Learning 32
Modèles plus complexes
• Action Recognition by Learning Deep Multi-Granular Spatio-Temporal Video Representation
 https://dl.acm.org/doi/pdf/10.1145/2911996.2912001

 15/05/2020 – Deep Learning 33
Generative Adversial Network
 • Un modèle récent très en vogue… dont les applications sont à explorer.
 • Modèle génératif où deux réseaux sont placés en compétition dans un scénario de
 théorie des jeux. Le premier réseau est le générateur, il génère un échantillon (ex.
 une image), tandis que son adversaire, le discriminateur essaie de détecter si un
 échantillon est réel ou bien s'il est le résultat du générateur.

https://poloclub.github.io/ganlab/
 15/05/2020 – Deep Learning 34
A Neural Network Playground
https://playground.tensorflow.org/

15/05/2020 – Deep Learning 35
ConvnetJS demo
https://cs.stanford.edu/~karpathy/convnetjs/demo/classify2d.html

15/05/2020 – Deep Learning 36
Convnet Playground
https://convnetplayground.fastforwardlabs.com/#/

15/05/2020 – Deep Learning 37
Autres exemples
• Top 10 Deep Learning experiences run on your Browser
 https://www.dlology.com/blog/top-10-deep-learning-experiences-run-on-your-browser/
 et https://www.tensorflow.org/js/demos
• Sur kaggle.com

 15/05/2020 – Deep Learning 38
Quelques articles
• Toward an Integration of Deep Learning and Neuroscience
 https://www.frontiersin.org/articles/10.3389/fncom.2016.00094/full
• A Cognitive Neural Architecture Able to Learn and Communicate through Natural Language
 https://journals.plos.org/plosone/article?id=10.1371/journal.pone.0140866
• Deep learning-based electroencephalography analysis: a systematic review
 https://iopscience.iop.org/article/10.1088/1741-2552/ab260c
• Recurrent Neural Network Grammars
 https://arxiv.org/pdf/1602.07776.pdf
• Applying deep learning to single-trial EEG data provides evidence for complementary theories on
 action control
 https://www.nature.com/articles/s42003-020-0846-z
• Neurolinguistic and machine-learning perspectives on direct speech BCIs for restoration of
 naturalistic communication
 https://www.tandfonline.com/doi/full/10.1080/2326263X.2017.1330611
• Linguistic Regularities in Sparse and Explicit Word Representations?
 https://levyomer.files.wordpress.com/2014/04/linguistic-regularities-in-sparse-and-explicit-word-representations-conll-
 2014.pdf
• A Beginner's Guide to Graph Analytics and Deep Learning
 https://pathmind.com/wiki/graph-analysis
• Relating Simple Sentence Representations in Deep Neural Networks and the Brain
 https://www.aclweb.org/anthology/P19-1507.pdf
• What deep learning can tell us about higher cognitive functions like mindreading?
 https://arxiv.org/ftp/arxiv/papers/1803/1803.10470.pdf

 15/05/2020 – Deep Learning 39
Datasets

• List of datasets for machine-learning research
 https://en.wikipedia.org/wiki/List_of_datasets_for_machine-learning_research
• Datasets on kaggle.com
 https://www.kaggle.com/datasets
• EEG / ERP data available for free public download
 https://sccn.ucsd.edu/~arno/fam2data/publicly_available_EEG_data.html

 15/05/2020 – Deep Learning 40
Vous pouvez aussi lire