100% ont trouvé ce document utile (2 votes)
1K vues132 pages

Cours de Deep Learning - Master 2

Transféré par

ramziezaki125
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
100% ont trouvé ce document utile (2 votes)
1K vues132 pages

Cours de Deep Learning - Master 2

Transféré par

ramziezaki125
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Ministère de l’Enseignement Supérieur et de la Recherche Scientifique

Université d’ Annaba
Faculté des Technologie
Département d’électronique

Deep Learning (Apprentissage Profond)

Master 2: Automatique et Système


1 Automatique et Informatique Industrielle.

Enseigné par: Dr. RIGHI Ines

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

▪ L’Intelligence Artificielle est un domaine de l'informatique qui vise à créer des


systèmes capable de simuler des formes d'intelligence humaine. Elle repose sur des
algorithmes qui permettent à une machine d’apprendre, de percevoir et de résoudre des
problèmes. C’est l'ensemble des processus de pensée d'un être vivant qui lui
permettent de comprendre, d'apprendre, de s'adapter à des situations nouvelles ou de
découvrir des solutions aux difficultés qu’il rencontre. L’intelligence artificielle est
l’étude des moyens qui permettent à une machine intelligente (ordinateur) :

- 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 :

1956: Conférence de Dartmouth qui a formalisé le terme 'Intelligence Artificielle’.


1997: L'ordinateur Deep Blue d'IBM bat Garry Kasparov aux échecs.
2016: AlphaGo de Google DeepMind bat un champion du monde au jeu de Go.

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.

▪ IA Forte (General AI)


L'IA forte, qui reste pour le moment théorique, se réfère à une machine/robot, son raisonnement serait le
même que l’être humain, capable de comprendre, d'apprendre et de réaliser n'importe quelle tâche
intellectuelle qu'un humain peut accomplir, l’automate serait alors doté d'une réelle conscience et
éprouverait des sentiments, (il reste le rêve d’une grande partie des chercheurs).
▪ Superintelligence
La superintelligence est une hypothèse future où l'intelligence d'une machine/robot dépasserait celle des
1/15/2025

humains dans presque tous les domaines.


1.3 Les composants de l’Intelligence Artificielle :
12

▪ Représentation des Connaissances


L’IA doit stocker des informations sous une forme qu'elle peut utiliser pour raisonner. Des techniques
comme les réseaux sémantiques et les graphes de connaissances sont utilisées pour représenter ces
relations.

- 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.

- Simulation du raisonnement humain :

L’homme est capable de raisonner sur des


systèmes incomplets, incertains et même
contradictoires (logiques floue, …).

1/15/2025
1.3 Les composants de l’Intelligence Artificielle :
14

- Traitement du langage naturel :


Il s'agisse de traduire un texte dans une autre langue ou de le
résumer.

- Résolution des problèmes :


Représentation, analyse et résolution de problèmes.

- 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 réseaux de neurone :


Modèles mathématiques qui partagent plusieurs propriétés
importantes avec le cerveau humain : répartition de l'information sur
l'ensemble du réseau,activation des neurones, etc.
- Système complexe adaptatifs :
On regroupe sous ce vocable les algorithmes génétiques et les
modèles de vie artificielle. Il s'agit là, d'étudier comment des populations
soumises à des lois simples et naturelles convergent naturellement vers 1/15/2025

des formes organisées.


1.4 Applications de l’Intelligence Artificielle :
17

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 a été introduit par L.A. Zadeh en 1994


comme un moyen de construire des systèmes intelligents
répondant à des obligations d’efficacité, de robustesse, de
facilité d’implémentation et d’optimisation de coûts
temporels, énergétiques, financiers, … etc.

▪ 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

▪ Une limitation des erreurs :


Grâce à une technologie avancée et une programmation rigoureuse (ordinateurs et logiciel
de calcul), les erreurs de calculs commises par des êtres humains pourront être évitées.

▪ Remplacer l'homme dans des situations à risques ou pénibles :


Dans certaines situations la machine peut remplacer l'homme pour le soulager et optimiser
son travail : Il en résulte des bénéfices économiques et temporels pour l'entreprise.

▪ Réduire la pensée humaine à un simple raisonnement :


La réalisation de l'IA est la reproduction mécanique de l'homme. C’est-à- dire, réduire la
pensée humaine à un simple raisonnement.

1/15/2025
Pour ou contre l’Intelligence Artificielle ?
22

▪ La perte des liens sociaux


Si dans le futur, les robots remplacent les humains dans les tâches
quotidiennes, l'homme ne trouverait plus un interlocuteur en face
de lui mais une machine dépourvue de sentiments : il y a rupture des
liens sociaux.

▪ 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

▪ L’intelligence artificielle et ses sous-domaines ne cessent de repousser les limites des


technologies modernes, en apportant des solutions à des problèmes complexes autre
fois impossibles à résoudre. Le développement rapide des réseaux de neurones
profonds et des modèles d’apprentissage automatique a ouvert la voie à des avancées
majeures dans des domaines aussi variés que la médecine personnalisée, la conduite
autonome, et la gestion intelligente des données.
▪ Cependant, l’IA n’est pas exempte de défis. Des questions éthiques telles que le biais
algorithmique, l’impact sur l’emploi, et l’explicabilité des modèles restent des
domaines de recherche active. Il est essentiel que les chercheurs et les développeurs
continuent à travailler sur ces aspects pour garantir un développement responsable et
bénéfique de l'IA.
1/15/2025
Conclusion :
24
L’intelligence artificielle (IA) est aujourd’hui un domaine en plein essor qui révolutionne divers secteurs
tels que la santé, l’industrie, la finance et bien d’autres. Ce cours vous a offert un aperçu des concepts
fondamentaux et des applications pratiques de l’IA, en explorant ses sous-domaines clés comme
l’apprentissage automatique, les réseaux de neurones et l’apprentissage profond.

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

Deep Learning (Apprentissage Profond)

Master 2 : Automatique et Système


1 Automatique et Informatique Industrielle.

Enseigné par : Dr. RIGHI Ines

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

Le machine Learning est une branche de l’intelligence artificielle qui


consiste à donner à une machine la capacité d’apprendre plutôt que de
la programmer de façon explicite.

C’est ce qu’a fait Arthur Samuel, l’inventeur du machine Learning,


en 1959, lorsqu’il a réalisé le premier programme de jeu de Dame
”intelligent”. Ce programme était capable d’apprendre à jouer sans
qu’aucune stratégie d’attaque ou de défense ne soit implémentée dans
son système. L’approche d’Arthur Samuel consistait à mettre face à
face deux machines et à les faire jouer l’une contre l’autre avec des
stratégies initialement aléatoires, puis à récompenser celle qui gagnait
chaque partie avec un système de points. Au fil des parties, les
programmes découvraient les situations qui leur faisaient gagner des
points et celles leur en faisaient perdre. Ainsi, ils apprenaient d’eux-
mêmes les meilleures stratégies pour gagner au jeu de dames. Ce fut un 1/15/2025

succès!
2.2 Définition et Principes de Base
5

Le machine Learning consiste à enseigner à une machine comment


effectuer des tâches spécifiques sans intervention humaine directe. Le
but est de développer des modèles qui généralisent à partir de données
d’entraînement, pour pouvoir effectuer des prédictions ou des décisions
lorsqu'ils sont confrontés à des données nouvelles et non vues. Un
modèle de machine learning est une fonction mathématique qui reçoit
des entrées (données) et produit des sorties (prédictions). Il apprend à
ajuster ses paramètres internes à partir des données d'entraînement pour
réduire les erreurs de prédiction.

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) + ε

où ε est un terme d'erreur ou de bruit. 1/15/2025


2.2 Définition et Principes de Base
6

L’apprentissage est une phase du développement d’un


réseau de neurones durant laquelle le comportement du
réseau est modifié jusqu'à l'obtention du comportement
désiré, il fait appel à des exemples de comportement.
Objectif :
▪ Amélioration des performances futures du réseau, sur la
base d’une connaissance acquise au fur et à mesure des
expériences passées.
▪ Adaptation des poids de façon à ce que le réseau
apprend le comportement du processus, via une base de
données acquise on-line (en temps réel) ou off-line (en
temps différé). 1/15/2025
Aujourd’hui, le machine Learning est la technologie qui fait
7
fonctionner ChatGPT, les voitures autonomes, et tous les systèmes
dits “intelligents” depuis les trente dernières années. On peut dire que
le machine Learning est véritablement la discipline au cœur de l’IA.

Okay, mais comment ça fonctionne

1/15/2025
8 Alors, il existe trois types d’apprentissages :

1/15/2025
2.3 Concepts de base du ML
9

2.3.1 Apprentissage supervisé (supervised learning) :

- L'algorithme apprend à partir d'un ensemble de données


étiquetées (input-output). On lui fournit des exemples Que voyez-vous ici ?
avec les réponses correctes. Dans cet apprentissage, on
dispose d'un ensemble de données étiquetées (c’est-à-dire
que chaque donnée est associée à une sortie attendue ou Réponses : un chat
un label), aussi il apprend en comparant ses prédictions Réponses : un chien
aux résultats réels et ajuste ses paramètres pour réduire Réponses : un enseignant
Réponses : des étudiants
les erreurs.
………
- Il se fait en présence d’un superviseur (Teacher).

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

Vous souhaitiez prédire le prix d’une maison en


fonction de sa surface habitable.

Les questions/réponses sont présentés à la


machine sous forme de jeu de données (X, y), où :
X représente les variables d’entrée.
y la sortie attendue.
1/15/2025
2.3 Concepts de base du ML
13
la Machine est capable d’apprendre un modèle
permettant de prédire la valeur de y en fonction de X.
elle effectue une auto-évaluation en recherchant le
modèle qui lui offre les meilleures performances par
rapport au jeu de données fourni.

Si nous avons une nouvelle maison, dont la surface


habitable est de 105 m².

Alors notre machine peut utiliser notre modèle


pour prédire le prix de cette nouvelle maison.
1/15/2025
2.3 Concepts de base du ML
14

Vous souhaitiez apprendre à reconnaître un chien ou


un chat en vous basant sur sa taille et son poids. Pour
cela, il est nécessaire de fournir à la machine un jeu de
données (X, y) afin qu’elle s’entraîne dessus.

En étudiant ces données, la machine trouve le modèle


qui sépare au mieux les deux classes de points, c’est-à-
dire celui qui ne commet aucune erreur sur le jeu de
données qui lui a été présenté.
1/15/2025
2.3 Concepts de base du ML
15

La machine peut désormais faire de nouvelles


prédictions.

Cet animal se situe du côté des chiens.

En résumé, il s’agit de fournir des données (X, y) pour que la


machine apprenne à prédire y en fonction de X, c’est-à-dire la
relation X → y.
1/15/2025
2.3 Concepts de base du ML
16

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

En examinant simplement les attributs X (tels que la


taille, le poids, l’apparence, etc) la machine
remarquera d’elle-même que certains animaux se
ressemblent par leurs caractéristiques.

Ainsi, elle sera capable de les regrouper, sans pour


autant savoir s’il s’agit de chats ou de chiens.
1/15/2025
Exemple
19
Ce type d’application porte de le nom de clustering. Il s’agit de l’une des nombreuses applications de
l’apprentissage non supervisé et démontre parfaitement son utilité. En effet, dans la pratique, il peut être très
intéressant de laisser la machine proposer sa propre manière de faire les choses, plutôt que de la contraindre,
de manière supervisée, à reproduire notre façon de faire. Prenez par exemple un panier d’objets achetés par
différents consommateurs sur un site de vente en ligne.

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) :

- L'algorithme apprend en interagissant avec un environnement et en recevant des récompenses ou des


punitions en fonction de ses actions. L'objectif est de maximiser la récompense cumulée.
- Algorithme apprend par essais et erreurs, recevant des récompenses ou des pénalités en fonction de ses
actions.
- On fournit des exemples et des indications sur le résultat (vrai/faux).
- Dans ce cas, le réseau réajuste ses poids suivant un critère de performance. Celui-ci renforce les poids du
réseau si le critère est favorable et les punit dans le cas contraire.

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

L’idée est de créer un agent, libre d’entreprendre des actions au


sein d’un environnement, et de récompenser cet agent lorsque les
actions qu’il choisit de prendre le mènent au résultat souhaité.

Par exemple, l’agent pourrait être un petit personnage et


l’environnement, un labyrinthe dont il doit trouver la sortie. Pour
cela, il est libre de se déplacer dans toutes les directions qu’il
souhaite.

À chaque fois qu’il se déplace, l’agent reçoit une récompense liée


à la pertinence de son choix. Par exemple, se rapprocher de la
sortie lui accorde un point, tandis que s’en éloigner lui en fait
perdre un.
1/15/2025
23

À 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

2.4.1 SVM (Support Vector Machines) :


Vous souhaitiez prédire si un email est un
1. Utilisation : classification. spam ou non, en vous basant sur le nombre
2. Méthode : trouve l'hyperplan qui sépare le de liens et le nombre de fautes
mieux les classes dans un espace de d’orthographe qu’il contient.
caractéristiques, en maximisant la marge Pour cela, vous disposez d’un jeu de données d’emails
entre les classes. correspondant à la tâche que vous cherchez à
3. Principe : trouver un hyperplan qui sépare accomplir.
les données de manière optimale en
maximisant la marge entre les classes.

Exemple : classifier des emails comme spam ou


non-spam.

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 ?

Il semble plus logique de prédire que cet email soit un spam,


car il est plus proche des points correspondant à cette classe.
La méthode employée ici pour faire cette prédiction est celle
des plus proches voisins (nearest neighbors).

1/15/2025
2.4 Algorithme du ML
26

Bien sûr, il existe de nombreux autres modèles de classification en machine Learning,


parmi lesquels on retrouve :

- 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

2.4.2 Régression linéaire :

1. Utilisation : prédire une variable continue.


2. Méthode : modèle linéaire qui cherche à établir une relation entre une variable
dépendante et une ou plusieurs variables indépendantes.
3. Objectif : trouver une relation linéaire entre une variable dépendante et une ou
plusieurs variables indépendantes.

Modèle : y = w₀ + w₁ * x₁ + w₂ * x₂ + ... + wₙ * xₙ + ε

Exemple : utiliser la taille d’une maison pour prédire son prix.

1/15/2025
2.4 Algorithme du ML
28

2.4.3 Régression logistique :

1. Utilisation : prédire une variable catégorique.


2. Méthode : modèle qui prédit la probabilité qu'un événement se produise, souvent
utilisé pour les classifications binaires.
3. Objectif : prédire la probabilité qu'un événement appartienne à une classe binaire (0
ou 1).

Modèle : P(y=1|x) = 1 / (1 + exp(-(w₀ + w₁ * x₂ + ... + wₙ * xₙ)))

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

2.4.4 Arbres de décision :

1. Utilisation : classification et régression.


2. Méthode : modèle qui divise les données en sous-ensembles basés sur des
caractéristiques, formant une structure arborescente.

1/15/2025
2.4 Algorithme du ML
30

2.4.5 K-means et clustering :

1. K-means : algorithme non supervisé qui regroupe des points de données en k


clusters basés sur leurs caractéristiques.
2. Clustering : technique générale qui regroupe les données similaires sans
étiquettes prédéfinies.
3. Principe : regrouper les données en k clusters en minimisant la distance intra-
cluster.
Exemple : segmenter des clients en groupes distincts sur la base de leur comportement
d’achat.

1/15/2025
2.4 Algorithme du ML
31

2.4.6 K-Nearest Neighbors (K-NN):


Principe : classifie une donnée en fonction de la majorité des k voisins les plus proches
dans l'espace des caractéristiques.
Exemple : classifier une image en fonction des images similaires dans une base de données.

2.4.7 Analyse en Composantes Principales (PCA):


Principe : réduire la dimensionnalité des données tout en conservant le plus d'informations
possible.
Exemple : réduire la dimensionnalité d'un ensemble de données d'images pour la
reconnaissance d'image.
1/15/2025
2.5 Applications du ML
32
2.5.1 Prédiction de données :

La finance pour prévoir les tendances du marché, détection


de fraudes, analyse de crédit, prévisions de marché.
La santé pour prédire/personnaliser les résultats de
traitements, diagnostic médical, prédiction de maladies.

2.5.2 Analyse des sentiments :


Marketing pour analyser les avis des clients et comprendre
le sentiment derrière les commentaires. Personnalisation
des recommandations, analyse des sentiments,
segmentation de la clientèle.

2.5.3 Détection de fraudes :


Les banques pour identifier des transactions suspectes en
temps réel, grâce à l'analyse des modèles de comportement.
1/15/2025
2.5 Applications du ML
33

Transport : voitures autonomes, optimisation des itinéraires, gestion du trafic.


E-commerce : recommandations de produits, gestion des stocks, chatbots pour le service client.
Industrie : maintenance prédictive, optimisation des chaînes de production, contrôle qualité.
Agriculture : surveillance des agricultures, prévisions de rendements, gestion des ressources.
Sécurité : reconnaissance faciale, détection d'intrusions, cybersécurité.
Éducation : systèmes de tutorat intelligent, analyse des performances des étudiants, personnalisation des
parcours d'apprentissage.
Art et créativité : génération d'images et de musique, assistants d'écriture, création de contenu.

Ces applications illustrent comment l'apprentissage automatique transforme de nombreux secteurs.


1/15/2025
Conclusion :
34

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

Deep Learning (Apprentissage Profond)

Master 2 : Automatique et Système


1 Automatique et Informatique Industrielle.

Enseigné par : Dr. RIGHI Ines

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.

Architecture d'un réseau de neurones


Un réseau de neurones typique est composé de trois types de couches :
• 1. Couche d'entrée: reçoit les données d'entrée.
• 2. Couches cachées: effectuent les calculs internes.
• 3. Couche de sortie: fournit les résultats du modèle.
Ci-dessous, un schéma d'un réseau de neurones basique avec une couche d'entrée, une couche cachée et une
couche de sortie :
1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones :
9

Qu’est-ce qu’un réseau de neurones ?

C’est un ensemble de « neurones


artificiels » organisés de la manière
suivante. Nous verrons par la suite ce
qu’est un « neurone artificiel ».

1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
10

Neurone artificiel élémentaire

Chaque neurone reçoit un nombre variable


d'entrées en provenance des neurones amonts. A
chacune de ces entrées est associée :

- Un poids Wi: abréviation de Weight (poids)


représentatif de la force de la connexion.
- Le seuil W0: peut être envisagé comme le
coefficient de pondération de l'entrée X0, dont la
valeur est fixée à 1.

1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
11

A quoi sert un réseau de neurones ?

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 ».

1er contexte : la reconnaissance d’images

Quelle est la relation entre les pixels d’une


image et ce qu’elle représente ?

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).

L’image en noir et blanc

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

A quoi sert un réseau de neurones ?

2ème contexte : le niveau d’efficacité d’un


dosage de médicament

Quelle est la relation entre le dosage d’un


médicament et son efficacité ?

Quelle(s) dose(s) d’un


médicament (ou de
médicaments) faut-il
administrer à un patient afin
de le guérir ?

1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
14

A quoi sert un réseau de neurones ?

3ème contexte : la couleur d’une fleur

Quelle est la relation entre le duo « largeur, longueur » d’une


fleur et sa couleur ?

Quelle est la couleur


de la dernière fleur au
regard de sa longueur
et de sa largeur ?

1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
15

Détails des couches

Couche de l’input (des inputs)

Le contenu de cette couche varie en fonction du


contexte, du cas d’usage concerné par le réseau de
neurones.

Voici quelques exemples au regard de nos cas d’usage


précédemment présentés. Dans tous les cas, ce ne sont pas
des neurones artificiels que l’on trouve en entrée mais
des inputs.

1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
16
Couche(s) cachée(s)

Cette fois, chaque « rond » représente bien un neurone


artificiel. Comme indiqué précédemment, le nombre de
couches est variable et variera en fonction du contexte
mais aussi de la puissance de calcul disponible pour
entraîner et utiliser le réseau. C’est la même chose pour
le nombre de neurones par couches.

1. Tous les neurones de la (ou des) couche(s)


cachée(s) se décomposent comme suit.

Un neurone est composé de 2 fonctions:

- la pré-activation et l’activation. 1/15/2025


3.2 Définition et Fonctionnement des Réseaux de Neurones:
17
2. La formule de pré-activation est toujours la même.

Cette formule multiplie tout simplement tous les x avec les w,


additionne les résultats obtenus, puis ajoute un biais.

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

Pour l’exemple, nous allons utiliser la fonction sigmoïde.


Précédemment, nous avions calculé la pré-activation (x1 * w1 + x2 * w2 + b = 3*2 + 2*1,5 + 1 = 10).

Nous allons appliquer la fonction sigmoïde à ce résultat (nous allons remplacer notre « x » par « le résultat de
la pré-activation »).

Notre neurone devient :

1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
22

Couche de l’output (des outputs)

1. Le nombre de neurones dans cette couche est


variable et correspond au contexte du réseau.

1er contexte : la reconnaissance d’images

Pour rappel, on souhaite connaître le pourcentage que


l’image représente un chat, et le pourcentage que l’image
représente un chien.

Nous aurons donc 2 neurones.

1/15/2025
3.2 Définition et Fonctionnement des Réseaux de Neurones:
23

2ème contexte : le niveau d’efficacité d’un médicament en fonction de son


dosage

Dans cette situation, il n’y aurait qu’un seul neurone dans la couche de
sortie.

3ème contexte : la couleur d’une fleur en fonction de sa hauteur et de sa


largeur

Dans cette situation, il y aurait 2 neurones 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.

Concrètement, nous allons donc, dans l’ordre :


- Fournir des données aléatoires pour tous les b et w du réseau,
- Fournir en entrée (dans la couche d’entrée) des données labellisées (i.e. des données dont on connaît la sortie
attendue – ex. on sait que cette image fournie en entrée représente un chien, on attend que le réseau prédise
qu’il s’agit d’un chien, on sait que cette fleur est bleue, on attend que le réseau nous réponde que la fleur est
bleue…),
- Laisser la machine faire ses calculs (i.e. calculer les résultats des neurones (pré-activation et activation)
jusqu’à la couche de sortie),
- Laisser la machine comparer les résultats obtenus avec les résultats attendus,
- Laisser la machine corriger plus ou moins fortement les b et w afin de minimiser l’erreur (l’écart entre ce qui a
été prédit et ce que l’on espérait voir être prédit),
- Recommencer (i.e. fournir en entrée des données labellisées, laisser la machine faire ses calculs jusqu’à la
couche de sortie, calculer l’erreur… etc.) 1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
25

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):

- Le principe de l'algorithme d’apprentissage (la rétropropagation) est de calculer la contribution des


poids du réseau à l’erreur.

- Il consiste simplement en une descente de gradient, qui est une méthoded’optimisation


universelle.

- On cherche à minimiser une fonction de coût (qui représente l'erreur entre la sortie désirée et la
1/15/2025

sortie obtenue), en suivant les lignes opposées de plus grande pente.


3.2 Apprentisage par Rétropopagation (Backpropagation):
27
- Soit le couple (x(n), d(n)) désignant la n-ième donnée
d’apprentissage du réseau. Où:

Correspondent respectivement aux « p » entrées et aux « q »


sorties désirées du système.

- L’algorithme de rétropropagation consiste à mesurer l’erreur


entre les sorties désirée et les sorties observée y(n).

- Et à rétropropager cette erreur à travers les couches du réseau en


1/15/2025
allant des sorties vers les entrées.
3.2 Apprentisage par Rétropopagation (Backpropagation):
28

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’indice j représente le neurone pour lequel on veut adapter les poids.

- 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

- La sortie du neurones j est défini par :

Où:

σ: fonction d’activation du neurone j.


Wij : Poids de connexion entre le neurone i de la couche
précédente et le neurone j de la couche courante.
yi: sortie du neurone i.

- On suppose ici que la couche précédente contient r


neurones numérotés de 1 à r, le poids Wji correspond au
biais (seuil) du neurone j et que l’entrée y0(n)=1.
1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
30

- Pour corriger l’erreur observée, il faut modifier le poids Wji(n)


dans le sens opposé du gradient de l’erreur :

Remarque: cette dérivée partielle représente un facteur de


sensibilité. Si on change un peu Wji(n), E(n) change beaucoup.

- Pour l’application des règles des dérivées partielles on obtient :

1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
31

Avec :

Et on exprime la variation de poids ΔWji(n) sous la forme :

Avec: 0 ≤ η ≤ 1 représentant un taux d’apprentissage ou


gain de l’algorithme.

Evaluons maintenant le terme du gradient :

1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
32

- On suppose que σ est la fonction sigmoïde, ce qui donne :

Ce qui donne :

1/15/2025
3.2 Apprentisage par Rétropopagation (Backpropagation):
33

- En substituant l’équation dans, on obtient :

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é;

Ou le gradient local est défini par :

Pour la couche de sortie.

Pour la couche cachée.

Avec : 0 ≤ 𝜂 ≤1 et le taux d’apprentissage. 1/15/2025


3.2 Apprentisage par Rétropopagation (Backpropagation):
35

- Le choix de η est empirique.


- Si η est trop petit, le nombre d’itération peut être très élevé,
- Si η est trop grand, les valeurs de la suite risquent d’osciller autour du minimum sans converger.

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

Les réseaux de neurones sont des outils puissants dans le domaine de


l'intelligence artificielle, capables de résoudre des problèmes complexes
dans divers domaines comme la reconnaissance d'images et la traduction
automatique. Grâce à des techniques comme la rétropropagation et la
descente de gradient, ils peuvent être entraînés sur de grandes quantités de
données pour produire des résultats de haute qualité.

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

Deep Learning (Apprentissage Profond)

Master 2 : Automatique et Système


1 Automatique et Informatique Industrielle.

Enseigné par : Dr. RIGHI Ines

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

L'apprentissage profond (Deep Learning) est un sous-domaine de


l'apprentissage automatique qui utilise des réseaux de neurones
profonds pour modéliser des relations complexes entre les données.
Contrairement aux réseaux de neurones traditionnels, les réseaux
profonds ont plusieurs couches cachées, ce qui leur permet
d'apprendre des représentations hiérarchiques des données.
Le Deep Learning est une discipline très semblable à celle du
Machine Learning. Il s’agit en effet du même principe, à savoir
entraîner des modèles à partir de données. La principale différence
réside dans le type de modèle que l’on entraîne. En effet, le Deep
Learning se focalise uniquement sur la création de modèles connus
sous le nom de réseaux de neurones artificiels. Un réseau de neurones
est un modèle composé d’un grand nombre de petites fonctions non
linéaires, connectées les unes aux autres à travers une organisation en
couches.
1/15/2025
6 Qu’est-ce-que le Deep Learning ?

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

En parlant d’entraînement, un réseau de neurones utilise généralement la méthode de la descente de gradient


(vue dans le chapitre 3) pour apprendre à prédire correctement la sortie y attendue. Mais contrairement à une
simple régression linéaire, nous avons ici une chaîne de fonctions où le comportement des premières influence
celui des suivantes, rendant le réglage des paramètres plus complexe.

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.

Les couches convolutionnelles peuvent être suivies de couches convolutionnelles supplémentaires ou de


couches de regroupement (pooling). Avec chaque couche, le CNN augmente dans sa complexité, en identifiant
de plus grandes portions de l’image. Les couches précédentes se concentrent sur des caractéristiques simples,
telles que les couleurs et les bords. Au fur et à mesure que les données d’image progressent dans les couches du
CNN, il commence à reconnaître des éléments ou des formes plus précises de l’objet jusqu’à ce qu’il identifie
finalement l’objet visé.

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

Les réseaux de neurones récurrents (RNN) :


À chaque instant t, le passage vers l’avant (Feed Forward pass) est modélisé par les équations suivantes :

Où xt et at sont respectivement le vecteur d’entrée du réseau et le vecteur d’activation à l’instant t,


g1, g2 sont des fonctions d’activation, les W et b sont respectivement les poids et les biais à apprendre
durant l’entrainement du réseau.
La valeur de sortie à l’instant t, y<t> est calculée par l’équation (2) en fonction de la valeur d’activation
a<t> calculée par l’équation (1). 1/15/2025
4.3 Les different architectures des réseaux de Neurones :
21

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.

La figure 2 illustre bien cette différence :

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.

A) Long short term memory LSTM


Pour surmonter le problème du vanishing du gradient, le LSTM est proposé initialement par S. Hochreiter ,
puis amélioré dans l’article de F. Gers et j. Schmidhuber. L’unité LSTM illustré dans la figure suivante est le
composant de base d’une architecture LSTM. C’est une série de portes et de cellules qui coopèrent pour produire
un résultat final. Un passe avant LSTM est modélisé par les équations (3-8).
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
23

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

Imaginez vouloir développer un modèle de traduction Anglais → Français.

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

Ces fragments sont ensuite convertis en vecteurs, c’est la partie


Embedding. Ces vecteurs offrent une représentation numérique
des mots de notre langue. Par exemple, les mots ”food”,
”restaurant”, ”burger”, ”meal” sont des mots dont les vecteurs sont
très proches les uns des autres. Cela permet à la machine de
comprendre que tous ces mots appartiennent à une même
thématique. Ensuite, ces vecteurs traversent un mécanisme appelé
Attention, qui consiste à apprendre quels mots sont reliés les uns
aux autres dans une phrase.

Par exemple, le modèle apprend à travers ses paramètres que le


mot ”This” est relié aux mots ”Food” et ”it” dans le contexte de
cette phrase. De la même manière, ”good” est en connexion avec le
mot ”food” et ”love”.

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.

Tout ce beau monde fonctionne grâce à des millions, voir des


milliards de paramètres (wb). Pour développer ces modèles, des
années d’entraînement ont été nécessaires, utilisant des bases
de données textuelles parfois équivalentes à tout le contenu
disponible sur Internet. Voici, à titre indicatif, l’évolution du
nombre de paramètres des modèles GPT d’Open AI depuis la
sortie de la première version en 2018.
1/15/2025
4.3 Les different architectures des réseaux de Neurones :
32

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

L'apprentissage profond a révolutionné de nombreux domaines, notamment la vision par


ordinateur, la reconnaissance vocale, et le traitement du langage naturel. Grâce à des
architectures avancées comme les CNN et les RNN, il est maintenant possible de résoudre
des problèmes complexes avec des performances proches de celles des humains.

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

Vous aimerez peut-être aussi