Vous êtes sur la page 1sur 136

Institut Supérieur des Sciences Appliquées

Et de la Technologie de Kairouan

APPRENTISSAGE AUTOMATIQUE
Support de cours
Fait par

Mohamed NJAH
Maître de Conférences en Génie Electrique

2022/2023

1
Chapitre 1
INTELLIGENCE ARTIFICIELLE
1- Introduction
Le terme ‘Intelligence artificielle’ est défini par l’un de ses créateurs, Marvin Lee Minsky,
comme « la construction de programmes informatiques qui s’adonnent à des tâches qui
sont, pour l’instant, accomplies de façon plus satisfaisante par des êtres humains car elles
demandent des processus mentaux de haut niveau tels que : l’apprentissage perceptuel,
l’organisation de la mémoire et le raisonnement critique ».
Le mot ‘Intelligence’ est expliqué par le but d'imiter le comportement humain. L’adjectif
‘artificiel’ vient de l'usage des ordinateurs ou de processus électroniques élaborés.
Cette imitation peut se faire dans:
- le raisonnement, par exemple dans les jeux ou la pratique des mathématiques,
- dans la compréhension des langues naturelles,
- dans la perception : visuelle (interprétation des images et des scènes), auditive
(compréhension du langage parlé) ou par d'autres capteurs,
- dans la commande d'un robot dans un milieu inconnu ou hostile.
Chapitre 1
INTELLIGENCE ARTIFICIELLE
2- Historique
Historiquement, l'idée d'intelligence artificielle semble émerger dans les années 1950
quand Alan Turing se demande si une machine peut penser. Dans l'article « Computing
Machinery and Intelligence » (Mind, octobre 1950), Turing explore ce problème et
propose une expérience (maintenant dite test de Turing) visant à trouver à partir de
quand une machine deviendrait « consciente ».
Une autre origine probable est la publication, en 1949, par Warren Weaver d'un
mémorandum sur la traduction automatique des langues qui suggère qu'une machine
puisse faire une tâche qui relève typiquement de l'intelligence humaine.
Vers 2015, le secteur de l'intelligence artificielle cherche à relever quatre défis : la
perception visuelle, la compréhension du langage naturel écrit ou parlé, l'analyse
automatique du langage et la prise de décision autonome26. Produire et organiser des
données nombreuses et de qualité, c'est-à-dire corrélées, complètes, qualifiées
(sourcées, datées, géoréférencées…), historisées est un autre enjeu. La capacité
déductive et de généralisation pertinente d'un ordinateur, à partir de peu de données ou
d'un faible nombre d'évènements, est un autre objectif, plus lointain26.
Entre 2010 et 2016, les investissements auraient été décuplés, atteignant une dizaine de
milliards de dollars en 201627.
Chapitre 1
INTELLIGENCE ARTIFICIELLE
2- Historique
L’évolution de la puissance de calcul des calculateurs a facilité plusieurs avancées:
- Dans les années 1980, l'apprentissage automatique se développe, notamment avec la
renaissance du connexionnisme. L'ordinateur commence à déduire des « règles à
suivre » en analysant seulement des données ; Parallèlement, des algorithmes «
apprenants » sont créés qui préfigurent les futurs réseaux de neurones,
l'apprentissage par renforcement, les machines à vecteurs de support, etc.). Ceci
permet par exemple en mai 1997 à l’ordinateur Deep Blue de battre Garry Kasparov
au jeu d'échecs lors d'un match revanche de six parties ;
- L'intelligence artificielle devient un domaine de recherche international, marquée par
une conférence au Dartmouth College à l’été 1956 à laquelle assistaient ceux qui vont
marquer la discipline ;
- Dans les années 2000, le Web 2.0, le big data et de nouvelles puissances et
infrastructures de calcul permettent à certains ordinateurs d'explorer des masses de
données sans précédent ; c'est l'apprentissage profond (« deep learning »), dont l'un
des pionniers est le français Yann Le Cun24.
Chapitre 1
INTELLIGENCE ARTIFICIELLE
2- Historique
• Le 27/1/2010, l'US Air Force appelle au développement d’une intelligence avancée de
collecte d'information avec une capacité de décision rapide (IA, raisonnement
ontologique et procédures informatiques basées sur la connaissance, ainsi que d'autres
traitements de données avancés) pour aider les forces américaines pour attaquer ses
ennemis rapidement à leurs points les plus vulnérables. Actuellement, des bombardiers
et chasseurs F-22 et F-35 de dernière génération commencent à être équipés de sorte
que, d’ici 2040, tous les avions de guerre américains soient pilotés par IA, en plus de
10000 véhicules terrestres et 7000 dispositifs aériens commandés à distance.
• Le 16/2/2011, Watson, le superordinateur conçu par IBM, remporte deux des trois
manches du jeu télévisé Jeopardy! en battant largement ses deux concurrents humains
en gains cumulés. Pour cette IA, la performance a résidé dans le fait de répondre à des
questions de culture générale (plusieurs domaines) dans des délais très courts.
• En mai 2013, Google ouvre un laboratoire de recherches dans les locaux de la NASA.
Grâce à un super calculateur quantique conçu par D-Wave Systems et qui serait d'après
cette société 11000 fois plus performant qu'un ordinateur actuel (de 2013), ils espèrent
ainsi faire progresser l'intelligence artificielle, notamment l'apprentissage automatique.
Raymond Kurzweil est engagé en décembre 2012 par Google afin de participer et
d'améliorer l'apprentissage automatique des machines et des IAs.
Chapitre 1
INTELLIGENCE ARTIFICIELLE
2- Historique
• Entre 2014 et 2015, à la suite du développement rapide du deep learning, et à
l'encontre des penseurs transhumanistes, quelques scientifiques et membres de la
communauté high tech craignent que l'intelligence artificielle ne vienne à terme
dépasser les performances de l'intelligence humaine. Parmi eux, l'astrophysicien
britannique Stephen Hawking, le fondateur de Microsoft Bill Gates et le PDG de Tesla
Elon Musk.
• Les géants de l'Internet s'intéressent de plus en plus à l'IA. Le patron de Facebook,
Mark Zuckerberg a créé en 2013 le laboratoire Facebook Artifical Intelligence Research
(FAIR) et ouvert un laboratoire de recherche permanente dans le domaine à Paris.
Apple a de son côté récemment acquis plusieurs start-up du secteur.
• En janvier 2018, des modèles d'intelligence artificielle développés par Microsoft et
Alibaba réussissent chacun de leur côté à battre les humains dans un test de lecture et
de compréhension de l'université Stanford. Le traitement du langage naturel imite la
compréhension humaine des mots et des phrases et permet maintenant aux modèles
d'apprentissage automatique de traiter de grandes quantités d'informations avant de
fournir des réponses précises aux questions qui leur sont posées.
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
• le dialogue automatique : se faire comprendre en lui parlant ;
• la traduction automatique, si possible en temps réel ou très légèrement différé ;
• le traitement automatique du langage naturel ;
• le raisonnement automatique (voir systèmes experts) ;
• le partitionnement et la classification automatique ;
• la composition musicale automatique;
• la reconnaissance de formes, des visages et la vision en général, etc. ;
• l'intégration automatique d’informations provenant de sources hétérogènes, (fusion
de données) ;
• l'émotion artificielle ;
• l'aide aux diagnostics ;
• l'aide à la décision ;
• la résolution de problèmes complexes, tels que l'allocation de ressources ;
• l'assistance dans les tâches dangereuses, ou demandant une grande précision ;
• l'automatisation de tâches.
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications

1- Reconnaissance de formes, 8- Contrôle de l’environnement,


2- Contrôle non destructif, 9- Robotique,
3- Filtrage d’informations textuelles, 10- Interprétation de spectres,
4- Bio-ingénierie, 11- Classification d’images satellitaires,
5- Formulation de matériaux nouveaux, 12- Classification de signaux de sonar,
6- Commande de processus, etc.
7- Modélisation de procédés industriels,

8
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
Détection précoce du cancer du sein
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
Détection précoce des tumeurs cérébraux
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
Estimation de la durée de vie restante (RUL)
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
Natural langage processing
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
Traduction automatique
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
Battle of Survival, un jeu de stratégie en temps réel en 2D. Scène de
combat entre l'équipe bleue et l'équipe rouge.
Chapitre 1
INTELLIGENCE ARTIFICIELLE
3- Applications
FIFA Mobile
Chapitre 1
INTELLIGENCE ARTIFICIELLE
4- Exemples de l’intelligence artificielle

16
Chapitre 1
INTELLIGENCE ARTIFICIELLE
5- Apprentissage automatique
L’apprentissage automatique (Machine learning) est une forme de l’intelligence
artificielle permettant aux ordinateurs d’améliorer leurs performances sur une
tâche spécifique en se servant de données sans aucune nécessité de
programmation directe à cet effet.

17
Chapitre 1
INTELLIGENCE ARTIFICIELLE
5- Apprentissage automatique
Apprentissage supervisé Apprentissage non supervisé
Existence d’une base de données L’apprentissage se fait de façon totalement
d’apprentissage. autonome.
Pourcentage dominant des réseaux de Des données sont communiquées à la
neurones que ce soit en recherche ou machine sans lui fournir les exemples de
dans les applications réelles. résultats attendus en sortie.
Propriété fondamentale : Approximation Principalement utilisé dans le regroupement
non linéaire parcimonieuse  RNAs sont de données hétérogènes sous forme de
d’excellents outils de modélisation non sous-groupes homogènes ou liés par des
linéaire par apprentissage. caractéristiques communes.

Apprentissage par renforcement (Reinforcement learning)


Il repose sur un système de récompenses et de pénalités pour permettre à l’ordinateur
d’apprendre à résoudre un problème de manière autonome. Plutôt que d’inspecter les
données qui lui sont fournies, le modèle interagit avec l’environnement et cherche des
solutions pour maximiser ses récompense,
18
Chapitre 1
INTELLIGENCE ARTIFICIELLE
5- Apprentissage automatique
Nouveaux domaines de recherche
XAI

19
Chapitre 1
INTELLIGENCE ARTIFICIELLE
5- Apprentissage automatique
Nouveaux domaines de recherche
Méthodes probabilistes d’apprentissage automatique

20
Chapitre 1
INTELLIGENCE ARTIFICIELLE
5- Apprentissage automatique
Nouveaux domaines de recherche
TinyML

21
Chapitre 1

ARCHITECTURES DES RNAs


1- Réseaux de Neurones Artificiels (RNA)

1- Modèles pilotés par les données,


2- Conception inspirée du fonctionnement des neurones biologiques,
3- Capables de s'adapter à n'importe quel système tant qu’ils contiennent un
nombre suffisant de neurones et de couches cachées.

Base de données
Exemples affectés de
résultats

22
Chapitre 2
ARCHITECTURES DES RNAs
2- Inspiration de la biologie

23
Chapitre 1
ARCHITECTURES DES RNAs
3- RNAs bouclés et non bouclés
Réseaux de Neurones
Artificiels (RNAs)

RNAs non bouclés RNAs bouclés


Ce sont des RNAs statiques. Ce sont des RNAs dynamiques
Ces RNAs réalisent des fonctions non Ces RNAs réalisent des équations aux
linéaires. différences non linéaires.
Le temps ne joue aucun rôle La sortie du système dépend du temps

24
Chapitre 1
ARCHITECTURES DES RNAs
4- Neurone formel
Définition
Un neurone formel (artificiel) est une représentation mathématique et informatique d’un
neurone biologique. Le neurone formel possède généralement plusieurs entrées et une
sortie qui correspondent respectivement aux dendrites et à l’axone du neurones
biologique.

Différents types de paramétrage


Poids synaptiques
x1 1 x1
w1
x2 w0 x2
w2 x3
x3 w3 y
y x4 fg(c1…cn,
 fs
x4 w4
. 1…n)
. .
. .
.
wn fig. 1.1. Neurone formel fig. 1.2. Neurone formel
Perceptron simple xn Neurone à base radiale
xn
(Paramètres reliés aux entrées, f fixe) (Paramètres reliés à la fonction d’activation)
25
Chapitre 1
ARCHITECTURES DES RNAs
4- Neurone formel
x1 1 x1
w1
x2 w0 x2
w2 x3
x3 w3 y
y x4 fg(c1…cn,
 fs
x4 w4
. 1…n)
. .
. .
.
wn fig. 1.1. Neurone formel fig. 1.2. Neurone formel
Perceptron simple xn Neurone à base radiale
xn
(Paramètres reliés aux entrées, f fixe) (Paramètres reliés à la fonction d’activation)

𝒏
𝒏 𝟐
𝒚 = 𝒇𝒔 𝒘𝟎 + 𝒘𝒊 𝒙𝒊 𝒙 𝒋 − 𝒄𝒋
𝒚 = 𝒇𝒈 𝒙 = 𝒆𝒙𝒑 −
𝒊=𝟏 𝝈𝒋 𝟐
𝒋=𝟏
𝟏
𝒇𝒔 𝒖 = 𝟏+𝒆−𝒄𝒖 Sigmoïde Gaussiènne

𝒆𝒖 −𝒆−𝒖
𝒇𝒔 𝒖 = tangente hyperbolique
𝒆𝒖 +𝒆−𝒖
26
Chapitre 1
ARCHITECTURES DES RNAs
4- Neurone formel
Neurone formel Neurone formel
(Paramètres reliés aux entrées, f fixe) (Paramètres reliés à la fonction d’activation)
𝒏 𝒏 𝟐
𝒚 = 𝒇𝒔 𝒘𝟎 + 𝒘𝒊 𝒙𝒊 𝒙 𝒋 − 𝒄𝒋
𝒚 = 𝒇𝒈 𝒙 = 𝒆𝒙𝒑 −
𝒊=𝟏 𝝈𝒋 𝟐
𝒋=𝟏
𝟏 fg: Gaussiènne
𝒇𝒔 𝒖 = 𝟏+𝒆−𝒄𝒖 Sigmoïde

La fonction d’activation fs est généralement la La non-linéarité (fg) est locale et sa zone


sigmoïde (fonction en forme de s), symétrique d’influence est limitée dans l’espace : Elle
par rapport à l’origine comme la fonction arc- tend vers zéro dans toutes les directions
tangente ou la tangente hyperbolique de l’espace des entrées.

27
Chapitre 1
ARCHITECTURES DES RNAs
5- Réseaux de Neurones Artificiels (RNAs)
Du neurone formel vers le RNA: Le neurone formel est l'unité élémentaire des RNAs dans
lesquels il est associé à ses semblables pour calculer des fonctions arbitrairement
complexes, utilisées pour diverses applications en intelligence artificielle. L’intérêt des
neurones réside dans les propriétés qui résultent de leur association en réseaux, c’est-à-
dire de la composition des fonctions non linéaires réalisées par chacun des neurones.
Définition : Un RNA est une association de neurones formels de manière à pouvoir
réaliser par apprentissage différentes fonctions de l’intelligence artificielle
essentiellement de classification et de régression

Neurone artificiel Réseau de neurones 28


Chapitre 1
ARCHITECTURES DES RNAs
5- Réseaux de neurones artificiels
Une grande variété de topologies des RNAs a été proposée dans la littérature. Nous
citons essentiellement:
- les perceptrons multicouche (MLPs : Multilayer Perceptrons),
- les réseaux à fonction de base radiale (RBFs : Radial Basis Function Neural Networks),
- les cartes de Kohonen,
- les réseaux de Hopfield,
- les SVMs (Support Vector Machines),
- Les réseaux de neurones profonds (Deep Neural Networks)
- …

Réseau de
Hopfield

29
Chapitre 1
ARCHITECTURES DES RNAs
6- Réseaux de neurones non bouclés

1- Un réseau de neurones non bouclé est un système statique qui réalise une (ou
plusieurs) fonctions de ses entrées, par composition des fonctions réalisées par chacun
des neurones.
2- Un réseau de neurones non bouclé est représenté graphiquement par un ensemble de
neurones connectés entre eux, l’information circulant depuis les entrées vers les sorties
sans retour en arrière.

Neurone artificiel Réseau de neurones 30


Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-1- Perceptron multicouche (MLP)

W 1 , b1 W2 , b2 W3 , b3
1=u0 1=0 1=z0

u1  z y y1
 fs  fs  fs

u2 y2
 fs  fs  fs

. . . .

. . . .

un .f .f .f ym
.  s  s  s

1ère couche cachée 2ème couche cachée Couche de sortie

Les entrées 31
Figure 2. Architecture du perceptron multicouche
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-1- Perceptron multicouche (MLP)
L’apprentissage d’un MLP est une opération d’ajustement de courbes
dans un espace multidimensionnel

Idée de base :
1- Créer, au début et de manière aléatoire, une surface suffisamment complexe et
paramétrée dans un espace multidimensionnel,
2- Passer ensuite à une phase de déformation de cette surface en ajustant les
paramètres de manière à diminuer l’écart entre cette surface et celle recherchée.
L’ajustement de cette surface se poursuit jusqu’à l’obtention d’un niveau de
ressemblance suffisant avec la fonction désirée.

N.B. La couche de sortie pourrait être :


1- linéaire, dans ce cas, le neurone de sortie ne fait que la somme des sorties des différents
neurones de la dernière couche cachée chacune affectée de son poids synaptique.
2- non linéaire, dans ce cas, on applique la fonction d’activation sigmoïde à la sortie linéaire.

32
Chapitre 1
ARCHITECTURES DES RNAs
6- Réseaux de neurones non bouclés
3-1- Perceptron multicouche (MLP)
L’apprentissage d’un MLP est une opération d’ajustement de courbes
dans un espace multidimensionnel

33
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-1- Perceptron multicouche (MLP)
Cas particulier : MLP à une couche cachée et un neurone de sortie linéaire
NC neurones
1=u0
cachés
bc1 1
u1 W11
W12  fs bo
WO1
u2
2
 fs WO2
y
. 
. .
. .
.
bcNC
WNC2 WONC
NC
un WNCn  fs

𝑁𝐶 𝑛

𝑦 = 𝑏𝑜 + 𝑊𝑂𝑖 ∗ 𝑓𝑠 𝑊𝑖𝑗 𝑢𝑗 + 𝑏𝑐𝑖


𝑖=1 𝑗=1 34
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-2- RBF: Réseau de neurones à fonction de base radiale
(Radial Basis Function Neural Network)
(𝑥−𝑐)2

𝑓(𝑥) = 𝑒 𝜎2

35
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-2- RBF: Réseau de neurones à fonction de base radiale
(Radial Basis Function Neural Network)
1- les paramètres sont attachés à la fonction d’activation (les centres et les ouvertures
des gaussiennes) et non pas aux poids des entrées comme le cas des perceptrons.
2- La sortie du réseau est une somme pondérée des sorties des différents neurones
Lorsque les fonctions radiales sont spécifiées, les seuls paramètres du réseau qui
restent à ajuster sont les poids wi. Puisque la sortie y dépend linéairement de ces poids
donc l’erreur sur la sortie est une fonction quadratique de ces paramètres. Ces derniers
peuvent être ajustés en utilisant des outils d’optimisation linéaires.

Ces réseaux ont été appliqués avec succès dans la résolution de problèmes de régression
et de classification de données dans plusieurs domaines comme :
- le traitement de signal,
- l’identification de systèmes,
- le contrôle,
- le diagnostic,
36
- ...
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-2- RBF: Réseau de neurones à fonction de base radiale
(Radial Basis Function Neural Network)
Cas particulier : RBF à un seul neurone de sortie
u1 a1 1
fg(c1,1,u) w1
w0

u2 fg(c2,2,u) a2
w2
 y

un fg(cN,N,u) aN
wN

𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
37
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-3- Autres architectures
Réseau à une seule couche cachée et termes directs
1=u0 NC neurones
cachés
bc1
u1 1
W11
 fs bo
W12 WO1
u2
WL1
2
 y
fs WO2 
.
. .
. .
. WLn
bcNC
WNC2 WONC
NC
un  fs
WNCn

C’est une extension du réseau à couche qui sert lorsque la relation entre les entrées et les
sorties présente une importante composante linéaire. On ajoute, à la structure de réseau à
couches, des termes linéaires appelés termes directs représentés par des connexions
38
directes entre les entrées et le neurone de sortie
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-3- Autres architectures
Réseau à une seule couche cachée et termes directs
NC neurones
1=u0
cachés
bc1
u1 1
W11
 fs bo
W12 WO1
u2
WL1
2
 y
fs WO2 
.
. .
. .
. WLn
bcNC
WNC2 WONC
NC
un  fs
WNCn

39
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-3- Autres architectures
Architecture en cascade

 Lorsqu’un nouveau nœud est créé, il est connecté à toutes les entrées, à toutes les
sorties et à tous les autres nœuds du réseau.
 Chaque nœud constitue à lui seul une couche cachée.
 Les nœuds sont généralement activés par des fonctions simples comme la sigmoïde.
 La mise en cascade des nœuds crée à partir des fonctions simples, des fonctions riches
et diversifiées capables de modeler différentes formes compliquées.
40
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-3- Autres architectures
Architecture en cascade

 Avantage  Création de détecteurs de caractéristiques de haute qualité


 Défauts  Nombre de connexions pour le nème nœud croit en O(n) et cause deux
problèmes majeurs :
 la généralisation du réseau est dégradée lorsque n devient grand puisque plus de
paramètres du réseau peuvent être sans rapport avec l’estimation de la sortie.
 le temps de propagation des données devient assez long et le nombre des entrées
des nœuds croit avec l’ajout des neurones  Intégration VLSI plus difficile. 41
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
 Exercice 1: Approximation par MLP de la fonction f/f(x,y)=x²+y²
On se propose de modéliser la fonction à 2 entrées et une sortie f/f(x,y)=x²+y² à l’aide d’un
perceptron à une seule couche cachée contenant deux neurones. La couche de sortie est
linéaire. La fonction d’activation des neurones cachées est la sigmoïde définie comme suit:
𝟏
𝒇𝒔 𝒖 =
𝟏 + 𝒆−𝒄𝒖
NC neurones
1=u0
cachés
bc1 1
u1 W11
W12  fs bo
WO1
u2
2
 fs WO2
y
. 
. .
. .
.
bcNC
WNC2 WONC
NC
un WNCn  fs 42
Chapitre 1
ARCHITECTURES DES RNAs
2- Réseaux de neurones non bouclés
3-4- Exercices
 Exercice 1: Approximation par MLP de la fonction f/f(x,y)=x²+y²
On se propose de modéliser la fonction à 2 entrées et une sortie f/f(x,y)=x²+y² à l’aide d’un
perceptron à une seule couche cachée contenant deux neurones. La couche de sortie est
linéaire. La fonction d’activation des neurones cachées est la sigmoïde définie comme suit:
𝟏
𝒇𝒔 𝒖 =
𝟏 + 𝒆−𝒄𝒖
(𝟏) (𝟏)
𝑾 𝟏𝟏 𝑾 𝟐𝟏
c est fixée à 1. La matrice des poids de la couche cachée est 𝑾(𝟏) = (𝟏) (𝟏)
,
𝑾𝟏𝟐 𝑾𝟐𝟐
(𝟐) (𝟐)
Le vecteur des poids de la couche de sortie est 𝑾(𝟐) = 𝑾𝟏 𝑾𝟐
(𝟏) (𝟏)
Le vecteur des biais de la couche cachée est 𝒃(𝟏) = 𝒃𝟏 𝒃𝟐
Le biais du neurone de sortie est 𝒃(𝟐) .
1- Représentez le réseau de neurones.
2- Une initialisation aléatoire des poids et biais a donné les valeurs suivantes :
𝟏 𝟐
𝑾(𝟏) = , 𝑾(𝟐) = 𝟐 𝟐 , 𝒃(𝟏) = −𝟎, 𝟓 𝟏 et 𝒃(𝟐) = 𝟏
𝟎, 𝟓 −𝟑
𝟏 43
Calculer la sortie réelle et la sortie désirée correspondant au vecteur d’entrée 𝑼 = ,
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
 Exercice 1: Approximation par MLP de la fonction f/f(x,y)=x²+y²
1 2
𝑾𝟏 = , 𝑾𝟐 = 2 2 , 𝒃𝟏 = 0,5 1 et 𝒃𝟐 = 1
0,5 3

3- Faites un ajustement du biais de la couche de sortie d’un taux de 0.1 de manière à


1
rapprocher la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelle est alors la
1
nouvelle valeur du biais ? Et quelle est la nouvelle sortie réelle?

4- Faites un ajustement des poids de la couche de sortie d’un taux de 0.1 de manière à
1
rapprocher la sortie réelle du vecteur 𝑼 = de sa sortie désirée. Quelles sont alors les
1
nouvelles valeurs des poids de sortie? Et quelle est la nouvelle sortie réelle?

5- Faites un ajustement des biais de la couche cachée d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = de sa sortie désirée. Quelles sont
1
alors les nouvelles valeurs de biais? Et quelle est la nouvelle sortie réelle?
44
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
 Exercice 1: Approximation par MLP de la fonction f/f(x,y)=x²+y²

1 2
𝑾𝟏 = , 𝑊 2 = 2 2 , 𝑏1 = 0,5 1 et 𝑏2 = 1
0,5 3

6- Faites un ajustement des poids de la couche cachée d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont
1
alors les nouvelles valeurs des poids ? Et quelle est la nouvelle sortie réelle?

−5
7- Reprendre ces étapes en considérant maintenant le vecteur 𝑼 = .
5

8- Vérifiez avec les nouveaux poids si les sorties du RNA relatives au vecteur d’entrée
1
𝑼= se sont améliorées ou détériorées.
1

45
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
 Exercice 2: Approximation par RBF de la fonction f/f(x,y)=x²+y²
On continue avec le problème d’approximation de la fonction à 2 entrées et une sortie
f/f(x,y)=x²+y² mais cette fois à l’aide d’un RBF contenant deux neurones dans sa couche
cachée. La fonction d’activation des neurones cachées est la gaussienne définie comme
𝒙−𝒄 𝟐

suit: f(𝒙) = 𝒆 𝝈𝟐

𝑐11 𝑐21
La matrice des centres des fonctions d’activation gaussiennes est 𝒄 = 𝑐 𝑐22 ,
12

𝜎11 𝜎21
La matrice des ouvertures des fonctions d’activation gaussiennes est 𝝈 = 𝜎 𝜎22 ,
12

Le vecteur des poids de la couche de sortie est 𝑊 = 𝑊1 𝑊2


Le biais du neurone de sortie est b.
1- Représentez le réseau de neurones.

46
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
 Exercice 2: Approximation par RBF de la fonction f/f(x,y)=x²+y²
2- Une initialisation aléatoire des centres et des ouvertures des gaussiennes et des poids
et biais a donné les valeurs suivantes :
1 2 1,2 1,5
𝒄= ,𝝈= , 𝑊 = 1.2 2 et 𝑏 = 0,7 .
0,5 3 0,75 2
1
Calculer les sorties réelles et désirées du vecteur 𝑼 = ,
1 𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
3- Faites un ajustement du biais de la couche de sortie d’un taux de 0.1 de manière à
1
rapprocher la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelle est alors la
1
nouvelle valeur du biais? Quelle est la nouvelle sortie réelle?

4- Faites un ajustement des poids de la couche de sortie d’un taux de 0.1 de manière à
1
rapprocher la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont alors les
1
nouvelles valeurs de poids et biais? Quelle est la nouvelle sortie réelle? 47
Chapitre 1
ARCHITECTURES DES RNAs
3- Réseaux de neurones non bouclés
3-4- Exercices
 Exercice 2: Approximation par RBF de la fonction f/f(x,y)=x²+y²
1 2 0,5 0,5
𝒄= ,𝝈= , 𝑊 = 2 2 et 𝑏 = 1 .
0,5 3 0,5 0,5

5- Faites un ajustement des centres des gaussiennes d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont
1
alors les nouvelles positions des centres des gaussiennes ? Quelle est la nouvelle sortie
réelle?
6- Faites un ajustement des ouvertures des gaussiennes d’un taux de 0.1 de manière à
1
rapprocher encore la sortie réelle du vecteur 𝑼 = , de sa sortie désirée. Quelles sont
1
alors les nouvelles ouvertures des gaussiennes ? Quelle est la nouvelle sortie réelle?
−5
7- Reprendre ces étapes en considérant maintenant le vecteur 𝑼 = .
5
8- Vérifiez avec les nouveaux poids, biais et paramètres des fonctions d’activation si les
1
sorties du RNA relatives au vecteur d’entrée 𝑼 = se sont améliorées ou détériorées.48
1
Chapitre 1

ARCHITECTURES DES RNAs


4- Réseaux de neurones bouclés
4-1- Paramètre temps
 Le temps ne joue aucun rôle fonctionnel dans un réseau de neurones non bouclé : Si
les entrées sont constantes, les sorties le sont également  Les réseaux non bouclés
sont souvent appelés ‘Réseaux statiques’.
 Les réseaux bouclés sont plutôt dynamiques. La notion de temps est explicitement
prise en considération. On affecte aux connexions des poids comme les réseaux non
bouclés mais aussi éventuellement des retards.
 Les réseaux de neurones non bouclés, statiques, réalisent des fonctions non linéaires
alors que les réseaux de neurones bouclés, dynamiques, réalisent des équations aux
différences non linéaires.

49
Chapitre 1
ARCHITECTURES DES RNAs
4- Réseaux de neurones bouclés
4-2- Forme canonique d’un RNA bouclé
Dans sa forme canonique, un RNA bouclé est formé d’un RNA non bouclé dont les sorties
d’état sont ramenées à ses entrées par des bouclages de retard unité représenté par q-1

Variables d’état : Variables, en


nombre minimal, telles que
l’on peut calculer leurs valeurs
à l’instant (k+1)T si l’on
connaît leurs valeurs initiales
et si l’on connaît les valeurs
des entrées à tout instant
compris entre 0 et kT. Le
nombre de variables d’état est
appelé ordre du système.

Tout réseau de neurones bouclé, aussi complexe soit-il, peut être mis sous une forme
canonique (RNA non bouclé dont les sorties d’état sont ramenées aux entrées avec retard
unité). Ainsi, conformément à la figure ci-dessus, la forme canonique d’un RNA bouclé est
formulée comme suit: 𝒙 𝒌 = 𝝓 𝒙 𝒌 − 𝟏 , 𝒖(𝒌 − 𝟏)
𝒈 𝒌 = 𝚿 𝒙 𝒌 − 𝟏 , 𝒖(𝒌 − 𝟏) 50
Chapitre 1

ARCHITECTURES DES RNAs


4- Réseaux de neurones bouclés
4-3- Caractéristiques d’un RNA bouclé
 Le graphe des connexions est alors, dans le cas des RNAs bouclés, cyclique : Lorsqu’on
se déplace dans le réseau en suivant le sens des connexions, on trouve au moins un
chemin qui revient à son point de départ. On parle dans ce cas d’un cycle.
N.B. La sortie d’un neurone du réseau peut donc être fonction d’elle-même : Une
grandeur, à un instant donné, ne pouvant pas être fonction de sa propre valeur au même
instant, tout cycle du graphe du réseau doit contenir au moins un retard non nul.
 Existence dans le cycle du graphe des connexions du RNA d’au moins une connexion
de retard non nul  Il s’agit d’un réseau de neurones bouclé  Ce graphe peut être
transformé à celui d’un RNA bouclé sous sa forme canonique.
 Côté formulation, un réseau de neurones bouclé à temps discret réalise une (ou
plusieurs) équations aux différences non linéaires, par composition des fonctions
réalisées par chacun des neurones et des retards associés à chacune des connexions.

51
Chapitre 1
ARCHITECTURES DES RNAs
4- Réseaux de neurones bouclés
4-4- Exercice
 Exercice 3: On considère le
RNA bouclé ci-contre.

N.B. Les chiffres dans les carrés indiquent le retard attaché à chaque connexion, exprimé en multiple
de l’unité de temps (ou période d’échantillonnage) T.
1- Prouvez qu’il s’agit bien d’un RNA bouclé.
2- Quel est l’ordre de cet RNA ?
3- Donnez la représentation canonique de cet RNA bouclé.
52
Chapitre 1
ARCHITECTURES DES RNAs
4- Réseaux de neurones bouclés
4-4- Exercice
Solution :
1- Ce réseau contient un cycle, qui part du neurone 3, passe par le neurone 4 et revient au neurone 3.
Aussi, la connexion de 4 vers 3 contient un retard d’une unité de temps. Ce RNA est alors bouclé.
2- Ce réseau est du 1er ordre puisqu’il présente une seule variable d’état qui est la sortie du neurone 3.
N.B. Dans cet exemple, ce neurone est un neurone caché, mais, un neurone d’état peut aussi être un
neurone de sortie.
3- La forme canonique de ce RNA bouclé est donnée dans la figure ci-dessous.

RNA non bouclé

Forme canonique du RNA bouclé 53


Chapitre 1
ARCHITECTURES DES RNAs
4- Réseaux de neurones bouclés
4-4- Exercice
RNA non bouclé

Forme canonique du RNA bouclé RNA bouclé

Pour prouver que la forme canonique correspond bien au RNA bouclé, à l’instant kT dans les deux
représentations :
- le neurone 4 reçoit en entrée u2[(k–1)T] et (x[(k–1)T]=y3[(k–1)T]) et calcule y4[(k–1)T] ;
- le neurone 3 reçoit en entrée u1(kT), u2[(k–1)T] et y4[(k–1)T] et calcule y3(kT) ;
- le neurone 5 reçoit en entrée y3(kT), u1(kT) et y4[(k–1)T] et calcule la sortie du RNA g(kT).
Les deux réseaux sont ainsi bien équivalents fonctionnellement. 54
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
1- Principe

Apprentissage supervisé = Ajustement des paramètres du réseau, suite à la présentation


de chaque exemple d’une base d’apprentissage, de façon à diminuer l’écart entre les
résultats obtenus et les résultats attendus.
La marge d’erreur se réduit ainsi au fil des entraînements tout en garantissant la capacité
de généraliser l’apprentissage à de nouveaux cas.

W1 , b1 W2 , b2 W3 , b3
1= 0 1=z0
1=u0

 y

Base de données u1
 fs  fs
z
 fs
y1

u2 y2
 fs  fs  fs
Exemples affectés de
. . . .
résultats . . . .

. . . . ym
un 
 fs  fs fs

55
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs

1- Principe

L’apprentissage est dit supervisé :


Un professeur fournit au réseau des exemples pour lui montrer comment faire. On montre
au réseau, en un ensemble de points, les valeurs que doit avoir la sortie du réseau en
fonction des entrées correspondantes.

3 tâches peuvent être réalisées par un RNA :


1- Approximation de fonction : Réaliser une fonction algébrique non linéaire connue
analytiquement.
2- Régression (modélisation statique): Réaliser une fonction algébrique non linéaire
inconnue analytiquement, mais pour laquelle on dispose d’un ensemble de valeurs
pouvant être entachées de bruit si ces valeurs résultent de mesures effectuées sur un
processus physique, chimique, économique, biologique, etc.
3- Classification : Regroupement des exemples en des sous-ensembles prédéfinies.

56
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
• Soient {yi(n)} et {si(n)}, respectivement l’ensemble des sorties observées et l’ensemble
des sorties espérées lors de la présentation du nème exemple. Ce que l’on cherche à
minimiser est l’erreur quadratique observée sur cet exemple:
𝒏_𝒔𝒐𝒓𝒕𝒊𝒆𝒔

𝑸 𝒏 = 𝒚𝒊 𝒏 − 𝒔𝒊 (𝒏) 𝟐

𝒊=𝟏

W1 , b1 W2 , b2 W3 , b3
1= 0 1=z0
1=u0

 y

Base de données u1
 fs  fs
z
 fs
y1

u2 y2
 fs  fs  fs
Exemples affectés de
. . . .
résultats . . . .

. . . . ym
un
 fs  fs  fs 57
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
• On minimise cette erreur par la méthode du gradient, c’est à dire en faisant évoluer les
poids wij dans la direction indiquée par le gradient de Q suite à la présentation du nème
vecteur de la base d’apprentissage. Ainsi :
𝝏𝑸
∆𝒘𝒊𝒋 𝒏 = −𝜼( )
𝝏𝒘𝒊𝒋
où  ϵ ]0.1[ est le coefficient d’ajustement des poids synaptiques et wij est le poids de
la connexion qui part du nœud j d’une couche vers le nœud i de la couche suivante.
Ceci donne ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
Avec aj est la sortie du nœud j et :
 pour un neurone i de la couche de sortie :
𝜹𝒊 = 𝒇′ (𝒆𝒊 )(𝒚𝒊 − 𝒔𝒊 ), ei étant l’entrée de la fonction d’activation f du neurone de sortie i
 et pour un neurone i d’une couche cachée :
𝒏𝒏𝒐𝒆𝒖𝒅𝒔

𝜹𝒊 = 𝒇′ (𝒆𝒊 ) 𝜹𝒌 𝒘𝒌𝒊 ei étant l’entrée de la fonction d’activation f du neurone caché i


𝒌=𝟏 58
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
 Exercice 4: Régression par MLP
On se propose de réaliser un modèle neuronal d’un système industriel à deux entrées et
𝟏
une sortie. La base d’apprentissage ne contient que cinq vecteurs: 𝐮 𝟏 = , 𝐮 𝟐 =
𝟏
𝟏 −𝟏 −𝟏 𝟎
, 𝐮(𝟑) = ,𝐮 𝟒 = 𝐞𝐭 𝐮 𝟓 = . 𝐋𝐞𝐬 𝐬𝐨𝐫𝐭𝐢𝐞𝐬 respectives 𝐫𝐞𝐥𝐚𝐭𝐢ve𝐬 à 𝐜𝐞𝐬
−𝟏 𝟏 −𝟏 𝟎
𝐯𝐞𝐜𝐭𝐞u𝐫𝐬 sont 𝐬 𝟏 = 𝟏, 𝐬 𝟐 = 𝟐, 𝐬 𝟑 = −𝟏, 𝐬 𝟒 = −𝟎, 𝟓 et 𝐬 𝟓 = 𝟎. Il s’agit alors
d’une régression. Le réseau de neurones est du type MLP à une seule couche cachée
contenant deux neurones cachés. La fonction d’activation des neurones cachés est la
𝟏
sigmoïde définie comme suit: 𝒇 𝒖 =
𝟏+𝒆−𝒄𝒖
c est fixée à 1. La couche de sortie est linéaire.
(𝟏) (𝟏)
𝑾𝟏𝟏 𝑾𝟏𝟐
La matrice des poids de la couche cachée est 𝑾(𝟏) = (𝟏) (𝟏)
,
𝑾𝟐𝟏 𝑾𝟐𝟐
(𝟐) (𝟐)
Le vecteur des poids de la couche de sortie est 𝑾(𝟐) = 𝑾𝟏 𝑾𝟐
(𝟏)
𝒃𝟏
Le vecteur des biais de la couche cachée est 𝒃(𝟏) = (𝟏)
𝒃𝟐
Le biais du neurone de sortie est 𝒃(𝟐) . 59
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.

Exercice 4: Régression par MLP


On se propose d’appliquer l’algorithme de la rétropropagation de l’erreur dans
l’apprentissage de ce réseau de neurones avec un taux 𝜼=0,4.
1- Représentez le réseau de neurones.
2- Prouver que fs’= fs(1- fs).
On suppose que l’initialisation aléatoire des poids et biais a donné les valeurs suivantes :
𝟏 𝟐
𝑾(𝟏) = , 𝑾(𝟐) = 𝟐 −𝟏 , 𝒃(𝟏) = 𝟎, 𝟓 𝟏 et 𝒃(𝟐) = −𝟏
𝟎, 𝟓 𝟑
3- Donnez dans un tableau la sortie réelle et la sortie désirée correspondant à chacun des
vecteurs de la base d’apprentissage.
4- Calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬 𝟎 .
𝟓

𝑬 𝟎 = 𝑸(𝒑)
𝒑=𝟏
60
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
Exercice 4: Régression par MLP
5- Dans le premier cycle d’apprentissage, les vecteurs de la base d’apprentissage sont
présentés dans un ordre aléatoire qui était le suivant: 𝐮 𝟓 , 𝐮 𝟏 , 𝐮(𝟒), 𝐮(𝟐) et 𝐮 𝟑 .
5-1- Calculer, suite à la présentation du vecteur u(5),
 les ajustements apportés aux poids et biais de la couche de sortie,
 les ajustements apportés aux poids et biais de la couche cachée,
 les nouvelles valeurs de 𝑾(𝟐) et de 𝒃(𝟐) .
 les nouvelles valeurs de 𝑾(𝟏) et de 𝒃(𝟏) .
 la nouvelle sortie réelle relative à u(5).
5-2- Calculer, suite à la présentation du vecteur u(1), les ajustements et les nouvelles
valeurs des différents poids et biais. La sortie réelle de u(1) est elle améliorée ? Est-ce que
c’est de même pour u(5)?
5-3- Calculer, suite à la présentation du vecteur u(4), les ajustements et les nouvelles
valeurs des différents poids et biais.
61
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
1=fs’(e11)*w1(2)*s =
b1(1) (0.5) 1
W11(1) (1) fs
e1
u1  a1 b(2) (-1)
W12(1) (2) W1(2) (2) s=
1 es
y
u2 W21(1) (0.5) b2(1) (1)  Id
W2(2) (-1)
a2
W22(1) (3)  e2
fs

2=fs’(e2)*w2(2)*s =
Vecteur e1 a1 e2 a2 yréelle ydésirée Q
𝟏 3,5 0,97 4,5 0,99 -0,05 1 1,1
U(1)=
𝟏
𝟏 -0,5 0,37 -1,5 0,18 -0,44 2 5,95
U(2)=
−𝟏
−𝟏 1,5 0,82 3,5 0,97 -0,33 -1 0,44
U(3)=
𝟏
−𝟏 -2,5 0,075 -2,5 0,075 -0,925 -0,5 0,18
U(4)=
−𝟏
𝟎 0,5 0,62 1 0,73 -0,48 0 0,23
U(5)= 62
𝟎
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
1=fs’(e1)*w (2)
1 1 *s =-0,23
b1(1) (0.5) 1
W11(1) (1) fs
e1
u1  a1 b(2) (-1)
W12(1) (2) W1(2) (2) s=-0,49
1 es
y
u2 W21(1) (0.5) b2(1) (1)  Id
W2(2) (-1)
a2
W22(1) (3)  e2
fs

2=fs’(e2)*w2(2)*s =0,097
Vecteur e1 a1 e2 a2 yréelle ydésirée Q
𝟏 3,5 0,97 4,5 0,99 -0,05 1 1,1
U(1)=
𝟏
𝟏 -0,5 0,37 -1,5 0,18 -0,44 2 5,95
U(2)=
−𝟏
−𝟏 1,5 0,82 3,5 0,97 -0,33 -1 0,44
U(3)=
𝟏
−𝟏 -2,5 0,075 -2,5 0,075 -0,925 -0,5 0,18
U(4)=
−𝟏
𝟎 0,5 0,62 1 0,73 -0,49 0 0,24
U(5)= 63
𝟎
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
1
1 b1(1) (0.5) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-1)
W12(1) (2) W1(2) (2) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1)  es
id
W2(2) (-1)
a2
W22(1) (3)  e2
fs

4) E(0)=1,1+5,95+0,44+0,18+0,24=7,91
 pour un neurone i de la couche de sortie : 𝜹𝒊 = 𝒇′ (𝒆𝒊 )(𝒚𝒊 − 𝒔𝒊 ),
f=id: f(x)=x  f’(x)=1 s=1*(yréel-ydésirée )=-0,49
𝒏𝒏𝒐𝒆𝒖𝒅𝒔
 et pour un neurone i d’une couche cachée : 𝜹𝒊 = 𝒇′ (𝒆𝒊 ) 𝒌=𝟏 𝜹𝒌 𝒘𝒌𝒊
f=fs f’=f(1-f)f’(ei)= fs(ei)*(1-fs(ei))=ai*(1-ai).
1=a1*(1-a1)*s*W1(2) = 0,62*0,38*(-0,49)*2=-0,23
2=a2*(1-a2)*s*W2(2) = 0,73*0,27*(-0,49)*(-1)=0,096
64
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋

APPRENTISSAGE SUPERVISE DES RNAs


2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
1
1 b1(1) (0.5) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-1)
W12(1) (2) W1(2) (2) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1)  es
id
W2(2) (-1)
a2
W22(1) (3)  e2
fs
s=-0,49
1=-0,23 2=0,096
∆𝒘𝟏𝟏 𝟓 = −𝜼𝜹𝟏 𝒖𝟏 = −𝟎, 𝟒 ∗ −𝟎, 𝟐𝟑 ∗ 𝟎 = 𝟎
∆𝒘𝟏𝟏 𝟓 = ∆𝒘𝟏𝟐 𝟓 = ∆𝒘𝟐𝟏 𝟓 = ∆𝒘𝟐𝟐 𝟓 = 𝟎
∆𝒃𝟏 𝟓 = −𝜼𝜹𝟏 = −𝟎, 𝟒 ∗ −𝟎, 𝟐𝟑 =0,092
∆𝒃𝟐 𝟓 = −𝜼𝜹𝟐 = −𝟎, 𝟒 ∗ 𝟎, 𝟎𝟗𝟔 =-0,038
∆𝑾𝟏 𝟓 = −𝜼𝜹𝒔 𝒂𝟏 = −𝟎, 𝟒 ∗ −𝟎, 𝟒𝟗 *0,62=0,12
∆𝑾𝟐 𝟓 = −𝜼𝜹𝒔 𝒂𝟐 = −𝟎, 𝟒 ∗ −𝟎, 𝟒𝟗 *0,73=0,14
∆𝒃(𝟐) 𝟓 = −𝜼𝜹𝒔 = −𝟎, 𝟒 ∗ −𝟎, 𝟒𝟗 =0,19 65
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋

APPRENTISSAGE SUPERVISE DES RNAs


2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-1)
𝟏 𝟐 𝟎 𝟎 𝟏 𝟐
𝑾(𝟏) = + = ,
𝟎, 𝟓 𝟑 𝟎 𝟎 𝟎, 𝟓 𝟑

𝑾(𝟐) = 𝟐 −𝟏 + 𝟎, 𝟏𝟐 𝟎, 𝟏𝟒 = 𝟐, 𝟏𝟐 −𝟎, 𝟖𝟔 ,

𝒃(𝟏) = 𝟎, 𝟓 𝟏 + 𝟎, 𝟎𝟗𝟐 −𝟎, 𝟎𝟑𝟖 = 𝟎, 𝟓𝟗𝟐 𝟎, 𝟗𝟔

𝒃(𝟐) = −𝟏 + 𝟎, 𝟏𝟗 = −𝟎, 𝟖𝟏

1
1 b1(1) (0.592) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-0,81)
W12(1) (2) W1(2) (2,12) s
y
u2 W21(1) (0.5) 2
1
b2(1) (0,96)  es
id
W2(2) (-0,86)
a2
W22(1) (3)  e2
fs

66
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋

APPRENTISSAGE SUPERVISE DES RNAs


2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-2)
1
1 b1(1) (0.59) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-0,81)
W12(1) (2) W1(2) (2,12) s
y
u2 W21(1) (0.5) 2
1
b2(1) (0,96)  es
id
W2(2) (-0,86)
a2
W22(1) (3)  e2
fs

Vecteur e1 a1 e2 a2 yréelle ydésirée Q


𝟏 3,59 0,97 4,46 0,99 0,395 1 0,366
U(1)=
𝟏
𝟏 -0,41 0,4 -1,54 0,18 -0,12 2 4,49
U(2)=
−𝟏
−𝟏 1,59 0,83 3,46 0,97 0,12 -1 1,25
U(3)=
𝟏
−𝟏 -2,41 0,082 -2,54 0,093 -0,7 -0.5 0,04
U(4)=
−𝟏
𝟎 0,592 0,64 0,96 0,72 -0,066 0 0,0043
U(5)= 67
𝟎
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-2)
1
1 b1(1) (0.592) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-0,81)
W12(1) (2) W1(2) (2,12) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1,038)  es
id
W2(2) (-0,86)
a2
W22(1) (3)  e2
fs

 pour un neurone i de la couche de sortie : 𝜹𝒊 = 𝒇′ (𝒆𝒊 )(𝒚𝒊 − 𝒔𝒊 ),


f=id: f(x)=x  f’(x)=1 s=1*(yréel-ydésirée )=1*(0,395-1)=-0,605
𝒏𝒏𝒐𝒆𝒖𝒅𝒔
 et pour un neurone i d’une couche cachée : 𝜹𝒊 = 𝒇′ (𝒆𝒊 ) 𝒌=𝟏 𝜹𝒌 𝒘𝒌𝒊
f=fs f’=f(1-f)f’(ei)= fs(ei)*(1-fs(ei))=ai*(1-ai).
1=a1*(1-a1)*s*W1(2) =0,97*0,03*(-0,605)*2,12=-0,037
2=a2*(1-a2)*s*W2(2) =0,99*0,01*(-0,605)*(-0,86)=0,0051

68
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋

APPRENTISSAGE SUPERVISE DES RNAs


2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-2)
1
1 b1(1) (0.592) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-0,81)
W12(1) (2) W1(2) (2,12) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1,038)  es
id
W2(2) (-0,86)
a2
s=-0,605 W22(1) (3)  e2
fs
1=0,037 2=-0,0051
∆𝒘𝟏𝟏 𝟏 = −𝜼𝜹𝟏 𝒖𝟏 = −𝟎, 𝟒 ∗0,037*1=-0,015
∆𝒘𝟏𝟐 𝟏 = −𝜼𝜹𝟏 𝒖𝟐 = −𝟎, 𝟒 ∗ 𝟎, 𝟎𝟑𝟕 ∗ 𝟏 = −𝟎, 𝟎𝟏𝟓
∆𝒘𝟐𝟏 𝟏 = −𝜼𝜹𝟐 𝒖𝟏 = −𝟎, 𝟒 ∗(-0,0051)*1=0,002
∆𝒘𝟐𝟐 𝟏 = −𝜼𝜹𝟐 𝒖𝟐 = −𝟎, 𝟒 ∗ −𝟎, 𝟎𝟎𝟓𝟏 ∗ 𝟏 = 𝟎, 𝟎𝟎𝟐
∆𝒃𝟏 𝟏 = −𝜼𝜹𝟏 = −𝟎, 𝟒 ∗ 𝟎, 𝟎𝟑𝟕 = −𝟎, 𝟎𝟏𝟓
∆𝒃𝟐 𝟏 = −𝜼𝜹𝟐 = −𝟎, 𝟒 ∗ −𝟎, 𝟎𝟎𝟓𝟏 = 𝟎, 𝟎𝟎𝟐
∆𝑾𝟏 𝟏 = −𝜼𝜹𝒔 𝒂𝟏 = −𝟎, 𝟒 ∗ −𝟎, 𝟔𝟎𝟓 ∗ 𝟎, 𝟗𝟕 = 𝟎,234
∆𝑾𝟐 𝟏 = −𝜼𝜹𝒔 𝒂𝟐 = −𝟎, 𝟒 ∗ −𝟎, 𝟔𝟎𝟓 ∗ 𝟎, 𝟗𝟗 = 𝟎, 𝟐𝟑𝟗
69
∆𝒃(𝟐) 𝟏 = −𝜼𝜹𝒔 = −𝟎, 𝟒 ∗ −𝟎, 𝟔𝟎𝟓 = 𝟎, 𝟐𝟒𝟐
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (5-2)
𝟏 𝟐 −𝟎, 𝟎𝟏𝟓 −𝟎, 𝟎𝟏𝟓 𝟎, 𝟗𝟖𝟓 𝟏, 𝟗𝟖𝟓
𝑾(𝟏) = + = ,
𝟎, 𝟓 𝟑 𝟎, 𝟎𝟎𝟐 𝟎, 𝟎𝟎𝟐 𝟎, 𝟓𝟎𝟐 𝟑, 𝟎𝟎𝟐

𝑾(𝟐) = 𝟐, 𝟏𝟐 −𝟎, 𝟖𝟔 + 𝟎, 𝟐𝟑𝟒 𝟎, 𝟐𝟑𝟗 = 𝟐, 𝟑𝟓𝟒 −𝟎, 𝟔𝟐 ,

𝒃(𝟏) = 𝟎, 𝟓𝟗𝟐 𝟏, 𝟎𝟑𝟖 + −𝟎, 𝟎𝟏𝟓 𝟎, 𝟎𝟎𝟐 = 𝟎, 𝟓𝟕𝟕 𝟏, 𝟎𝟒

𝒃(𝟐) = −𝟎, 𝟖𝟏 + 𝟎, 𝟐𝟒 = −𝟎, 𝟓𝟕


1
1 b1(1) (0.607) 1
W11(1) (1,015)
e1
u1  fs a1 b(2) (-0,564)
W12(1) (2,015) W1(2) (2,35) s
y
u2 W21(1) (0.502) 2
1
b2(1) (0,959)  es
id
W2(2) (-0,62)
a2
W22(1) (3,002)  e2
fs

Vecteur e1 a1 e2 a2 yréelle ydésirée


𝟏 3,637 0,974 4,463 0,988 1,112 1 70
U(1)=
𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.
Exercice 4: Régression par MLP
5-4- Calculer, suite à la présentation du vecteur u(2), les ajustements et les nouvelles
valeurs des différents poids et biais,
5-5- Calculer, suite à la présentation du vecteur u(3), les ajustements et les nouvelles
valeurs des différents poids et biais,
5-6- Calculez la nouvelle valeur de l’erreur d’apprentissage (Erreur quadratique) à la fin du
premier cycle d’apprentissage 𝑬 𝟏 .
5-7- Y’avait-il amélioration?
5-8- Appliquez un deuxième cycle d’apprentissage et calculez E(2).
5-9- Y’avait-il amélioration?

71
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs
Algorithme de Retro propagation de l’erreur: Il cherche le minimum de la fonction erreur
dans l’espace des poids, utilisant la méthode de la descente du gradient.

Exercice 4: Régression par MLP


6- On suppose que la couche de sortie est non linéaire activée par la même fonction fs.
6-1- Calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬 𝟎 .
Dans le premier cycle d’apprentissage, les vecteurs de la base d’apprentissage sont
présentés dans un ordre aléatoire, c’était le suivant: 𝐮 𝟐 , 𝐮 𝟒 , 𝐮(𝟑), 𝐮 𝟓 et 𝐮 𝟏 .
6-2- Calculer, suite à la présentation du vecteur u(2),
 les ajustements apportés aux poids et biais de la couche de sortie,
 les ajustements apportés aux poids et biais de la couche cachée,
 Calculer les nouvelles valeurs de 𝑾(𝟐) et de 𝒃(𝟐) .
 Calculer les nouvelles valeurs de 𝑾(𝟏) et de 𝒃(𝟏) .
6-3- Calculez l’erreur d’apprentissage à la fin du premier cycle d’apprentissage 𝑬 𝟏 .
6-4- Y’avait-il amélioration?
6-5- Appliquez un deuxième cycle d’apprentissage et calculez E(2).
6-6- Y’avait-il amélioration? 72
Chapitre 2 ∆𝒘𝒊𝒋 𝒏 = −𝜼𝜹𝒊 𝒂𝒋

APPRENTISSAGE SUPERVISE DES RNAs


2- Apprentissage des MLPs Exercice 4: Régression par MLP (6)
1
1 b1(1) (0.5) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-1)
W12(1) (2) W1(2) (2) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1)  es
fs
W2(2) (-1)
a2
W22(1) (3)  e2
fs

Vecteur e1 a1 e2 a2 es yréelle ydésirée Q


𝟏 3,5 0,97 4,5 0,99 -0,05 0,49 1 0,26
U(1)=
𝟏
𝟏 -0,5 0,37 -1,5 0,18 -0,44 0,39 2 2,59
U(2)=
−𝟏
−𝟏 1,5 0,82 3,5 0,97 -0,33 0,41 -1 2
U(3)=
𝟏
−𝟏 -2,5 0,075 -2,5 0,075 -0,925 0,28 -0.5 0,6
U(4)=
−𝟏
𝟎 0,5 0,62 1 0,73 -0,49 0,38 0 0,14
U(5)= 73
𝟎
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (6)
1
1 b1(1) (0.5) 1
W11(1) (1)
e1
u1  fs a1 b(2) (-1)
W12(1) (2) W1(2) (2) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1)  es
fs
W2(2) (-1)
a2
W22(1) (3)  e2
fs
6-1) E(0)=5,59
6-2)
 pour un neurone i de la couche de sortie : 𝜹𝒊 = 𝒇′ (𝒆𝒊 )(𝒚𝒓é𝒆𝒍𝒍𝒆_𝒊 −𝒚𝒅é𝒔𝒊𝒓é𝒆_𝒊 ),
f=fs f’(x)=f(x)(1-f(x))  fs’(es)=f s(es)(1-f s(es)) 
s=yréel*(1-yréel)*(yréel-ydésirée)=0,39*(1-0,39)*(0,39-2)=-0,383
𝒏𝒏𝒐𝒆𝒖𝒅𝒔
 et pour un neurone i d’une couche cachée : 𝜹𝒊 = 𝒇′ (𝒆𝒊 ) 𝒌=𝟏 𝜹𝒌 𝒘𝒌𝒊
f=fs f’=f(1-f)f’(ei)= fs(ei)*(1-fs(ei))=ai*(1-ai).
1=a1*(1-a1)*s*W1(2) =0,37*(1-0,37)*(-0,383)*2=-0,178
74
2=a2*(1-a2)*s*W2(2) =0,18*(1-0,18)*(-0,383)*(-1)=0,056
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (6-2)
1
𝟏
𝐮 𝟐 = 1 b1(1) (0.5) 1
−𝟏 W11(1) (1)
e1
u1  fs a1 b(2) (-1)
W12(1) (2) W1(2) (2) s
y
u2 W21(1) (0.5) 2
1
b2(1) (1)  es
fs
W2(2) (-1)
s=-0,383 a2
W22(1) (3)  e2
fs
1=-0,178 2=0,056
∆𝒘𝟏𝟏 𝟐 = −𝜼𝜹𝟏 𝒖𝟏 = −𝟎, 𝟒 ∗ −𝟎, 𝟏𝟕𝟖 ∗ 𝟏 = 𝟎, 𝟎𝟕𝟏
∆𝒘𝟏𝟐 𝟐 = −𝜼𝜹𝟏 𝒖𝟐 = −𝟎, 𝟒 ∗(-0,178)*(-1)=-0,071
∆𝒘𝟐𝟏 𝟐 = −𝜼𝜹𝟐 𝒖𝟏 = −𝟎, 𝟒 ∗ 𝟎, 𝟎𝟓𝟔 ∗ 𝟏 = −𝟎, 𝟎𝟐𝟐
∆𝒘𝟐𝟐 𝟐 = −𝜼𝜹𝟐 𝒖𝟐 = −𝟎, 𝟒 ∗ 𝟎, 𝟎𝟓𝟔 ∗ −𝟏 = 𝟎, 𝟎𝟐𝟐
∆𝒃𝟏 𝟐 = −𝜼𝜹𝟏 = −𝟎, 𝟒 ∗ −𝟎, 𝟏𝟕𝟖 = 𝟎, 𝟎𝟕𝟏
∆𝒃𝟐 𝟐 = −𝜼𝜹𝟐 = −𝟎, 𝟒 ∗ 𝟎, 𝟎𝟓𝟔 = −𝟎, 𝟎𝟐𝟐
∆𝑾𝟏 𝟐 = −𝜼𝜹𝒔 𝒂𝟏 = −𝟎, 𝟒 ∗ −𝟎, 𝟑𝟖𝟑 ∗ 𝟎, 𝟑𝟕 = 𝟎, 𝟎𝟓𝟕
∆𝑾𝟐 𝟐 = −𝜼𝜹𝒔 𝒂𝟐 = −𝟎, 𝟒 ∗ −𝟎, 𝟑𝟖𝟑 ∗ 𝟎, 𝟏𝟖 = 𝟎, 𝟎𝟐𝟕
75
∆𝒃(𝟐) 𝟐 = −𝜼𝜹𝒔 = −𝟎, 𝟒 ∗ −𝟎, 𝟑𝟖𝟑 = 𝟎, 𝟏𝟓𝟑
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
2- Apprentissage des MLPs Exercice 4: Régression par MLP (6-2)
𝟏 𝟐 𝟎, 𝟎𝟕𝟏 −𝟎, 𝟎𝟕𝟏 𝟏, 𝟎𝟕𝟏 𝟏, 𝟗𝟐𝟗
𝑾(𝟏) = + = ,
𝟎, 𝟓 𝟑 −𝟎, 𝟎𝟐𝟐 +𝟎, 𝟎𝟐𝟐 𝟎, 𝟒𝟕𝟖 𝟑, 𝟎𝟐𝟐

𝑾(𝟐) = 𝟐 −𝟏 + 𝟎, 𝟎𝟓𝟕 𝟎, 𝟎𝟐𝟕 = 𝟐, 𝟎𝟓𝟕 −𝟎, 𝟗𝟕𝟑 ,

𝒃(𝟏) = 𝟎, 𝟓 𝟏 + 𝟎, 𝟎𝟕𝟏 −𝟎, 𝟎𝟐𝟐 = 𝟎, 𝟓𝟕𝟏 𝟎, 𝟗𝟕𝟖

𝒃(𝟐) = −𝟏 + 𝟎, 𝟏𝟓𝟑 = −𝟎, 𝟖𝟒𝟕


1
1 b1(1) (0,571) 1
W11(1) (1,071)
e1
u1  fs a1 b(2) (-0,847)
W12(1) (1,929) W1(2) (2,057) s
𝟏
𝐮 𝟐 y
−𝟏
u2 W21(1) (0,478) 2
1
b2(1) (0,978)  es
fs
W2(2) (-0,973)
a2
W22(1) (3,022)  e2
fs

Vecteur e1 a1 e2 a2 es yréelle ydésirée


𝟏 -0,287 0,43 -1,566 0,17 -0,128 0,47 2 76
U(2)=
−𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme newrb de synthèse des réseaux RBF : Il commence avec 0 neurone caché.
Ensuite, il ajoute les neurones à la couche cachée jusqu’à ce que l’erreur quadratique
descende en dessous d’un seuil prédéfini. Le neurone sélectionné est celui qui montre la
plus grande erreur d’apprentissage. On appelle cette fonction de cette manière
net = newrb(P,T,goal,spread,MN,DF)
où P et T sont des matrices R*Q et S*Q respectivement; R étant le nombre d’entrées, S étant le
nombre de sorties et Q est la dimension de la base. goal est la valeur seuil de l’erreur quadratique
moyenne. spread est l’ouverture des gaussiennes. MN est le nombre maximal de neurones et DF est
un paramètre relié au suivi de l’opération d’apprentissage.
1 1

W11 WM0 W10


IN1

Base de données WM1


 OUT1
W12
IN2

Exemples affectés de WM2

résultats  OUTM

W1H
INN 77
WMH
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme newrb de synthèse des réseaux RBF : Il commence avec 0 neurone, ensuite il
reprend les étapes suivantes jusqu’à ce que l’erreur descende en dessous de la valeur ‘goal’:
1- Le réseau de neurones est testé,
2- Le vecteur de la base qui montre la plus grande erreur est sélectionné,
3- Un nouveau neurone est ajouté avec les poids égaux au vecteur
4- Les poids sont ajustés de manière à minimiser l’erreur quadratique.
N.B. Une ouverture des gaussiennes trop importante signifie que de nombreux neurones sont nécessaires pour
s'adapter à une fonction à évolution rapide. Une ouverture trop petite signifie que de nombreux neurones
sont nécessaires pour s'adapter à une fonction lisse, et le réseau peut ne pas généraliser correctement.
1 1

W11 WM0 W10


IN1

Base de données WM1


 OUT1
W12
IN2

Exemples affectés de WM2

résultats  OUTM

W1H
INN 78
WMH
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD de synthèse des réseaux RBF :
L’algorithme de descente maximale (AMD: Algorithm of Maximal Descent) est un
algorithme incrémental qui commence avec 0 neurone caché. Ensuite, il procède à la
construction du réseau par cycles.
Dans le premier cycle, AMD construit le premier neurone centré sur le milieu des vecteurs
de la base et l’ouverture des fonctions d’activation gaussiennes est égale au double de la
moyenne des distances entre ces vecteurs. Les poids sont initialisés égaux aux moyennes
des sorties désirées des différents modèles et le biais est initialisé nul. Il n’y a aucun
ajustement des paramètres dans le premier cycle.
𝒆 𝒑 = 𝒔 𝒑 − 𝒚(𝒑)

Dans les cycles suivants, AMD calcule l’erreur e(p) de chaque modèle p de la base
d’apprentissage contenant P modèles et recrute le modèle ‘win’ qui montre la plus grande
erreur ewin comme centre d’un nouveau nœud c(n+1) du réseau.
𝒆𝒘𝒊𝒏 = 𝒔𝒖𝒑 𝒆 𝒑 , 𝒑 = 𝟏, … . . , 𝑷.

79
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD de synthèse des réseaux RBF :
Ce nouveau nœud est activé avec une fonction gaussienne initialisée comme suit :
 Le centre : 𝒄 𝒏 + 𝟏 = 𝒙𝒘𝒊𝒏
 L’ouverture est initialisée en chaque composante i égale au double de la distance
séparant le nouveau nœud du nœud le plus proche :
(𝒏+𝟏) 𝒏+𝟏
𝝈𝒊 = 𝟐 ∗ 𝐦𝐢𝐧 𝒅(𝒄 , 𝒄𝒕 )
𝟏≤𝒕≤𝒏

 Le poids w est initialisé égal à la différence entre la sortie désirée et la sortie réelle du
vecteur recruté (21):
𝒘 𝒏 + 𝟏 = 𝒔𝒘𝒊𝒏 − 𝒚𝒘𝒊𝒏
La descente du gradient est ensuite appliquée à tous les paramètres du réseau : les
centres, les ouvertures et les poids de tous les nœuds. Un nombre prédéfini d’itérations est
autorisé dans chaque cycle. Dans chaque itération, tous les vecteurs de la base sont
présentés dans un ordre aléatoire pour l’ajustement des paramètres. L’erreur E à minimiser
lors de la présentation d’un vecteur p de la base d’apprentissage est formulée comme suit:
𝒏_𝒔𝒐𝒓𝒕𝒊𝒆𝒔

𝑬 𝒑 = 𝒚𝒊 𝒑 − 𝒔𝒊 (𝒑) 𝟐
80
𝒊=𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.

Algorithme AMD de synthèse des réseaux RBF :


Les équations d’ajustement des paramètres sont alors, pour un RBF à une seule sortie,
comme suit :
𝚫𝒘𝒊 = −𝜼𝒈𝒊 𝒚 − 𝒔

𝒈𝒊 étant la sortie du neurone i lors de l’application du vecteur x en entrée et soit


𝑺𝒊 = −𝒘𝒊 (𝒚 − 𝒔)
Nous avons alors :
𝒙𝒌 − 𝒄𝒊𝒌
𝚫𝒄𝒊𝒌 = 𝜼𝒈𝒊 𝑺𝒊
𝝈𝒊𝒌 𝟐
𝒙𝒌 − 𝒄𝒊𝒌 𝟐
𝚫𝝈𝒊𝒌 = 𝜼𝒈𝒊 𝑺𝒊
𝝈𝒊𝒌 𝟑
A la fin de chaque cycle, l’erreur globale du réseau est mesurée et comparée à une valeur
limite pour décider de la fin de l’opération d’apprentissage.
81
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
 Exercice 5: Régression par RBF
On se propose de réaliser un modèle neuronal d’un processus industriel à deux entrées et
𝟏
une sortie. La base d’apprentissage ne contient que cinq vecteurs: 𝐮 𝟏 = , 𝐮 𝟐 =
𝟏
−𝟏 𝟏 −𝟏 𝟎
, 𝐮(𝟑) = ,𝐮 𝟒 = 𝐞𝐭 𝐮 𝟓 = . 𝐋𝐞𝐬 𝐬𝐨𝐫𝐭𝐢𝐞𝐬 respectives 𝐫𝐞𝐥𝐚𝐭𝐢ve𝐬 à 𝐜𝐞𝐬
𝟏 −𝟏 −𝟏 𝟎
𝐯𝐞𝐜𝐭𝐞u𝐫𝐬 sont 𝐬 𝟏 = 𝟏, 𝐬 𝟐 = 𝟐, 𝐬 𝟑 = 𝟎. 𝟓, 𝐬 𝟒 = −𝟐 𝐞𝐭 𝐬 𝟓 = −𝟏. Il s’agit alors
d’une régression.

u1 1
fg(c1,1,u) w1
b

u2 fg(c2,2,u) w2

 y

un fg(cN,N,u) wN 82
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
 Exercice 5: Régression par RBF
La fonction d’activation des neurones cachés est la gaussienne définie comme suit:
𝒙−𝒄 𝟐

f(𝒙) = 𝒆 𝝈𝟐

𝑐11 𝑐21 … …
La matrice des centres des fonctions d’activation gaussiennes est 𝒄 = 𝑐 𝑐22 … … ,
12
𝜎11 𝜎21 … …
La matrice des ouvertures des fonctions d’activation gaussiennes est 𝝈 = 𝜎 ,
12 𝜎22 … …
Le vecteur des poids de la couche de sortie est 𝑊 = 𝑊1 𝑊2 … … ,
Le biais du neurone de sortie est 𝑏.
On se propose d’appliquer l’algorithme AMD dans l’apprentissage de ce réseau de neurones
avec un taux 𝜼=0,1 et 𝝌=1.
Premier cycle d’apprentissage
1- Quel est le premier vecteur à recruter?
83
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs 𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
 Exercice 5: Régression par RBF 𝒚=𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏

u1 1
b
g1 W1 y
u2 fg(c1,1,u) 
𝟐 𝟐
𝒖𝟏 − 𝒄𝟏𝟏 𝒖𝟐 − 𝒄𝟏𝟐 𝟐² + 𝟐²
𝒈𝟏 = 𝒆𝒙𝒑 − + = 𝒆𝒙𝒑 − = 𝟎, 𝟏𝟓𝟒
𝝈𝟐𝟏𝟏 𝝈𝟐𝟏𝟐 𝟐, 𝟎𝟕2

2- Représenter le réseau.
3- Donnez les matrices des centres, des ouvertures et des poids.
2
𝒅𝟏𝟐 = 𝟏 − −𝟏 + (𝟏 − 𝟏)² = 𝟐, 𝒅𝟏𝟑 = 𝟐, 𝒅𝟏𝟒 = 𝟐 𝟐, 𝒅𝟏𝟓 = 𝟐, 𝒅𝟐𝟑 = 𝟐 𝟐, 𝒅𝟐𝟒 = 𝟐,
𝒅𝟐𝟓 = 𝟐 𝟐, 𝒅𝟑𝟒 = 𝟐, 𝒅𝟑𝟓 = 𝟐, 𝒅𝟒𝟓 = 𝟐  _init=(8+9 𝟐)/10=2,07.
𝒄𝟏𝟏 𝟏 𝝈𝟏𝟏 𝟐, 𝟎𝟕
𝒄= 𝒄 = ,𝝈 = 𝝈 = , 𝑾 = 𝑾𝟏 = 𝒔 𝟑 = 𝟎, 𝟓 𝒃= 𝟎
𝟏𝟐 −𝟏 𝟏𝟐 𝟐, 𝟎𝟕 84
Chapitre 2  Exercice 5: Régression par RBF
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs 𝒖𝟏 − 𝒄𝟏𝟏 𝟐 𝒖𝟐 − 𝒄𝟏𝟐 𝟐 𝟐
𝒈𝟏 = 𝒆𝒙𝒑 − + = 𝒆𝒙𝒑 −
𝝈𝟐𝟏𝟏 𝝈𝟐𝟏𝟐 𝟐, 𝟎𝟕²
4- Calculez la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de
la base d’apprentissage.
Vecteur g1 yréelle Y désirée S1 Q

𝟏 1
U(1)=
𝟏
−𝟏 2
U(2)=
𝟏
𝟏 0,5
U(3)=
−𝟏
−𝟏 -2
U(4)=
−𝟏
𝟎 -1
U(5)=
𝟎
5- Calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬 𝟏 .
𝟓

𝑬 𝟏 = 𝒚 𝒑 − 𝒔(𝒑) 𝟐 = 𝟏𝟎, 𝟖𝟖
𝒑=𝟏 85
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs  Exercice 5: Régression par RBF
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.

6- Appliquez 1 itération d’ajustement des paramètres. L’ordre aléatoire de présentation des


vecteurs de la base lors de la première itération est 1, 5, 2, 4 et 3.
Pour u(1) 
𝚫𝑾𝟏 = −𝜼𝒈𝟏 𝒚 − 𝒔 =-0,1*0,39*(0,195-1)=0,031
𝚫𝒃 = −𝜼 𝒚 − 𝒔 =-0,1*(0,195-1)=0,0805

Nous avons alors :


𝒖𝟏 − 𝒄𝟏𝟏 𝒖𝟐 − 𝒄𝟏𝟐
𝚫𝒄𝟏𝟏 = 𝜼𝒈𝟏 𝟐 𝑺𝟏 = 𝟎 𝚫𝒄𝟏𝟐 = 𝜼𝒈𝟏 𝟐 𝑺𝟏
𝝈𝟏𝟏 𝝈𝟏𝟐
𝟐
⇒ 𝚫𝒄𝟏𝟐 = 𝟎, 𝟏 ∗ 𝟎, 𝟑𝟗 ∗ 𝟐,𝟎𝟕2
∗ 𝟎, 𝟒𝟎𝟐 =7,31* 10−3=0,0073

𝟐 𝟐
𝒖𝟏 −𝒄𝟏𝟏 𝒖𝟐 −𝒄𝟏𝟐 𝟐
𝚫𝝈𝟏𝟏 = 𝜼𝒈𝟏 𝟑 𝑺𝟏 = 𝟎 𝚫𝝈𝟏𝟐 = 𝜼𝒈𝟏 𝟑 𝑺𝟏 =7,06*10-3 ∗ = 7,06*10-3= 0,0071
𝝈𝟏𝟏 𝝈𝟏𝟐 𝟐,𝟎𝟕
86
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
 Exercice 5: Régression par RBF
𝒄𝟏𝟏 𝟏 𝝈𝟏𝟏 𝟐, 𝟎𝟕
𝒄= 𝒄 = , 𝝈= 𝝈 = ,
𝟏𝟐 −𝟎, 𝟗𝟗𝟑 𝟏𝟐 𝟐, 𝟎𝟕𝟕
𝑾 = 𝑾𝟏 = 𝟎, 𝟓 + 𝟎, 𝟎𝟑𝟏 = 𝟎, 𝟓 + 𝟎, 𝟎𝟑𝟏 = 𝟎, 𝟓𝟑𝟏 𝒃 = 𝟎, 𝟎𝟖𝟎𝟓
𝟐 𝟐
𝒖𝟏 − 𝒄𝟏𝟏 𝒖𝟐 − 𝒄𝟏𝟐 𝟏 𝟎, 𝟗𝟗𝟑2
𝒈𝟏 = 𝒆𝒙𝒑 − + = 𝒆𝒙𝒑 − ( + )
𝝈𝟐𝟏𝟏 𝝈𝟐𝟏𝟐 𝟐, 𝟎𝟕2 𝟐, 𝟎𝟕𝟕2

Vecteur g1 yréelle Y désirée S1 Q


𝟏 0,398 0,291 1
U(1)=
𝟏
−𝟏 2
U(2)=
𝟏
𝟏 0,5
U(3)=
−𝟏
−𝟏 -2
U(4)=
−𝟏
𝟎 0,631 0,416 -1 -0,75
U(5)= 87
𝟎
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
 Exercice 5: Régression par RBF
𝒄𝟏𝟏 𝟏 𝝈𝟏𝟏 𝟐, 𝟎𝟕
𝒄= 𝒄 = , 𝝈= 𝝈 = , 𝑾 = 𝑾𝟏 = 𝟎, 𝟓𝟑𝟏 , 𝒃 = 𝟎, 𝟎𝟖𝟎𝟓
𝟏𝟐 −𝟎, 𝟗𝟗𝟑 𝟏𝟐 𝟐, 𝟎𝟕𝟕
Pour u(5) 
𝚫𝑾𝟏 = −𝜼𝒈𝟏 𝒚 − 𝒔 =-0,1*0,631*(0,414+1)= -0,089
𝚫𝒃 = −𝜼 𝒚 − 𝒔 =-0,1*(0,414+1)=-0,14

Nous avons alors :


𝒖𝟏 − 𝒄𝟏𝟏 𝒖𝟐 − 𝒄𝟏𝟐
𝚫𝒄𝟏𝟏 = 𝜼𝒈𝟏 𝟐 𝑺𝟏 𝚫𝒄𝟏𝟐 = 𝜼𝒈𝟏 𝟐 𝑺𝟏
𝝈𝟏𝟏 𝝈𝟏𝟐
⇒ 𝚫𝒄𝟏𝟐 =

𝟐 𝟐
𝒖𝟏 −𝒄𝟏𝟏 𝒖𝟐 −𝒄𝟏𝟐
𝚫𝝈𝟏𝟏 = 𝜼𝒈𝟏 𝟑 𝑺𝟏 = 𝚫𝝈𝟏𝟐 = 𝜼𝒈𝟏 𝟑 𝑺𝟏 =
𝝈𝟏𝟏 𝝈𝟏𝟐

88
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
𝑵 𝒏 𝟐
3- Apprentissage des RBFs 𝒚=𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒆𝒙𝒑 −
𝒖𝒋 − 𝒄𝒊𝒋
𝝈𝟐𝒊𝒋
 Exercice 5: Régression par RBF 𝒊=𝟏 𝒋=𝟏

u1 1
b
g1 W1 y
u2 fg(c1,1,u) 
Vecteur g1 yréelle ydésirée Q
𝟏 1
U(1)=
𝟏
−𝟏 0
U(2)=
𝟏
𝟏 0
U(3)=
−𝟏
−𝟏 -2
U(4)=
−𝟏
𝟎 -1
U(5)=
𝟎 89
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
 Exercice 5: Régression par RBF
6- Appliquez 1 itération d’ajustement des paramètres. L’ordre aléatoire de présentation des
vecteurs de la base lors de la première itération est 1, 5, 2, 4 et 3. Pour la deuxième
itération, l’ordre aléatoire est : 2, 5, 3, 1 et 4.
7- Donnez les matrices des centres, des ouvertures et des poids.
8- Calculer la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage.
9- Calculez la nouvelle valeur de 𝑬𝒓 𝟏 .

Deuxième cycle d’apprentissage


10- Quel est le deuxième vecteur à recruter?
11- Recrutez le vecteur et Représenter le réseau.
12- Appliquez 2 itérations d’ajustement des paramètres. Les ordres aléatoires de
présentation des vecteurs de la base sont 3, 2, 4, 1 et 5 ensuite 4, 5, 1, 3 et 2. Donnez les
nouvelles matrices des centres, des ouvertures et des poids.
90
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
 Exercice 5: Régression par RBF 1

w0

u1
fg(c1,1,u) w1
 y

u2 fg(c2,2,u) w2

𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏

13- Calculez la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage.
14- Calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬 𝟐 .
𝟓
𝟐
𝑬𝒓 𝟐 = 𝒚𝒊 𝒑 − 𝒔𝒊 (𝒑)
𝒑=𝟏 91
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
 Exercice 5: Régression par RBF
Troisième cycle d’apprentissage
15- Quel est le troisième vecteur à recruter?
16- Recrutez le vecteur et Représenter le réseau.
17- Donnez les nouvelles matrices des centres, des ouvertures et des poids.

u1 1
fg(c1,1,u) w1
w0

u2 fg(c2,2,u) w2
 y

un fg(cN,N,u) wN

𝑵 𝒏 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚 = 𝒇 𝒖 = 𝒘𝟎 + 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋
𝒊=𝟏 𝒋=𝟏
92
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
 Exercice 6: Régression par RBF
On se propose de réaliser un modèle neuronal du type RBF d’un processus industriel à trois
𝟏
entrées et une sortie. La base d’apprentissage contient huit vecteurs: 𝐮 𝟏 = 𝟏 ,
𝟏
−𝟏 𝟏 𝟏 −𝟏 𝟏
𝐮 𝟐 = 𝟏 , 𝐮(𝟑) = −𝟏 , 𝐮(𝟒) = 𝟏 , 𝐮 𝟓 = −𝟏 , 𝐮(𝟔) = −𝟏 , 𝐮(𝟕) =
𝟏 𝟏 −𝟏 𝟏 −𝟏
−𝟏 𝟎
−𝟏 𝐞𝐭 𝐮 𝟖 = 𝟎 . 𝐋𝐞𝐬 𝐬𝐨𝐫𝐭𝐢𝐞𝐬 respectives 𝐫𝐞𝐥𝐚𝐭𝐢ve𝐬 à 𝐜𝐞𝐬 𝐯𝐞𝐜𝐭𝐞u𝐫𝐬 sont 𝐬 𝟏 = 𝟑,
−𝟏 𝟎
𝐬 𝟐 = 𝟏, 𝟓 , 𝐬 𝟑 = 𝟐, 𝐬 𝟒 = 𝟎, 𝟓 , 𝐬 𝟓 = 𝟐, 𝐬 𝟔 = 𝟐, 𝟓 𝐞𝐭 𝐬 𝟕 = 𝟎 𝒆𝒕 𝒔 𝟖 = −𝟏.
Il s’agit alors d’une régression. La fonction d’activation des neurones cachés est la
𝒙−𝒄 𝟐

gaussienne définie comme suit: f(𝒙) = 𝒆 𝝈𝟐

On a décidé d’appliquer l’algorithme AMD dans la synthèse de ce réseau de neurones avec


93
un taux 𝜼=0,01 et 𝝌=1 𝐞𝐭 𝝈𝒊𝒏𝒊𝒕=1.
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
 Exercice 6: Régression par RBF
A la fin du quatrième cycle d’apprentissage :
La matrice des centres des fonctions d’activation gaussiennes est
1,2 1 −1 0,3
𝒄 = 𝑐1 𝑐2 𝑐3 𝑐4 = 1 −1,1 − 0,8 − 0,2 ,
0,9 1,1 1 0,1
La matrice des ouvertures des fonctions d’activation gaussiennes est
1,2 1 1,3 0,8
𝛔 = 𝜎1 𝜎2 𝜎3 𝜎4 = 1,5 1,1 0,8 0,9 ,
0,9 1,3 1 1,1
Le vecteur des poids de la couche de sortie est 𝑊 = 𝑊1 𝑊2 𝑊3 𝑊4 = 0,5 0,8 0,6 0,7 ,
Le biais du neurone de sortie est 𝑏 = 0,2 .
1- Représentez le RNA.
94
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
 Exercice 6: Régression par RBF
g1 1
u1
fg(c1,1,u) w1

𝒘𝒊 b
g2
u2 fg(c2,2,u) w2

 y
fg(c3,3,u) g3 w3

g4
u3 fg(c4,4,u) w4

𝟒
𝒖𝟏 − 𝒄𝒊𝟏 𝟐 𝒖𝟐 − 𝒄𝒊𝟐 𝟐 𝒖𝟑 − 𝒄𝒊𝟑 𝟐
𝒚= 𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒈𝒊 𝒈𝒊 = 𝒆𝒙𝒑 − + +
𝝈𝟐𝒊𝟏 𝝈𝟐𝒊𝟐 𝝈𝟐𝒊𝟑
𝒊=𝟏
95
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs  Exercice 6: Régression par RBF

Cinquième cycle d’apprentissage


2- Quel est le vecteur à recruter?

Vecteur g1 g2 g3 g4 yréelle ydésirée Q

U(1) 0,96 3,3*10-4 0,043 4,1*10-2 0,74 3 5


U(2) 47*10-5 3,2*10-4 0,025 0,021 1,86 1,5 0,13
U(3) 0,172 0,979 0,0177 2,35 2,72 2 0,52
U(4) 5,4*10-3 1,94*10-3 1,11*10-5 2,93*10-2 0,32 0,5 0,03
U(5) 6*10-9 0,017 0,95 0,036 0,8 2 1,44
U(6) 1,9*10-3 0,03 0,1 0,11 0,36 2,5 4,57
U(7) 6*10-4 0,017 2*10-4 0,025 0,805 0 0,64
U(8) 8,7*10-2 6,6*10-2 7,5*10-2 0,82 0,9 -1 3,61

Vecteur recruté  U(1) 𝑊 = 𝑊1 𝑊2 𝑊3 𝑊4 = 0,5 0,8 0,6 0,7


96
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs  Exercice 6: Régression par RBF

Cinquième cycle d’apprentissage


3- Recrutez le vecteur et Représenter le réseau

g1 1
u1
fg(c1,1,u) w1
b
g2
u2 fg(c2,2,u) w2
 y
fg(c3,3,u) g3 w3

g4
u3 fg(c4,4,u) w4

g5
fg(c5,5,u) w5

𝟓 𝟑 𝟐
𝒖𝒋 − 𝒄𝒊𝒋
𝒚=𝒇 𝒖 =𝒃+ 𝒘𝒊 𝒆𝒙𝒑 −
𝝈𝟐𝒊𝒋 97
𝒊=𝟏 𝒋=𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs  Exercice 6: Régression par RBF

Cinquième cycle d’apprentissage


4- Donnez les matrices des centres, des ouvertures et des poids.

1,2 1 −1 0,3 1
𝒄 = 𝑐1 𝑐2 𝑐3 𝑐4 𝑐5 = 1 −1,1 − 0,8 − 0,2 1 ,
0,9 1,1 1 0,1 1
La matrice des ouvertures des fonctions d’activation gaussiennes est
1,2 1 1,3 0,8
𝛔 = 𝜎1 𝜎2 𝜎3 𝜎4 𝜎5 = 1,5 1,1 0,8 0,9 ,
0,9 1,3 1 1,1
Le vecteur des poids de la couche de sortie est
𝑊 = 𝑊1 𝑊2 𝑊3 𝑊4 𝑊5 = 0,5 0,8 0,6 0,7 2,26 ,
Le biais du neurone de sortie est 𝑏 = 0,2 .

98
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs  Exercice 6: Régression par RBF
5- Calculez la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage et calculez l’erreur d’apprentissage (Erreur quadratique) 𝑬𝒓 𝟓 .

Vecteur g1 g2 g3 g4 g5 yréelle ydésirée Q

U(1)
U(2)
U(3)
U(4)
U(5)
U(6)
U(7)
U(8)
𝟖 𝟖

𝑬𝒓 𝟓 = 𝒚 𝒑 − 𝒔(𝒑) 𝟐 = 𝑸 𝒑 = 99
𝒑=𝟏 𝒑=𝟏
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs
Algorithme AMD : Dans chaque cycle, il recrute le vecteur de la base ayant la plus grande
erreur, ensuite il ajuste les paramètres du réseau par la descente du gradient.
 Exercice 6: Régression par RBF
7- On applique 1 itération d’ajustement des paramètres. L’ordre aléatoire de présentation
des vecteurs de la base lors de la première itération est 6, 1, 5, 8, 2, 4, 7 et 3.
7-1- Donnez les matrices des centres, des ouvertures et des poids suite à la présentation
du vecteur 6 dans la première itération.
𝚫𝒘𝒊 = −𝜼𝒈𝒊 𝒚 − 𝒔

𝑺𝒊 = −𝒘𝒊 (𝒚 − 𝒔)
Nous avons alors :
𝒙𝒌 − 𝒄𝒊𝒌
𝚫𝒄𝒊𝒌 = 𝜼𝒈𝒊 𝑺𝒊
𝝈𝒊𝒌 𝟐
𝒊 𝒙𝒌 − 𝒄𝒊𝒌 𝟐
𝚫𝝈𝒌 = 𝜼𝒈𝒊 𝑺𝒊
𝝈𝒊𝒌 𝟑
100
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs  Exercice 6: Régression par RBF
Cinquième cycle d’apprentissage
7-1- Donnez les matrices des centres, des ouvertures et des poids suite à la présentation
du vecteur 6 dans la première itération.
𝚫𝒄𝟏𝟏 𝚫𝒄𝟐𝟏 𝚫𝒄𝟑𝟏 𝚫𝒄𝟒𝟏 𝚫𝒄𝟓𝟏
∆𝒄 = 𝚫𝒄𝟏𝟐 𝚫𝒄𝟐𝟐 𝚫𝒄𝟑𝟐 𝚫𝒄𝟒𝟐 𝚫𝒄𝟓𝟐 = ,
𝚫𝒄𝟏𝟑 𝚫𝒄𝟐𝟑 𝚫𝒄𝟑𝟑 𝚫𝒄𝟒𝟑 𝚫𝒄𝟓𝟑

𝒄= ,

𝚫𝝈𝟏𝟏 𝚫𝝈𝟐𝟏 𝚫𝝈𝟑𝟏 𝚫𝝈𝟒𝟏 𝚫𝝈𝟓𝟏


∆𝝈 = 𝚫𝝈𝟏𝟐 𝚫𝝈𝟐𝟐 𝚫𝝈𝟑𝟐 𝚫𝝈𝟒𝟐 𝚫𝝈𝟓𝟐 = ,
𝚫𝝈𝟏𝟑 𝚫𝝈𝟐𝟑 𝚫𝝈𝟑𝟑 𝚫𝝈𝟒𝟑 𝚫𝝈𝟓𝟑

𝝈= ,
101
Chapitre 2
APPRENTISSAGE SUPERVISE DES RNAs
3- Apprentissage des RBFs  Exercice 6: Régression par RBF

Cinquième cycle d’apprentissage


7-1- Donnez les matrices des centres, des ouvertures et des poids suite à la présentation
du vecteur 6 dans la première itération.
𝑊 = 𝑊1 𝑊2 𝑊3 𝑊4 𝑊5 = ,
W= ,

𝑏 =  𝑏= .

7-2- Donnez les matrices des centres, des ouvertures et des poids à la fin de tout le cycle
d’apprentissage sachant que l’ordre aléatoire de présentation du reste des vecteurs de la
base lors de la deuxième itération est 2, 7, 5, 3, 8, 4, 1 et 6.
8- Calculer la sortie réelle et la sortie désirée correspondant à chacun des vecteurs de la
base d’apprentissage à la fin du cinquième cycle d’apprentissage.
9- Calculez la nouvelle valeur de l’erreur d’apprentissage (Erreur quadratique) 𝑬𝒓 𝟓 .
𝟖

𝑬𝒓 𝟓 = 𝒚𝒊 𝒑 − 𝒔𝒊 (𝒑) 𝟐
102
𝒑=𝟏
Chapitre 3
APPRENTISSAGE NON SUPERVISE
1- Présentation
Il s’agit de regrouper les cas étudiés en classes homogènes : C'est le partitionnement ou le clustering.
L’idée du clustering est de déterminer une relation de similarité entre les points afin de les regrouper
en classes homogènes, Le clustering permet d’obtenir des classes distinctes dans lesquelles les points
seront les plus similaires possibles en se basant sur une notion de distance.
Nous allons considérer dans ce cours la méthode de partitionnement la plus connue appelée K-Means,
aussi appelée méthode des centres mobiles.
Exemples d’application du clustering:
1- la segmentation de la clientèle d'un magasin à partir des informations sur les clients et la liste de
leurs achats,

103
Chapitre 3
APPRENTISSAGE NON SUPERVISE
2- Méthode K-means
La méthode K-Means (K-moyennes) est une méthode d’apprentissage non supervisé. Cette méthode est
connue aussi sous le nom de la méthode des centres mobiles, Elle cherche à regrouper les points en K
classes. Chaque classe Ck est caractérisée par son centre de gravité que nous appellerons mk.
Afin de comprendre le principe de K-Means, on prend à titre d’exemple l’ensemble des points noirs
schématisé ci-dessous que nous souhaitons regrouper en deux classes.

* Initialisation : On commence par une initialisation aléatoire des centres des classes : ce seront les
losanges bleu et rouge.

104
Chapitre 3
APPRENTISSAGE NON SUPERVISE
2- Méthode K-means
* Etapes répétitives : Ces deux étapes seront répétées jusqu’à la convergence de l’algorithme.

Connaissant les points associés à chaque classe, on


met à jour son centre qui est calculé comme le
barycentre des points de la classe,

Les distances des points par rapport aux deux


centres changent, alors on recalcule ces distances
pour mettre à jour l’affectation des points à chacun
des deux classes,

105
Chapitre 3
APPRENTISSAGE NON SUPERVISE
2- Méthode K-means
* Convergence de l’algorithme : Elle est marquée par la stabilisation des centres des classes (Plus de
changement de position).

106
Chapitre 3
DEEP LEARNING
1- Présentation du DL

Apprentissage profond (DL : Deep learning)


Type particulier de l’apprentissage automatique
DL se sert d’un nombre important de couches dans l’extraction
et la transformation des caractéristiques
L’information passe d’une couche vers la suivante et l’apprentissage
peut être supervisé ou non supervisé et se fait à plusieurs niveaux de
détail ou de représentation des données.
Le nombre de transformations réalisées dans l’apprentissage profond
sur les données entre la couche d’entrée et la couche de sortie est
plus important que dans le cas du ML classique,
Le réseau de neurones profond de Google Photos comporte par
exemple 30 couches. 107
Chapitre 3
DEEP LEARNING
1- Présentation du DL
Exemple : Les réseaux de neurones convolutifs
(CNN : Convolutional Neural Networks)

CNN : Chaque couche applique un filtre sur les images pour identifier
des patterns ou des éléments spécifiques

CNN : Les premières couches détectent les principaux attributs

CNN : Les dernières couches repèrent les détails les plus subtils et les
organisent en éléments concrets

Les CNNs sont en mesure d’identifier des attributs hautement


spécifiques, comme la forme des pupilles ou la distance entre le nez et
les yeux, afin de reconnaître un chat avec une grande précision

108
Chapitre 3
DEEP LEARNING
2- Applications réalisés moyennant DL

Reconnaissance faciale de Facebook afin d’identifier automatiquement


les amis sur les photos

Reconnaissance faciale Face ID de l’iPhone X d’Apple

Skype l’applique dans la traduction en temps réel des conversations orales

Google Deepmind AlphaGo est parvenue à triompher du champion du


monde

CNN : Le Deep Learning est au cœur de la vision par ordinateur


et de la vision robotique

109
Chapitre 3
DEEP LEARNING
3- Domaines d’application du DL
Vision par ordinateur (Reconnaissance de formes)
Exemple : Reconnaissance d’un panneau de signalisation
par un robot ou une voiture autonome
Exemple : Reconnaissance automatique d'un cancer en imagerie médicale
Exemple : Prédiction des propriétés d'un sol filmé par un robot

Reconnaissance Audio (Reconnaissance automatique de la parole)


Traitement automatique du langage naturel

Exemple : Elaboration des moteurs de traduction automatique.


Exemple : Détection automatique de la maladie de Parkinson par la voix

110
Chapitre 3
DEEP LEARNING
3- Domaines d’application du DL

Physique,
l'apprentissage profond est utilisé pour la recherche
sur les particules exotiques.

Bio-informatique
Exemple : Etude de l'ADN et des segments non codants du génome,
ou encore la Cytométrie;
Exemple: Projet Horus de la société Eyra. Il s’agit d’un appareil
portable utilisant la plate-forme NVidia Jetson, qui aide les mal-voyants
ou les aveugles à s’orienter et à reconnaître des personnes ou des
objets, en retranscrivant en audio une image captée par une caméra.

111
Chapitre 3
DEEP LEARNING
4- Procédure DL (Exemple Reconnaissance de forme (chat))
Physique,
l'apprentissage profond est utilisé pour la recherche
sur les particules exotiques.

112
Chapitre 3
DEEP LEARNING
5- Architectures DL (LSTM: Long Short-Term Memory)
Architecture de réseau de neurones récurrents la plus utilisée en pratique
qui permet de répondre au problème de disparition de gradient.
Architecture avec 3 portes : Porte d’entrée, Porte de sortie et porte d’oubli

113
Chapitre 3
DEEP LEARNING
5- Architectures DL (LSTM: Long Short-Term Memory)
Architecture de réseau de neurones récurrents la plus utilisée en pratique
qui permet de répondre au problème de disparition de gradient.
Architecture avec 3 portes : Porte d’entrée, Porte de sortie et porte d’oubli
Valeurs initiales : c0=0 et h0=0.
𝑭𝒕 = 𝝈 𝑾𝑭 𝒙𝒕 + 𝑼𝑭 𝒉𝒕−𝟏 + 𝒃𝑭 𝑭𝒐𝒓𝒈𝒆𝒕 𝒈𝒂𝒕𝒆
𝑰𝒕 = 𝝈 𝑾𝑰 𝒙𝒕 + 𝑼𝑰 𝒉𝒕−𝟏 + 𝒃𝑰 𝑰𝒏𝒑𝒖𝒕 𝒈𝒂𝒕𝒆
𝑶𝒕 = 𝝈 𝑾𝑶 𝒙𝒕 + 𝑼𝑶 𝒉𝒕−𝟏 + 𝒃𝑶 𝑶𝒖𝒕𝒑𝒖𝒕 𝒈𝒂𝒕𝒆
𝒄𝒕 = 𝑭𝒕 o𝑪𝒕−𝟏 + 𝑰𝒕 𝒐𝒕𝒂𝒏𝒉(𝑾𝒄 𝒙𝒕 + 𝑼𝒄 𝒉𝒕−𝟏 + 𝒃𝑰 )
𝒉𝒕 = 𝑶𝒕 𝒐𝒕𝒂𝒏𝒉(𝒄𝒕 )
𝒐𝒕 = 𝒇(𝑾𝟎 𝒉𝒕 + 𝒃𝟎 )
NB. L'opérateur o symbolise le produit matriciel de Hadamard (produit terme à
terme). Les symboles  et tanh représentent respectivement la fonction sigmoïde et la
fonction tangente hyperbolique,
114
Chapitre 3
DEEP LEARNING
5- Architectures DL (GRU : Gated Recurrent Network)
Réseau de neurones récurrent à portes, Variante des LSTM ayant des
performances comparables aux LSTM pour la prédiction de séries temporelles (ex
: partitions musicales, données de parole).
Une unité requiert moins de paramètres à apprendre qu'une unité LSTM.
Architecture avec 2 portes : Porte de mise à jour (update gate),
Porte de réinitialisation (Reset gate)

115
Chapitre 3
DEEP LEARNING
5- Architectures DL (GRU : Gated Recurrent Network)
Réseau de neurones récurrent à portes, Variante des LSTM ayant des
performances comparables aux LSTM pour la prédiction de séries temporelles (ex
: partitions musicales, données de parole).
Une unité requiert moins de paramètres à apprendre qu'une unité LSTM.
Architecture avec 2 portes : Porte de mise à jour (update gate),
Porte de réinitialisation (Reset gate)

Valeur initiale h0=0 ;


𝒁𝒕 = 𝝈 𝑾𝒁 𝒙𝒕 + 𝑼𝒁 𝒉𝒕−𝟏 + 𝒃𝒁 𝑼𝒑𝒅𝒂𝒕𝒆 𝒈𝒂𝒕𝒆
𝑹𝒕 = 𝝈 𝑾𝑹 𝒙𝒕 + 𝑼𝑹 𝒉𝒕−𝟏 + 𝒃𝑹 𝑹𝒆𝒔𝒆𝒕 𝒈𝒂𝒕𝒆
𝒉𝒕 = 𝒁𝒕 o 𝒉𝒕−𝟏 + (𝟏 − 𝒁𝒕 ) 𝒐 𝒕𝒂𝒏𝒉(𝑾𝒉 𝒙𝒕 + 𝑼𝒉 (𝑹𝒕 𝒐𝒉𝒕−𝟏 ) + 𝒃𝒉 )

116
Chapitre 3
DEEP LEARNING
6- Réseau de neurones de convolution (CNN)
6-1- Architecture CNN
Dans un réseau neuronal de convolution, on trouve 3 types de couches :
- Couches de convolution,
- Couches de pooling,
- Couches totalement connectées.

117
Chapitre 3
DEEP LEARNING
6- Réseau de neurones de convolution (CNN)
6-2- Importance de la convolution et du pooling
Exemple : Problème de vision par ordinateur
Si l’entrée est 64*64*3, le nombre d’entrées du RNA est alors 12288 Un très
grand nombre de paramètres à identifier  Calcul énorme nécessitant des
ressources énormes et de grandes bases de données et convergence non garantie.
Si on passe à une meilleure résolution, 720*720*3, le problème est pire
Le rôle des première couches de convolution et de pooling est de faciliter la
tâche de la couche totalement connectée en lui réduisant le nombre des
paramètres à identifier lors de la phase d’apprentissage

118
Chapitre 3
DEEP LEARNING
6- CNN
6-2- Importance de la convolution et du pooling
Les premières couches d'un CNN détectent les contours d'une image.
Des couches plus profondes pourraient être capables de détecter les objets
et des couches encore plus profondes pourraient détecter l'objet complet (comme
le visage d'une personne)

119
Chapitre 3
DEEP LEARNING
6- Réseau de neurones de convolution (CNN)
6-3- Convolution
l’image de la figure ci-dessous contient de nombreux bords verticaux et
horizontaux. L’opération de convolution fait ressortir les bords horizontaux et
verticaux

120
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Calcul de convolution : On prend à titre d’exemple une image 6*6 en noir et blanc
(un seul canal) définie par la matrice suivante que nous allons convoler avec la
matrice filtre 3*3. Ceci donne une matrice 4*4

Filtre Matrice de sortie


Matrice d’entrée
Remarque : De manière générale, si la taille de l'entrée est n*n et la taille du filtre
est f*f, alors la taille de la sortie sera m*m avec m=n-f+1. Pour les exemples des
figures 23 et 24, n=6 et f=3, c’est pour cette raison que m=4. 121
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Calcul de convolution : D’autres filtres sont proposés comme le filtre de Sobel ou le
filtre de Scharr. Ces filtres donnent plus d’importance aux pixels centraux.

Exercice 1 : Le filtre appliqué dans l’exemple précédent détecte les bordures


verticales. Quel sera la matrice de sortie si on applique le filtre de détection des
bordures horizontales
Exercice 2 : Comment devient la matrice de sortie si on applique à la même matrice
d’entrée le filtre de Sobel et le filtre de Scharr? 122
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Calcul de convolution : On prend un autre exemple qui montre que la convolution
illustre les bordures. Les valeurs hautes des pixels représentent la partie
lumineuse de l'image et les valeurs basses représentent les parties sombres.
Matrice d’entrée Matrice de sortie
Filtre

123
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
1- La convolution réduit la taille de l’image
2- Les pixels des bords sont moins appliquées  Rembourrage (Padding)
dans la convolution que les pixels du milieu
Padding : on ajoute à l'image une bordure supplémentaire, c.à.d. un pixel tout autour
des bords. La matrice d’entrée devient alors 8*8 au lieu de 6*6. L'application d'une
convolution de 3*3 sur celle-ci génèrera une matrice 6*6 qui est la forme originale
de l'image.
Dimensions de la matrice de sortie : Ainsi, si p est la dimension du rembourrage et
si la taille de la matrice d'entrée est n*n et la taille du filtre est f*f, alors la taille de
la matrice de sortie sera m*m avec m=n+2p-f+1.
N.B. Il existe deux choix courants pour le rembourrage :
1. Valide : Pas de rembourrage. La matrice de sortie est dans ce cas (n-f+1)*(n-f+1).
124
2. Idem : Rembourrage afin que la taille de sortie soit la même que la taille d'entrée.
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution

• Convolutions foulées (Strided convolution) :


Supposons que nous choisissions une foulée de 2. Ainsi, tout en parcourant l'image,
nous ferons deux pas à la fois dans les directions horizontale et verticale
séparément.
N.B. Si la dimension de la foulée est s et si p est la dimension du rembourrage et si la taille de la
matrice d'entrée est n*n et la taille du filtre est f*f, alors la taille de la matrice de sortie sera m*m
avec m=1+(n+2p-f)/s. La foulée permet de réduire la taille de l'image, une fonctionnalité
particulièrement utile.

Exercice 3 : Reprendre l’exemple de la page 100 mais cette fois on utilise une foulée
de 2,
125
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Convolution à canaux multiples : Les canaux pour une image en couleur sont les 3
couleurs de base (R, V et B). Alors une image de dimensions 6*6 en noir et blanc
deviendra de dimensions 6*6*3 lorsqu’elle est en couleur : hauteur (6), largeur (6)
et canaux (3). Dans le cas général, les dimensions d’une image d’une entrée de
convolution est n*n*nc, nc étant le nombre de canaux.
N.B. La règle de convolution ici est que le nombre des canaux de l’entrée et du filtre est le même
comme le montre la figure ci-dessous qui montre aussi une autre importante information : la matrice
de sortie est de dimensions 4*4.

126
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
Convolution à canaux multiples : Exercice : L’entrée est à 3 canaux comme le
montre la figure ci-dessous, On donne à chaque canal le filtre correspondant.
Donnez la matrice de sortie,

127
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
• Filtres multiples : Si on utilise un nombre multiple de filtres, on obtiendra à la
sortie le même nombre de matrices de sortie.
Si on appelle nf le nombre de filtres, le nombre des cases des matrices de sortie sera nf*m*m avec
m=1+(n+2p-f)/s.

128
Chapitre 3
DEEP LEARNING
6- CNN
6-3- Convolution
• Exemple d’un réseau de convolution

Nombre de canaux
• Matrice d’entrée = 3
• Deuxième matrice = 10 (Cette matrice est issue de 10 filtres).
• Troisième matrice = 20 (Cette matrice est générée par 20 filtres).
• Dernière matrice =40 (générée par 40 filtres)
 40 canaux de 7*7 cellules chacun équivaut 1960 cellules (40*7*7). Le contenu de chacune de
ces cellules constitue une entrée de la couche totalement connectée de classification. 129
Chapitre 3
DEEP LEARNING
6- CNN
6-4- Pooling
Ce sont les couches de regroupement généralement utilisées pour réduire les
dimensions d’entrée en vue d’accélérer les calculs. Dans l’exemple de la figure ci-
dessous, une opération max_pooling’ a été appliquée sur une matrice 4*4 et a
résulté en une matrice 2*2. De chaque bloc 2*2, on a pris le nombre maximal. Dans
cet exemple la taille du filtre est 2 et la foulée est 2.

N.B. On a appliqué ici le max_pooling mais on pouvait appliquer le regroupement moyen ‘average
pooling’ où à la place de prendre le maximum, on prend la moyenne du bloc.
130
Chapitre 3
DEEP LEARNING
6-CNN
6-5- Exemple d’un CNN

L’image d’entrée est 227*227 en noir et blanc, A cette image se sont appliqués 256 filtres de convolution suivis chacun d’une activation ReLU.
Les 256 matrices 225*225 issus de cette convolution sont juxtaposées dans un tenseur 225*225*256 qui a subit une opération de pooling 2*2
ce qui a donné un tenseur 112*112*256, Ce tenseur a subit une convolution de 256 filtres 3*3 pour donner 256 matrices 110*110 soumis ensuite
à l’activation ReLU, Ces matrices sont ensuite juxtaposées pour donner un tenseur 110*110*256 qui passe par une opération Maxpooling 2*2 qui
donne un tenseur 55*55*256, L’opération de flatting à transformé ce tenseur en un vecteur de dimension 256*55*55 qui constituera l’entrée
d’une couche totalement connectée de 256 neurones suivie d’une couche de sortie d’un seul neurones,
Les paramètres à apprendre sont
 1ère convolution : 3*3*256 poids + 256 biais
 2ème convolution : 3*3*256 poids +256 biais
 Couche FC : 256*55*55*256 poids + 256 biais
131
 Couche de sortie: 256 poids +1 biais
Chapitre 3
DEEP LEARNING
6-CNN
6-5- Exemple d’un CNN

132
Chapitre 3
DEEP LEARNING
7- Programmation Tensorflow
TensorFlow est un outil open source d'apprentissage automatique développé par Google. Le code source a
été ouvert le 9 novembre 2015 par Google et publié sous licence Apache. Il est fondé sur l'infrastructure
DistBelief, initiée par Google en 2011, et est doté d'une interface pour Python, Julia et R2
TensorFlow est l'un des outils les plus utilisés en IA dans le domaine de l'apprentissage automatique.

Keras est une API d'apprentissage en profondeur écrite en Python, qui s'exécute sur la plateforme
d'apprentissage automatique TensorFlow. Il a été développé dans le but de permettre une expérimentation
rapide. Pouvoir passer de l'idée au résultat le plus rapidement possible est la clé d'une bonne recherche.
Keras est :
Simple - Keras réduit la charge cognitive du développeur pour lui permettre de se concentrer sur les
parties du problème qui comptent vraiment.
Flexible - Keras adopte le principe de la divulgation progressive de la complexité : les flux de travail simples
doivent être rapides et faciles, tandis que les flux de travail arbitrairement avancés doivent
être possibles via un chemin clair qui s'appuie sur ce que vous avez déjà appris.
Puissant : Keras offre des performances et une évolutivité de pointe : il est utilisé par des organisations et
des entreprises telles que la NASA, YouTube ou Waymo. 133
Chapitre 3
DEEP LEARNING
7- Programmation Tensorflow
Keras & TensorFlow 2
TensorFlow 2 est une plateforme d'apprentissage automatique open source de bout en bout. On peut le
considérer comme une couche d'infrastructure pour la programmation différentiable. Il combine quatre
capacités clés :
1- Exécution efficace d'opérations de tenseur de bas niveau sur CPU, GPU ou TPU.
2- Calcul du gradient d'expressions différentiables arbitraires.
3- Adaptation du calcul à de nombreux appareils, tels que des clusters de centaines de GPU.
4- Exportation de programmes ("graphiques") vers des environnements d'exécution externes tels que des
serveurs, des navigateurs, des appareils mobiles et intégrés.
Keras est l'API de haut niveau de TensorFlow 2 : une interface accessible et hautement productive pour
résoudre les problèmes d'apprentissage automatique, en mettant l'accent sur l'apprentissage en profondeur
moderne. Il fournit des abstractions et des blocs de construction essentiels pour le développement et la
livraison de solutions d'apprentissage automatique avec une vitesse d'itération élevée.
Keras permet aux ingénieurs et aux chercheurs de tirer pleinement parti de l'évolutivité et des capacités
multiplateformes de TensorFlow 2 : On peut exécuter Keras sur TPU ou sur de grands clusters de GPU, et on
peut exporter les modèles Keras pour qu'ils s'exécutent dans le navigateur ou sur un mobile. 134
Chapitre 3
DEEP LEARNING
7- Programmation Tensorflow

from tensorflow.keras.models import Sequential


from tensorflow.keras.layers import Dense,Conv2D,Flatten,MaxPooling2D
model = Sequential()
model.add(layers.Conv2D(256, (3, 3), activation='relu',input_shape=(227, 227, 1)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(256, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(256, activation='sigmoid'))
model.add(layers.Dense(1, activation='sigmoid')) 135
Chapitre 3
DEEP LEARNING
7- Programmation Tensorflow

from keras import layers


from keras import models
from keras.layers import Dropout,MaxPooling2D,Dense,Flatten,Conv2D
model = models.Sequential()
model.add(layers.Conv2D(64, (3, 3), activation='relu',input_shape=(227, 227, 3)))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Conv2D(128, (3, 3), activation='relu'))
model.add(layers.MaxPooling2D((2, 2)))
model.add(layers.Flatten())
model.add(layers.Dense(256, activation='sigmoid'))
model.add(layers.Dense(1, activation='sigmoid'))
136

Vous aimerez peut-être aussi