Cours de Deep Learning - Master 2
Cours de Deep Learning - Master 2
Université d’ Annaba
Faculté des Technologie
Département d’électronique
1/15/2025
2024-2025
Plan de cours
2 Chapitre 1
1/15/2025
Plan de cours
3 Chapitre 2
1/15/2025
Plan de cours
4 Chapitre 3
1/15/2025
Plan de cours
5 Chapitre 4
1/15/2025
Plan de cours
6 Chapitre 5
1/15/2025
Chapitre 1 :
7
Introduction à l’Intelligence Artificielle
1/15/2025
Introduction :
8
▪ Le terme de Intelligence Artificielle, connue sous l’abéviation IA, a été inventé par
John McCathy au début des année 50. L’Intelligence Artificielle se retrouve dans de
nombreux domaines. Notre premier réflexe est de la situer dans les ordinateurs, ainsi
que dans les robots ménagers.
▪ Aujourd'hui, l'IA se retrouve dans la recherche médicale avec les systèmes d'aide au
diagnostic, dans les banques avec les systèmes de reconnaissance de signatures, …
etc.
▪ Actuellement, certaines communautés (scientifiques et
sociales) estiment l’IA comme un danger pour l‘humanité
tandis que d'autres l'imaginent comme un outil indispensable.
1/15/2025
1.1 Définition et Contexte Historique :
9
- Accomplir les tâches qui sont mieux réalisée par les êtres humains.
- Présente les capacités intellectuelles comparables à celle des êtres humains.
1/15/2025
1.1 Définition et Contexte Historique :
10
• L’IA moderne trouve ses origines dans les années 1950, avec Alan Turing et
d’autres pionniers qui ont proposé des concepts comme le Test de Turing, conçu
pour évaluer l'intelligence d'une machine. Parmi les étapes importantes de l'histoire
de l'IA :
1/15/2025
1.2 Types d’Intelligence Artificielle :
11
Il existe trois forms de IA:
▪ IA Faible (Narrow AI)
L'IA faible est spécialisée dans une tâche unique. Par exemple, les assistants vocaux comme Siri ou Alexa
sont des exemples d'IA faible, désigne que des systèmes informatiques simulant une intelligence humaine
sans présenter une intelligence particulière puisque ce robot ne fait que l’exécution d’une succession
d’algorithmes programmés par des êtres humains.
- Système experts :
Un logiciel capable de simuler le comportement d'un expert humain
effectuant une tâche précise.
- Calcul formel :
(Opposé au calcul numérique) traite des expressions symboliques.
Par exemple, calculer la valeur d'une fonction réelle enun point est
du calcul numérique alors que calculer la dérivée d'une fonction
numérique est du calcul formel.
1/15/2025
1.3 Les composants de l’Intelligence Artificielle :
13
▪ Raisonnement Automatique :
Les machines peuvent utiliser la logique pour déduire des informations ou prendre des
décisions. Par exemple, les systèmes experts utilisent des règles logiques pour
diagnostiquer des maladies.
1/15/2025
1.3 Les composants de l’Intelligence Artificielle :
14
- Reconnaissance de la parole :
Un logiciel capable de reconnaître les paroles d’un
locuteur quelconque. 1/15/2025
1.3 Les composants de l’Intelligence Artificielle :
15
- Reconnaissance de l’écriture :
Un logiciel qui reconstitue le mouvement de la main à partir du texte qu'elle a
écrit afin de comprendre ce qui a été écrit.
- Reconnaissance des visages :
Il est considéré comme un des problèmes les plus difficiles de
l'intelligence artificielle.
- La robotique :
On appelle robots, toutes machines qui sont capables d'exécuter une série de
mouvements pré-enregistrés et de prendre certaines décisions.
- L’apprentissage :
Un logiciel qui apprend à prédire le résultat à partir d’une base de données
(Construire un modèle).
1/15/2025
1.3 Les composants de l’Intelligence Artificielle :
16
▪ Recherche et Optimisation
De nombreux problèmes en IA sont des problèmes de recherche. Par exemple, jouer aux échecs peut être
vu comme la recherche du meilleur coup. Des algorithmes comme A* ou Minimax sont utilisés pour
optimiser ces recherches.
Les domaines où les techniques de l’IA utilisées pratiquement en génie électrique sont
nombreuses :
• Reconnaissance faciale dans les smartphones.
• Voitures autonomes avec Tesla et autres.
• Systèmes de recommandation utilisés par Netflix et Amazon.
• Systèmes experts.
• Réseaux de neurones.
• Data-mining.
• Algorithmes Génétiques.
• Programmation par contraintes.
• Logique floue.
• Systèmes multi-agents. 1/15/2025
1.5 Défis Actuels :
18
▪ Éthique et Biais
Les algorithmes d'IA peuvent refléter les biais présents dans les données d'entraînement,
créant des problèmes d'équité. Il est crucial de développer des IA éthiques pour minimiser
ces biais.
▪ Explicabilité de l'IA
De nombreuses IA modernes, comme les réseaux de neurones profonds, sont considérées
comme des 'boîtes noires', car il est difficile d'expliquer comment elles arrivent à une
décision. Rendre ces modèles plus transparents est un défi.
1/15/2025
1.6 Introduction au soft Computing :
19
▪ Le soft computing peut être utilisé dans la plupart des grands domaines où la mise au point de
systèmes intelligents pose des problèmes, de l’apprentissage à la commande de processus en
passant par les bases de données ou le traitement d’images.
▪ Les techniques de soft computing sont de plus en plus utilisés dans la prédiction, la
conception, la modélisation et le contrôle de systèmes complexes tels que les robots, les
procédés biologiques, les véhicules routiers, …. 1/15/2025
1.6 Introduction au soft Computing :
20
▪ Les principales composantes du soft computing sont :
• Réseaux de neurones.
• Logique floue.
• Raisonnement probabiliste.
• Méthodes d’optimisation telles que les AGs.
▪ Le principal intérêt du soft computing réside dans l’utilisation conjointe de plusieurs de ces
composantes dans des systèmes hybrides tirant parti d’une association entre les différentes
méthodes afin d’exploiter les avantages de chacune tout en compensant ses inconvénients par
l’utilisation d’une autre dont les propriétés sont complémentaires. Par exemple, l’insuffisance
en terme d’expression des résultats des réseaux neuronaux, est compensé par l’utilisation de la
logique floue, qui manipule aisément les descriptions linguistiques. La difficulté de la mise en
œuvre de la logique floue réside dans la mise au point de ces paramètres et fonctions
d’appartenance et ce problème peut être résolu par l’utilisation d’algorithmes évolutionnaires.
1/15/2025
Pour ou contre l’Intelligence Artificielle ?
21
1/15/2025
Pour ou contre l’Intelligence Artificielle ?
22
▪ Disparition de l'humanité
Des scientifiques étudient la possibilité d'armées les robots qui
remplaceraient les hommes pour aller au front, dans l'espoir de
minimiser les pertes humaines. Ces machines pourraient cependant
devenir incontrôlables et réaliser l’inverse : ils pourrait exterminer
la race humaine.
1/15/2025
Importance et impact de l’AI :
23
Nous avons commencé par une définition générale de l’IA, ses types (IA faible, IA forte et
superintelligence), ainsi que ses composants fondamentaux, tels que la représentation des connaissances, le
raisonnement et les algorithmes de recherche.
Ce cours a jeté les bases pour comprendre l'intelligence artificielle et ses applications. Vous êtes maintenant
mieux armé pour explorer plus en profondeur les domaines spécifiques de l’IA, que ce soit dans le cadre
académique ou dans l'industrie. Le voyage dans l’intelligence artificielle ne fait que commencer, et les
opportunités d’apprendre et de contribuer à ce domaine sont infinies. 1/15/2025
25
Merci !
1/15/2025
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université d’ Annaba
Faculté des Technologie
Département d’électronique
1/15/2025
2024-2025
2
Chapitre 2 :
Apprentissage Automatique (Machine Learning)
1/15/2025
Plan de cours
3 Chapitre 2
1/15/2025
2.1 Introduction au Machine Learning
4
succès!
2.2 Définition et Principes de Base
5
Formulation mathématique :
L'objectif est de trouver une fonction f(x), où x représente l'entrée, qui
approxime correctement une sortie y, c’est-à-dire : y = f(x) + ε
1/15/2025
8 Alors, il existe trois types d’apprentissages :
1/15/2025
2.3 Concepts de base du ML
9
1/15/2025
2.3 Concepts de base du ML
10
Exemples :
• Classification : prédire une catégorie (ex. : détection/classification dans les emails (spam vs. non-spam).
• Régression : prédire une valeur numérique (ex. : prédiction des prix de l'immobilier).
• Algorithmes courants : régression linéaire, régression logistique, K-Nearest Neighbors (K-NN),
machines à vecteurs de support (SVM).
• Si on fournit une série d'exemples x et de résultats y. L'algorithme doit trouver w tel que y = fw (x) (avec
une bonne généralisation).
1/15/2025
2.3 Concepts de base du ML
11
• Classification : prédire une catégorie (ex. : détection/classification dans les emails (spam vs. non-spam).
• Régression : prédire une valeur numérique (ex. : prédiction des prix de l'immobilier). 1/15/2025
2.3 Concepts de base du ML
12
2.3.2 Apprentissage non supervisé Nous pouvons lui présenter les groupes d’animaux
(Unsupervised Learning) : vus précédemment, sans préciser s’il s’agit de chats
ou de chiens, et lui demander simplement de les
regrouper selon leur ressemblance. Autrement dit,
- L'algorithme apprend à partir de données nous fournissons uniquement les attributs X, sans
non étiquetées. L'objectif est de chercher à indiquer la sortie y attendue.
découvrir/identifier des structures cachées
dans les données, comme des motifs ou des
regroupements.
- Nécessite la présence des entrées seulement.
L’apprentissage non supervisé est bien
adapté à la modélisation des données
complexes (images, sons, ...).
1/15/2025
2.3 Concepts de base du ML
17
2.3.3 Apprentissage non supervisé (Unsupervised Learning) :
- L'algorithme apprend à partir de données non étiquetées. L'objectif est de chercher à découvrir/identifier
des structures cachées dans les données, comme des motifs ou des regroupements.
- Nécessite la présence des entrées seulement. L’apprentissage non supervisé est bien adapté à la
modélisation des donnéescomplexes (images, sons, ...).
Exemples :
• Clustering (Regroupement) : trouver des groupes similaires dans les données (ex. : segmentation de clients).
• Association : trouver des relations entre des variables (ex. : association de produits dans les transactions d'achat).
• Algorithmes courants : K-Means, Algorithme des hiérarchies de clusters, Analyse en composantes principales
(PCA), segmentation de clients, réduction de dimensionnalité (PCA).
• On fournit seulement des exemples x à l'algorithme.
• Il doit trouver w tel que les x soient correctement groupés selon fw (avec une bonne généralisation)
1/15/2025
18
1/15/2025
Exemple
20
En tant qu’êtres humains, nous aurions tendance à vouloir regrouper ces objets en trois catégories : livres,
appareils électroniques et nourriture.
Cependant, en examinant tous les objets de manière non supervisée, la machine pourrait découvrir une autre
façon de les classer, en identifiant des clusters liés aux préférences des clients, aux prix, aux marques, etc. Par
exemple, elle pourrait regrouper les tablettes graphiques avec les livres, car on peut réaliser des activités
similaires avec ces deux objets.
1/15/2025
2.3 Concepts de base du ML
21
2.3.3 Apprentissage semi-supervisé ou par renforcement (Reinforcement Learning) :
Exemples :
• Jeux vidéo : algorithmes d’apprentissage par renforcement qui apprennent à jouer à des jeux vidéo
comme AlphaGo.
• Robots : enseigner aux robots comment naviguer dans un environnement complexe.
• Algorithmes courants : Q-Learning, Deep Q-Network (DQN).
1/15/2025
2.3 Concepts de base du ML
22
À votre avis ?
Avant d’aller plus loin, voici une petite question pour vous :
à votre avis, quelle méthode d’apprentissage Arthur Samuel a-t-il employée pour
développer son jeu de dames ?
Supervisée ?
Non supervisée ?
Ou par renforcement ?
1/15/2025
2.4 Algorithme du ML
24
1/15/2025
2.4 Algorithme du ML
25
Notre email, quant à lui, se situe ici dans notre espace de points.
À votre avis, s’agit-il d’un spam ou non ?
1/15/2025
2.4 Algorithme du ML
26
- La Régression Linéaire.
- La Régression Logistique.
- Les Arbres de décision.
- Les Random Forest.
- K-Nearest Neighbors (K-NN).
- Analyse en Composantes Principales (PCA).
- K-means et clustering.
…………………
1/15/2025
2.4 Algorithme du ML
27
Modèle : y = w₀ + w₁ * x₁ + w₂ * x₂ + ... + wₙ * xₙ + ε
1/15/2025
2.4 Algorithme du ML
28
Exemple : prédire si un patient est atteint d'une maladie à partir de ses symptômes.
1/15/2025
2.4 Algorithme du ML
29
1/15/2025
2.4 Algorithme du ML
30
1/15/2025
2.4 Algorithme du ML
31
Vous êtes arrivé au bout de ce voyage pour apprendre les bases du machine learning.
Depuis la sortie de ChatGPT en novembre 2022, le monde connaît un bouleversement sans précédent dans
le domaine de l’IA. Les entreprises de toutes tailles et de tous secteurs s’appuient de plus en plus sur
l’intelligence artificielle pour prendre des décisions éclairées, automatiser des processus, et découvrir des
opportunités cachées.
En vous formant au machine learning, vous vous placez à l’avant-garde de cette révolution, ouvrant des
portes vers des carrières passionnantes, des projets innovants, et un impact réel sur le monde.
Imaginez-vous, doté de ces compétences, capable de créer des solutions qui transforment non seulement
des entreprises, mais aussi des vies.
En vous formant à l’IA, vous ne ferez plus parti des suiveurs, mais parti des architectes du monde de
demain.
1/15/2025
35
Merci !
1/15/2025
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université d’ Annaba
Faculté des Technologie
Département d’électronique
1/15/2025
2024-2025
2
Chapitre 3 :
Réseaux Neuronaux (Neural Networks)
1/15/2025
Plan de cours
3 Chapitre 3
1/15/2025
4
1/15/2025
Le rêve de créer une machine dotée d'une forme d'intelligence est présente depuis fort
longtemps dans l'imagination humaine. Comment l'homme fait-il pour penser, raisonner ou
5
même éprouver des sentiments ? Des recherches menées par des scientifiques ont aboutis à
l'étude des réseaux de neurones artificiels.
Le neurone est l’unité de base du système nerveux. Il possède
environ cent milliards de neurones, il présente cinq
caractéristiques :
- Recevoir des signaux provenant de neurones voisins.
- Intégrer ces signaux.
- Engendrer un flux nerveux
- Le conduire
- Le transmettre à un autre neurone.
Le neurone est une cellule constituée principalement de trois parties :
Les dendrites: sont des fines extensions, elles collecte les signaux venant d’autres cellule ou de
l’extérieur.
1/15/2025
Le corps cellulaire: il contient le noyau du neurone, ils recueillent les informations
reçues. L’axone: il sert comme moyen de transport des signaux émis par le neurone.
Equivalence entre neurone biologique et neurone artificiel :
6
1/15/2025
3.1 Historiques des Réseaux de Neurones:
7
L’origine des réseaux neuronaux est plus ancienne qu’on l’imagine. Bien que l’idée d’une « machine qui pense »
remonte à la Grèce antique, concentrons-nous sur les événements clés qui ont conduit à l’évolution de la pensée autour
des réseaux neuronaux, dont la popularité a évolué au fil des ans :
1943 : Warren S. McCulloch et Walter Pitts publient « A logical calculus of the ideas immanent in nervous
activity (lien externe à [Link]) » Cette recherche visait à comprendre comment le cerveau humain pouvait produire des
modèles complexes grâce à des cellules cérébrales connectées, ou neurones. L’une des principales idées qui est ressortie
de ces travaux était la comparaison des neurones avec un seuil binaire à la logique booléenne (c’est-à-dire, les
déclarations 0/1 ou vrai/faux).
1958 : Frank Rosenblatt est crédité du développement du perceptron, documenté dans ses recherches, «The Perceptron:
A Probabilistic Model for Information Storage and Organization in the Brain » (lien externe à [Link]). Il pousse le
travail de McCulloch et Pitt un peu plus loin en introduisant des pondérations dans l’équation. Grâce à un IBM 704, Frank
Rosenblatt a pu apprendre à distinguer les cartes marquées à gauche des cartes marquées à droite sur un ordinateur.
1974 : alors que de nombreux chercheurs ont contribué à l’idée de la rétropropagation, Paul Werbos a été la première
personne aux États-Unis à noter son application dans les réseaux neuronaux dans sa thèse de doctorat (lien externe à
[Link]).
1989 : Yann LeCun publie un article (lien externe à [Link]) illustrant comment l’utilisation de contraintes en
rétropropagation et son intégration dans l’architecture des réseaux neuronaux peuvent être utilisées pour entraîner des
algorithmes. Cette recherche a exploité avec succès un réseau neuronal pour reconnaître les chiffres du code postal écrits à
la main et fournis par le service postal américain. 1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
8
Les réseaux de neurones sont des modèles computationnels inspirés par le fonctionnement du cerveau
humain. Ils sont constitués de neurones artificiels interconnectés en couches. Ces neurones reçoivent des
signaux d’entrée, les transforment à l’aide d’une fonction d'activation, et transmettent le résultat à d’autres
neurones dans le réseau.
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
10
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
11
Un réseau sert, dans la majorité des cas, à trouver n’importe quelle fonction, relation entre de « 1 à n variables
prédites » et de « 1 à n variables explicatives ».
Cette image
représente-t-elle
un chien ou un
chat ? 1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
12
1er contexte : la reconnaissance d’images
L’image en couleur
Cette image a une taille de 100 px sur 100 px. Un pixel contient 3 valeurs (R, G, B). Cette
image est donc composée de 100 x 100 x 3 = 30 000 valeurs. Ces 30 000 valeurs vont
représenter notre input layer (couche d’entrée). Il y a aura donc 30 000 neurones dans la
première couche. Nous parlerons dans un prochain article du réseau neuronal convolutif
(CNN), qui modifie la façon d’appréhender la valeur des couches en entrée d’un NN
(Neural Network).
Cette image a une taille de 100 px sur 100 px. Un pixel contient 1 valeur comprise entre 0
et 1 (0 = blanc, 1 = noir, gris = 0,5…).
Cette image est donc composée de 100 x 100 = 10 000 valeurs. Ces 10 000 valeurs vont
représenter notre input layer (couche d’entrée). Il y aura donc 10 000 neurones dans la
1/15/2025
première couche.
3.2 Définition et Fonctionnement des Réseaux de Neurones:
13
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
14
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
15
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
16
Couche(s) cachée(s)
Exemple :
Dans la situation décrite dans l’image, notre pré-activation est
égale à :
= x1 * w1 + x2 * w2 + b
= 3×2 + 2×1,5 + 1
= 10
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
18
3. Passons désormais à la formule d’activation, celle-ci change en fonction du contexte, du cas d’usage
concerné par le réseau. Voici les principales formules d’activation utilisées. Il existe de nombreuses formes
possibles pour les fonctions de transfert. Les plus courantes sont présentées dans ce qui suit, avec leurs
équations mathématiques. Les fonctions d'activation introduisent de la non-linéarité dans le modèle, ce qui
permet au réseau de neurones de résoudre des problèmes complexes. Voici quelques-unes des fonctions
d'activation les plus courantes :
Binaire
Signe
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
19
Linéaire
positif
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
20
Sigmoïde
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
21
Nous allons appliquer la fonction sigmoïde à ce résultat (nous allons remplacer notre « x » par « le résultat de
la pré-activation »).
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
22
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
23
Dans cette situation, il n’y aurait qu’un seul neurone dans la couche de
sortie.
1/15/2025
L’entraînement :
24
L’entraînement d’un réseau de neurones consiste à faire en sorte que la machine trouve, seule :
- Les bonnes valeurs pour tous les biais (b) du réseau.
- Les bonnes valeurs pour tous les poids (w) du réseau.
La rétropropagation est l'algorithme clé utilisé pour entraîner un réseau de neurones. Lorsqu'une erreur est
commise, la rétropropagation permet de calculer comment les poids du réseau doivent être ajustés pour
réduire cette erreur.
Descente de gradient :
La descente de gradient est l'algorithme d'optimisation couramment utilisé pour mettre à jour les poids du
réseau. Il fonctionne en calculant le gradient de l'erreur par rapport aux poids et en ajustant les poids dans la
direction qui minimise l'erreur.
L’apprentissage d’un réseau de neurones est défini comme un problème d’optimisation qui consiste à trouver
les coefficients du réseau minimisant une fonction d’erreur globale (fonction de coût).
La fonction la plus couramment utilisée, est celle dite fonction d’erreur quadratique définie pour
chaque exemple n ( n∈N ):
1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
26 Où:
N: exemples d’apprentissage.
x(n): vecteur d’entrée.
y(n): vecteur de sortie.
d(n): valeurs désirées.
r: nombre de neurones de sortie.
Pour tout l’ensemble d’apprentissage N on peut définir la fonction de coût (appelée aussi l’erreur
quadratique moyenne EQM):
- On cherche à minimiser une fonction de coût (qui représente l'erreur entre la sortie désirée et la
1/15/2025
L’algorithme de rétropropagation procède à l’adaptation des poids neurone par neurone en commencent
par la couche de sortie :
- Soit l’erreur observé ej(n) pour le neurone de sortie j et la donnée d’entrainement (apprentissage) n :
- L’objectif de l’algorithme est d’adapté les poids des connexions du réseau de manière à minimiser la
somme des erreurs sur tous les neurones de sortie.
- Soir E(n) la somme des erreurs quadratiques observées sur l’ensemble des neurones de sorties:
1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
29
Où:
1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
31
Avec :
1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
32
Ce qui donne :
1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
33
Et
Avec :
1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
34
Comme résumé de la mise en œuvre d’un algorithme :
Phase 1: initialisation de tous les poids à de petite valeurs aléatoires dans l’intervalle [-0.5,0.5] ;
Phase 2 : pour chaque donnée d’entrainement n:
- Calculer les sorties observée en propageant les entrées vers l’avant;
- Ajuster les poids en rétropropageant l’erreur observé;
Phase 3 : répéter les étapes 1 et 2 jusqu’à un nombre maximum d’itération ou jusqu’à ce que la valeur de
l’erreur quadratique moyenne (EQM) soit inférieur à un certain seuil;
Remarque : le but d’atteindre EQM inférieur à un seuil n’est pas sûre, lors pour éviter le problème de la
boucle ouverte, on fixe un nombre d’itération maximum, généralement l’ordre des centaines, dans ce cas là
l’algorithme cherche à minimiser EQM en N itérations successive tel que: N est inférieur au nombre
d’itérations maximum.
1/15/2025
Conclusion :
36
1/15/2025
37
Merci !
1/15/2025
Ministère de l’Enseignement Supérieur et de la Recherche Scientifique
Université d’ Annaba
Faculté des Technologie
Département d’électronique
1/15/2025
2024-2025
Plan de cours
2 Chapitre 4
1/15/2025
Plan de cours
3 Chapitre 5
1/15/2025
Chapitre 4 + 5:
4
Deep Learning(Apprentissage profond)
et Exploration des réseaux de neurones convolutifs
1/15/2025
4.1 Définition de l'Apprentissage Profond (Deep Learning) :
5
1/15/2025
4.2 Réseaux de Neurones Profonds (Deep Neural Networks) :
7
Les réseaux de neurones profonds se composent de multiples couches de neurones, où chaque couche
apprend une représentation plus abstraite des données par rapport à la précédente. Ces architectures permettent
de traiter des données complexes comme les images, le son, et le langage naturel.
Ci-dessous, un schéma simplifié d'un réseau de neurones profond avec plusieurs couches cachées :
4.2 Réseaux de Neurones Profonds (Deep Neural Networks) :
8
Ces modèles peuvent aussi bien être utilisés pour résoudre des problèmes de régression, de classification, de
clustering, ou même d’apprentissage par renforcement. Par exemple, voici un réseau de neurones traitant
des données immobilières pour prédire le prix d’une maison, comme nous l’avions vu dans le chapitre 2.
1/15/2025
4.2 Réseaux de Neurones Profonds (Deep Neural Networks) :
9
Dans un premier temps, chaque variable d’entrée est envoyée vers les neurones de la première couche.
1/15/2025
4.2 Réseaux de Neurones Profonds (Deep Neural Networks) :
10
Les neurones combinent ces entrées en les multipliant par un poids w, de manière semblable à ce que nous avons vu dans
le chapitre sur la régression linéaire. Ensuite, cette combinaison linéaire est transmise à une fonction d’activation g. Cette
fonction peut varier d’une application à l’autre, mais en général, elle permet au neurone de s’activer et de produire une
sortie lorsque ses entrées dépassent un certain seuil.
1/15/2025
4.2 Réseaux de Neurones Profonds (Deep Neural Networks) :
11
Pour finir, les résultats de ces neurones sont envoyés à la couche suivante, en suivant le même principe de
combinaison linéaire et de fonction d’activation.
Ici, notre réseau ne comporte que deux couches, mais on peut ajouter autant de couches et de cellules que
l’on souhaite au sein de notre modèle. Plus on rajoutera de couches, plus le modèle deviendra puissant (mais
également plus coûteux à entraîner).
1/15/2025
4.2 Réseaux de Neurones Profonds (Deep Neural Networks) :
12
Pour utiliser une analogie, cela revient à vouloir contrôler le débit d’eau y en sortie d’un robinet, en réglant
une série de valves (wb) situées le long de la canalisation. Chaque fois que l’on tourne une valve, cela affecte
l’eau qui passe à travers toutes les valves suivantes. Alors comment procéder ?
1/15/2025
4.2 Réseaux de Neurones Profonds (Deep Neural Networks) :
13
La réponse est de partir de la sortie y et de remonter jusqu’à l’entrée x en comprenant comment chaque valve
est impactée par celle qui la précède. Ce processus se calcule à l’aide d’un gradient (le même gradient que celui
utilisé dans le chapitre 3) ce qui nous permet de créer une chaîne de gradients. Ces gradients sont ensuite utilisés
pour ajuster les paramètres de chaque couche grâce à l’algorithme de la descente de gradient. Tout ce processus
porte une nom: la Back-Propagation.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
14
Les réseaux de neurones artificiels peuvent adopter de nombreuses architectures différentes, chacune étant
associée à une famille d’applications. Parmi elles, on retrouve :
Les Réseaux de Neurones à Convolution (CNN) : utilisés pour les applications liées à l’image, comme le
traitement d’image, la détection d’objets, la reconnaissance faciale, etc. Ils ont ensuite été adoptées par de
nombreux domaines, notamment la reconnaissance de la parole, la vision 3D, la vision par ordinateur
médicale et l'apprentissage automatique.
Le réseau de neurones convolutifs, ou CNN, est un type spécialisé de modèle de réseau de neurones conçu
pour travailler avec des données d’images bidimensionnelles, unidimensionnelles et tridimensionnelles. Ces
réseaux sont capables d'apprendre à extraire des caractéristiques locales, c'est-à-dire des structures qui se
répètent à travers l'image.
Au centre du réseau de neurones convolutifs se trouve la couche convolutionnelle qui donne son nom au
réseau. Cette couche effectue une opération appelée « convolution ».
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
15
Les Réseaux de Neurones à Convolution (CNN) :
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
16
La première couche de convolution détecte les features de l'image, comme les contours, les formes et les
textures. Les couches suivantes détectent des features plus complexes à partir des features détectés par la couche
précédente. La dernière couche de convolution est généralement suivie d'une couche fully connected qui
combine les features détectés par les couches de convolution et les utilise pour classifier l'image.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
17
1. Couche de convolution :
La couche de convolution est la composante clé des réseaux de neurones, convolutifs, elle constitue toujours
au moins leur première couche. Les couches de convolution sont formées de ce qu'on appelle des filtres. Les
filtres sont des tableaux de valeurs appelées feature maps. Chaque couche de convolution prend en entrée une
image et produit une feature map obtenue en appliquant le filtre à l'image. Par exemple, si l'image est de taille
5x5 et que le filtre est de taille 3x3, la feature map sera de taille 3x3. La couche de convolution reçoit donc en
entrée plusieurs images et calcule la convolution de chacune d'entre elles avec chaque filtre. Les filtres
correspondent exactement aux features que l'on souhaite retrouver dans les images.
2. Couche de pooling:
Ce type de couche est souvent placé entre deux couches de convolution : elle reçoit en entrée plusieurs
feature maps, et applique à chacune d'entre elles l'opération de pooling. Une couche de pooling, agit
comme une couche de réduction. Elle divise l'image en blocs et ne garde que le maximum de chaque bloc.
Cela permet de réduire la dimension de l'image tout en conservant les caractéristiques les plus importantes.
On obtient en sortie le même nombre de feature maps qu'en entrée, mais celles-ci sont bien plus petites.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
18
3. Couche fully-connected :
Les CNNs sont généralement formés de plusieurs couches de convolution et de pooling, suivies par une
couche fully-connected qui combine les features extraites par les couches précédentes pour classifier l'image,
elle renvoie un vecteur de taille N, où N est le nombre de classes dans notre problème de
classification d'images. Chaque élément du vecteur indique la probabilité pour l'image en entrée d'appartenir à
une classe. Par exemple, s'il s'agit bien d'un problème de classification de pommes et d'orange, le vecteur final
sera de taille 2 : chaque élément donne la probabilité d'appartenir soit à la classe pomme, soit à la classe orange.
Ainsi, le vecteur [ 0.8 , 0.2 ] signifie que l'image à 80% de chances de représenter une pomme.
La couche fully connected constitue toujours la dernière couche d'un réseau de neurones, convolutif ou non,
elle n'est donc pas caractéristique d'un CNN. Ce type de couche reçoit un vecteur en entrée et produit un
nouveau vecteur en sortie. Pour cela, elle applique une combinaison linéaire puis éventuellement une fonction
d'activation aux valeurs reçues en entrée.
Exemple Pratique : Classification d'Images avec un CNN : Un exemple classique d'application des CNN est
la classification d'images dans le jeu de données CIFAR-10. Le modèle CNN apprend à reconnaître des motifs
1/15/2025
dans des images et à les classer en catégories (avions, voitures, chiens, etc.).
4.3 Les different architectures des réseaux de Neurones :
19
Les réseaux de neurones récurrents (RNN) : sont des architecture est utilisée pour traiter des données
séquentielles, comme des séries temporelles ou des séquences de texte. Contrairement aux réseaux traditionnels,
les RNN ont des boucles internes qui leur permettent de conserver une mémoire des étapes précédentes utilisés
pour les applications liées aux séquences, telles que les séries temporelles, l’analyse de texte, la musique, etc.
Les réseaux de neurones récurrents RNN, sont un type de réseau de neurones largement utilisé dans le domaine
de l’apprentissage en profondeur (Deep Learning). Les RNN utilisent les sorties précédentes comme entrées
supplémentaires et sont parfaitement adaptés au traitement de données séquentielles. Généralement, elles se
présentent sous la forme suivante :
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
20
Nous constatons clairement l’aspect récurrent dans ces calculs (le calcul à l’instant t est à base de
l’information apportée de l’instant t-1, elle-même calculée à partir de l’information apportée de t-2 etc.),
contrairement à un réseau de neurones classique ANN (Artificial Neural Network) où la sortie dépend
uniquement des valeurs d’entrées.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
22
Bien que les RNN sont très pratiques comparé à une architecture ANN classique pour le traitement des
données séquentielles, il s’avère qu’ils sont extrêmement difficiles à entraîner pour gérer la dépendance à long
terme en raison du problème de la disparition du gradient (Gradient Vanishing). Une explosion de gradient
peut également se produire mais très rarement. Pour surmonter ces lacunes, de nouvelles variantes RNN ont été
introduites dans la littérature. C’est l’objet des sections suivantes.
Où σ est la fonction sigmoïde, ft est le vecteur d’activation de porte d’oubli (Forget gate), it vecteur
d’activation de porte d’entrée, ot vecteur d’activation de porte de sortie, vecteur d’activation d’entrée de
cellule, ct état de la cellule, ht vecteur de sortie de l’unité LSTM, tous les W et U sont des poids, b est un
vecteur de biais et le symbole * pour le produit hadamard (produit matriciel). Poids W, U et les biais b
doivent être appris durant le processus d’entrainement. 1/15/2025
4.3 Les different architectures des réseaux de Neurones :
24
Commençons par l’état de la cellule ct qui contient deux types d’informations :
- les anciennes informations à conserver de l’état précédente ct-1 , ajustée à l’aide de la porte d’oubli ft qui
décide du pourcentage d’informations à conserver en calculant une valeur comprise entre 0 (jeter
complètement) et 1 (garder complètement),
- Les nouvelles informations à inclure dans l’état de la cellule calculée à l’aide de la porte d’entrée it et de
l’activation de la cellule ceux qui sont calculés respectivement à l’aide des équations 4 et 5.
La valeur finale est ensuite calculée en deux parties, premièrement une valeur candidate via l’équation 7
cette valeur sera ajustée en fonction de la valeur de la cellule mémoire pour produire le résultat final.
L’utilisation de l’état de la cellule dans le calcul final rend le LSTM très puissant dans des tâches où
les informations doivent être stockées et utilisées ultérieurement (dépendance long terme). La
modélisation du langage est un exemple simple illustrant ce cas de figure, en effet le sujet au début de la
phrase décide de la conjugaison du verbe à utiliser au milieu ou même à la fin de la phrase.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
25
B) Gated Recurrent Unit (GRU)
L’unité récurrente fermée GRU (Gated Recurrent Unit) a été introduite en 2014 par Cho et Al pour résoudre
le problème de disparition du gradient rencontré par les réseaux récurrents classiques mais aussi pour
proposer une architecture avec moins de paramètres à entrainer par rapport à une LSTM. À l’instar de
LSTM, l’unité GRU est l’élément de base d’une architecture GRU. Une passe avant de l’unité GRU est
modélisé par les équations (9-12) :
où σ est la fonction sigmoïde, zt est le vecteur d’activation de la porte de mise à jour, rt le vecteur
d’activation de la porte de réinitialisation, et ht est le vecteur output de l’unité GRU. W et U sont des poids,
b est le vecteur biais (poids et biais sont à entrainer durant le processus d’apprentissage) et le symbole * pour
1/15/2025
le produit de Hadamard.
4.3 Les different architectures des réseaux de Neurones :
26
Les Auto-Encodeurs : utilisés pour le clustering, la réduction de dimension, mais aussi les deep fakes….
Les Auto-Encodeurs sont des réseaux de neurones non-supervisés utilisés pour l'apprentissage de
représentations compressées des données. Ils consistent en deux parties principales :
- Un encodeur qui compresse les données et un décodeur qui tente de reconstruire les données d'origine à
partir de cette représentation compressée.
Les autoencodeurs sont souvent utilisés pour la réduction de dimensionnalité et la détection d'anomalies.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
27
Apprentissage par Transfert (Transfer Learning)
L'apprentissage par transfert consiste à utiliser un
modèle pré-entraîné sur une grande base de données et
à l'ajuster pour une nouvelle tâche spécifique. Cela
permet de bénéficier de la puissance d'un modèle déjà
performant, tout en l'adaptant à de nouveaux cas
d'utilisation.
Dans ce chapitre, nous allons nous intéresser à l’une
de ces architectures, qui a révolutionné le monde de
l’IA depuis sa sortie en 2017 : le transformer.
Le transformer Inventé en 2017 par Google, le
transformer est l’architecture à l’origine de ChatGPT
et de tous les autres Large Language Models qui
prolifèrent aujourd’hui dans le monde de l’IA. 1/15/2025
4.3 Les different architectures des réseaux de Neurones :
28
La première étape est de fournir la phrase d’entrée dans la partie Encodeur de notre modèle. Pour cela, on
commence par découper notre phrase en petit fragments, appelés tokens.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
29
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
30
Pour finir, le résultat de ces couches d’attention passe dans un réseau de neurones (Feed Forward),
c’est-à-dire un réseau semblable à celui que nous avons vu au début de ce chapitre. Cela permet de
transformer la phrase d’entrée en une matrice de valeurs représentant le sens des mots, leur position, et
leurs connexions les uns avec les autres. Nous avons ainsi encodé notre phrase. L’étape suivante est donc
tout naturellement celle du décodage.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
31
La matrice crée par l’encodeur est ensuite envoyée vers le
décodeur qui va jouer le rôle de générateur de texte. Chaque
fois qu’il génère un nouveau mot, celui ci est ajouté à l’entrée
de son décodeur, et les mêmes mécanismes que ceux vus
précédemment sont utilisés pour continuer de produire des
mots en tenant compte à la fois du contexte fourni par l’entrée
et de ce qui a été généré jusqu’à présent.
Heureusement, il n’est pas nécessaire de recoder un transformer à partir de zéro. De nombreuses librairies
proposent aujourd’hui des versions open source de plusieurs Large Language Models. Pour conclure ce
livre en beauté, je vous propose de créer en quelques lignes de code seulement, un modèle de GenAI basé
sur GPT-2. 1/15/2025
Conclusion :
33
Références
1. Ian Goodfellow, Yoshua Bengio, Aaron Courville, 'Deep Learning', MIT Press, 2016.
2. Yann LeCun, Yoshua Bengio, Geoffrey Hinton, 'Deep Learning', Nature, 2015.
1/15/2025
34
Merci !
1/15/2025
35
FIN
1/15/2025