Résumé Deep Learning (2)
Résumé Deep Learning (2)
Résumé Deep Learning (2)
Programme
1. Introduction.
2. Infrastructure et outils pour le deep learning.
3. Gestion des données avec python. TP
4. Réseaux de neurones.
5. Réseaux de neurones à convolution.
6. Réseaux de neurones récurrents.
7. Le transfert learning et les transformations.
8. Production d'un algorithme de deep learning.
1
1. Introduction
2. Neurone
Un neurone (ou nœud) est une unité de calcul qui reçoit des entrées, applique une fonction
sur ces entrées, et produit une sortie.
● 2.1. Entrées
○ Les signaux provenant d'autres neurones ou de la couche d'entrée sont
associés à des poids qui modifient leur importance.
● 2.2. Somme pondérée (pré-activation)
○ Le neurone calcule la somme des entrées multipliées par leurs poids
respectifs, avec un biais qui améliore la flexibilité du modèle.
4. Entrainement
L'entraînement est l'étape où le modèle apprend à partir des données en ajustant ses
poids.
● 4.1. Initialisation
○ Les poids et biais sont initialisés avant le début de l'entraînement.
● 4.2. Propagation avant
○ Les données sont propagées à travers le réseau couche par couche pour
générer une prédiction.
● 4.3. Calcul de la perte
○ La fonction de perte mesure la différence entre la sortie prédite et la vérité
terrain. Elle varie selon le type de problème (régression, classification).
● 4.4. Propagation arrière
○ L'algorithme de rétropropagation ajuste les poids en fonction de l'erreur
calculée.
● 4.4.1. Ajustement des poids
○ Les algorithmes d'optimisation comme SGD, Adam, et RMSProp sont utilisés
pour ajuster les poids et minimiser la perte.
● 4.4.2. En résumé
5
○ Les algorithmes comme Adam sont souvent privilégiés pour leur stabilité
dans des réseaux profonds.
● 4.5. Mise à jour des poids
○ Les poids sont mis à jour en utilisant des méthodes d'optimisation comme la
descente de gradient.
❖ w est le poids.
❖ n est le taux d'apprentissage (learning rate).
❖ al/aw est le gradient de la fonction de perte par rapport à w.
Les neurones disposent d'un centre de contrôle fusionnant la Somme des informations
recueillies par les dendrites ensuite le centre de controle retourne un potentiel d' action on
suivant les règles suivantes :
Cette formule multiplie tous les xi par wi et additionné les résultats puis ajoute un biais b...
● Réseau de neurones :
○ C'est un ensemble de neurones artificiels organisé de la manière suivante:
Exemple: Réseau de neurones qui permet de prédire à partir d'une image s' il s'agit d'un
chien ou d'un chat.
8
1. Introduction
Les réseaux de neurones convolutifs (CNN) sont spécialement conçus pour traiter des
données ayant une structure spatiale ou temporelle, comme les images et les séries
temporelles. Ils sont efficaces pour la reconnaissance d’images, la vision par ordinateur et
les tâches de traitement du langage naturel. Les CNN se distinguent par leurs couches de
convolution, permettant d’extraire automatiquement des caractéristiques locales tout en
réduisant le nombre de paramètres.
● Réduction du nombre de paramètres : Les filtres partagent les poids, ce qui réduit
le nombre de paramètres à apprendre.
● Conservation des relations spatiales : Les couches de convolution préservent les
informations locales et détectent des motifs invariants aux déplacements.
● Robustesse aux transformations : Les CNN sont plus résistants aux
transformations comme la rotation ou le déplacement grâce aux couches de pooling
et aux filtres.
● Efficacité pour les images : Leur architecture optimisée pour les données visuelles
nécessite moins de puissance de calcul.
1. Couches convolution
2. Couches de pooling
3. Couches entièrement connectées
9
4.1.1. Padding
Le padding est une technique qui contrôle la taille de l’image en sortie des couches de
convolution. Il évite que les bords de l’image reçoivent moins d’attention lors de la
convolution, ce qui pourrait réduire la taille de l’image après chaque couche, un problème
dans les réseaux profonds.
Types de padding :
1. Padding "valid" : Aucun pixel n'est ajouté autour de l’image, ce qui réduit la taille de
l’image en sortie.
2. Padding "same" : Des pixels de valeur zéro sont ajoutés autour de l’image pour
maintenir la même taille en entrée et sortie. Cela permet de garder la taille de
l'image constante après chaque couche.
11
1. Introduction
Un réseau de neurones récurrents (RNN) est conçu pour traiter des données séquentielles.
Contrairement aux réseaux classiques, un RNN dispose de connexions récurrentes qui lui
permettent de mémoriser les informations des étapes précédentes et de les réutiliser. Cela
le rend particulièrement adapté aux tâches nécessitant un contexte temporel ou
séquentiel, comme la reconnaissance vocale et la traduction automatique.
2. Principles applications
Les RNN sont utilisés dans plusieurs domaines :
3. Neurone récurrent
Un neurone récurrent possède une connexion qui lui permet de mémoriser l’information
de l’état précédent et d’intégrer cette mémoire avec les nouvelles entrées. Il est donc
adapté aux données séquentielles où le contexte passé influe sur les valeurs futures.
12
1. Détection des informations passées dans le cell state via le forget gate.
2. Choix des informations pertinentes à long terme avec l’input gate.
3. Ajout des informations au cell state.
4. Détection des informations importantes à court terme et génération du hidden
state via l’output gate.
La relation de récurrence d’un LSTM comprend donc une variable h pour le hidden state et
une variable c pour le cell state.
14
● LSTM : Utilisé pour des dépendances à long terme complexes, adapté aux grands
ensembles de données mais plus complexe.
● GRU : Plus rapide et efficace, particulièrement sur des machines avec moins de
ressources, adapté aux petits ensembles de données ou lorsque la vitesse est une
priorité. Moins sujet au surentraînement.
15
1. Introduction
Le transfer learning est une technique d'apprentissage automatique où un modèle
pré-entraîné sur une grande quantité de données est adapté pour une tâche différente
mais liée. Cette méthode permet de transférer les connaissances acquises sur une tâche de
base pour améliorer les performances sur une nouvelle tâche avec moins de données.
2. Comment ça fonctionne ?
3. Avantages
4. Applications
5. Exemple
16
● Si la tâche cible est similaire, seules les dernières couches peuvent être
réentraînées.
● Si les tâches sont très différentes, plusieurs couches intermédiaires doivent être
réentraînées.
8.1. Exemple