Nothing Special   »   [go: up one dir, main page]

Projetrseauxdeneurones V3

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 62

See discussions, stats, and author profiles for this publication at: https://www.researchgate.

net/publication/317267407

Introduction au Data Mining - les réseaux de neurones Devoir Maison 2014/15


(Cours Master) Data Mining - an Introduction- Year 2016/17 (Master Classes
Project)

Technical Report · November 2016

CITATIONS READS

0 4,804

1 author:

Pascal Scalart
Université de Rennes 1
153 PUBLICATIONS   2,204 CITATIONS   

SEE PROFILE

Some of the authors of this publication are also working on these related projects:

Digital signal processing for high-speed coherent optical communications View project

All content following this page was uploaded by Pascal Scalart on 31 July 2017.

The user has requested enhancement of the downloaded file.


Introduction au Data Mining
Réseaux de Neurones

Devoir Maison

Cours « Modélisation Paramétrique,


Filtrage Optimal et Adaptatif »
Pascal SCALART (pascal.scalart@enssat.fr)

Ecole Nationale Supérieure des Sciences Appliquées et Technologie


Spécialité Electronique– 3ème Année

____________________________________________________________
-1-
-2-
-3-
-4-
Introduction
aux réseaux de neurones
__________________________________________________________
1. Modélisation d’un neurone
2. Le perceptron et sa version multicouche
2.1 – Le perceptron : fonctions de transition classiques
2.2 – Le perceptron : rôle de l’unité de biais
2.3 – L’erreur du perceptron : une fonction multidimensionelle
2.4 – Le perceptron multi-couches
3. L’apprentissage supervisé
3.1 – Choix de la base d’apprentissage
3.2 – Choix des attributs/descripteurs de la base d’apprentissage
O Nécessité de maîtriser la dimensionnalité
O Comment réduire la dimensionnalité ?
O Notre application

3.3 – Compromis Biais / Variance


O Quel est le lien avec l’erreur d’un modèle ?

3.4 – L’évaluation des performances de l’apprentissage


O Convergence du risque empirique vers le risque réel?
O Comment constituer la base d’apprentissage et la base de validation?
O La validation croisée à k-plis (k-fold cross validation)
O La méthode « leave one out cross-validation » (loocv)
O Méthodes jackknife & bootstrap

4. Algorithme d’apprentissage : backprogation


5. Quelques règles à suivre…si on veut que cela converge
O Algorithme AdaGrad

6. Quelques éléments pour éviter le sur-apprentissage !


O Pénalisation des poids du réseau
O Early-stopping (ou interruption prématurée)
O Problèmes des minima locaux : ajout d’un terme d’inertie (« momentum »)
7. Vers les réseaux de neurones profonds

Annexe A – Paramétrisation des données d’entrée


Annexe B – Le perceptron multicouche : calcul du vecteur gradient
Annexe C – Evaluation de la précision de l’estimation
Annexe D – La fonction d’erreur
Annexe E – Deep-learning & Auto-encodeurs
Annexe F – Traitement des Images & Deep-learning : Réseaux convolutionnels
__________________________________________________________

-5-
Propos Introductif
Le réseau profond de neurones comportant entre 2 à 10 milliards de neurones artificiels
(comparés aux 100 milliards de neurones du cerveau humain) s’impose de jour en jour dans le
traitement massif de données : (i) chez Google pour identifier les numéros de rues apparaissant
sur les images captées par les voitures Street View; (2) dans le projet PlaNet pour construire un
système automatique capable reconnaitre le lieu où une photo a été prise (sans aucune
information sur sa géolocalisation) qu'il s'agisse d'un paysage, d'une rue ou d'un monument;
(3) pour battre l’intelligence humaine avec la victoire en janvier 2016 d’AlphaGo sur le
champion du monde du jeu de go (l'un des jeux de stratégie les plus anciens et compliqués du
monde) ; (4) pour reconnaître et catégoriser les images (visages, objets, etc.) à la volée au sein
de flux vidéos.
Par ailleurs, durant ces dix dernières années, l’apprentissage automatique est à l’origine des
véhicules sans pilote, du gain d’efficacité de la recherche sur Internet et des percées
considérables dans notre compréhension du génome humain. Dans le cadre de ce projet, nous
allons étudier les principes à la base de ces techniques.
__________________________________________________________
1. Modélisation d’un neurone : une inspiration biologique
Dans les réseaux de neurones, l’élément de base est un neurone artificiel qui correspond à un
modèle issu des observations faites sur les neurones biologiques.

Le modèle utilisé pour « copier » un neurone biologique est le suivant. Il comporte :


• ,…,
des poids de connexions : , , … , ,
un certain nombre de signaux d’entrée :

• une fonction de transition : ,
• une fonction d’activation :
• un état de sortie : .

-6-
La valeur numérique du poids associé à une connexion entre deux unités reflète la force de la
relation existant entre ces 2 unités. Si cette valeur est positive, la connexion est dite excitatrice
et, si elle est négative, elle est dite exhibitrice.
Il existe différents modèles de neurones suivant les choix effectués pour les fonctions

, 〈 , 〉 ∑ ,
d’activation et de transition. On distingue :
• le neurone « produit scalaire » :
Les réseaux de neurones ainsi obtenus sont nommés : MLP ( Muti-Layer Perceptron)

• le neurone « distance » : , ‖ ‖ ∑ ,

Les réseaux de neurones ainsi obtenus sont nommés : RBF (Radial-Based Function).
Contrairement aux MLP, les réseaux RBF possèdent deux types de paramètres : (i) la
position et la dispersion radiale des fonctions de base et (ii) les poids qui permettent de
connecter ces fonctions de base aux unités de sortie.

Ces deux neurones sont liés à travers la relation : ‖ ‖ ‖ ‖ ‖ ‖ 2〈 , 〉.


Cependant, les structures de type MLP demeurent celles les plus souvent utilisées.

2. Le perceptron et sa version multi-couche


Nous considérons tout d’abord un type bien particulier de neurones, le perceptron, dont les
caractéristiques sont les suivantes :
• la sortie de la fonction de transition n’interagit pas avec les entrées. Il n’y a donc pas

, est de type « produit scalaire » et donc elle effectue


de rebouclage de la sortie vers les entrées (structure feedforward).
• la fonction de transition
une opération linéaire sur les entrées.

2.1. Le perceptron : fonctions d’activations classiques


On distingue trois cas principaux décrits ci–après. Lorsque la sortie est positive, on dit que
le neurone est actif. Dans le cas contraire, il est dit inactif.

• la fonction d’activation « linaire » :

. avec ∈"

• la fonction d’activation de type


« sigmoïde » ou « logistique » :

#$%& '(

• la fonction « tangente hyperbolique »


ou « bipolaire » :

$%& '( $%& '(


$%& '( #$%& '(

-7-
• la fonction ReLU (Rectified Linear Units)
utilisée de préférence dans les couches
cachées :

max 0,

• la fonction softmax (Rectified Linear Units) qui est une généralisation de la fonction
sigmoïde, et qui est utilisée sur la couche de sortie dans les problèmes de classification
multi-classes. Elle permet également de convertir les valeurs d’entrée en probabilités
d’actions dans le cadre de l’apprentissage par renforcement :

$%& '(
∑.
, 1 1, … , 3
-/0 $%& '-

2.2. Le perceptron : rôle de l’unité de biais


Parmi les différentes entrées de la fonction de transition, on ajoute une entrée supplémentaire
qui sera fixée à -1, dite unité de biais, qui permet d’introduire un terme de biais au niveau de
chaque neurone. Nota : on peut également la fixer à +1.

type perceptron) comportant (N+1) poids définis par l’ensemble 4 ,5 , ∈ 6 1, 7 189, et


Choisissions un neurone de type « produit scalaire » (car on travaille avec un neurone n°j de

supposons que l’entrée soit constante et égale à 1, on obtient alors en sortie de la


fonction de transition :
: ,5 5 ⇒ , : ,5 5
5 5

Nous avons vu que le neurone n°j sera actif ssi sa sortie est positive. Ainsi, le seuil
d’activation (ou de non-activation) du neurone n°j sera déterminé par la condition :

0⇒ , : ,5 5
5

Nous pouvons donc conclure que l’unité de biais , permet de fixer le seuil d’activité du
neurone n°j.

-8-
Note : dans l’espace " , l’équation ∑5 ,5 5 0 définit un hyperplan de dimension 7
1, dont un vecteur normal est défini par <=> , , , ,…, ,
0 entre l’activation et la non-activation du neurone j. Ainsi la
, il s’agit de l’hyperplan de
séparation lorsque ,
relation :

, : ,5 5
5

mais par le point ?5


réalise une translation de cet hyperplan de manière à ce qu’il ne passe plus par le point origine
5 ,5 car :

, : ,5 5 ⇔0 : ,5 5 ,5 ⇔0 : ,5 ?5
5 5 5

avec , ∑5 ,5 ,5 et ?5 5 ,5 .

2.3. L’erreur du perceptron : une fonction multidimensionelle


Reprenons le schéma du neurone n°j utilisant une fonction de transition de type « produit

du neurone ne va dépendre que de la connaissance des poids des 7 connexions


scalaire » vu antérieurement. Si l’on suppose que la fonction d’activation est fixée, la sortie

4 ,5 , ∈ A 1, 7 1B9 . Dans ce cas, si l’on suppose que le neurone devrait produire


« idéalement » la réponse C pour un vecteur d’entrée D , E ∈ A0, 7 1BF connu, alors l’erreur
quadratique (ou fonction de coût) commise par le neurone est donnée par :
1
G H
2
avec lM erreur H C P: ,5 Q
5

multidimensionelle des poids des 7 1 connexions :


Nous retiendrons pour la suite que cette fonction de coût est donc une fonction de la variable


G ∶ " #
STTTTTTTTTTTTTU "

1
,
V W ⋮ Y⟼G V [C P: ,5 5 Q\
2 5
,

Note : on remarquera que la fonction de coût précédente est une fonction de coût convexe
ce qui est un grand avantage afin d’éviter les problèmes liés à la présence de minima locaux
lors de la phase d’apprentissage des poids du réseau.

-9-
Figure – Minima locaux présents dans une fonction de coût J Θ , Θ non-convexe (cas bi-dimensionnel)
2.4. Le perceptron multi-couches
Un réseau de neurones (ou réseau connexionniste) est un groupe orienté, constitué d’un
ensemble d’unités simples (des neurones formels), réalisant des calculs élémentaires,
structurées en couches successives capables d’échanger de l’information au moyen de
connexions qui les relient. Il se caractérise par :
• son architecture,
• les fonctions (activation, transition) de ses éléments.

C
FORMALISATION DE LA PROBLEMATIQUE
Le vecteur représentant les sorties du réseau _ `C a est obtenu, à partir d’un vecteur de 7

variables explicatives b W ⋮ Y représentant les signaux en entrée du réseau Ψ . , suivant

la relation :
_ Ψ V, b d le modèle
où le bruit de modélisation d est supposé centré et indépendant du signal d’entrée b à valeurs
dans l’ensemble h.

-10-
On distingue 3 phases nécessaires à la « vie » du réseau :
• la phase d’apprentissage visant à « apprendre » la relation Ψ . liant les vecteurs _ à
valeurs dans i et le vecteur b, à valeurs dans j, contenant les variables explicatives,
• la phase de validation visant à vérifier si la relation Ψ . apprise à l’étape précédente
est pertinente (donc on connait la valeur des sorties escomptées),
• la phase de test visant à appliquer le réseau de neurones à de nouvelles entrées
n’ayant jamais participé aux 2 étapes précédentes d’apprentissage et de validation.

l’estimation de la fonction Ψ . :
Deux approches majeures sont envisagées afin de réaliser l’apprentissage c’est-à-dire

• l’apprentissage dit supervisé où l’on dispose d’un oracle qui, pour chaque entrée b,
attribue une étiquette _ grâce à une fonction inconnue de l’apprenant. L’apprenant
reçoit alors un ensemble d’exemples b, _ et la phase d’apprentissage vise alors à
expliciter la variable _, décrite par < individus 4_ k Ψ V, b k d k 9l∈A ,mB , à
partir de la connaissance de 7 variables explicatives synthétisées dans le vecteur b
… n

b ,_
. On dispose alors d’un échantillon c’est-à-dire d’un ensemble fini
o om
d’exemples .
l’apprentissage dit non-supervisé où l’on ne dispose pas des C constituant la variable _


à expliciter. Seules les 7 variables explicatives du vecteur b n
(ou
base d’apprentissage) sont disponibles. Le problème est alors de rechercher une
taxinomie (c’est-à-dire des caractéristiques communes) aux observations.

Les différents éléments du réseau pouvant être modifiés sont :


• la structure du réseau (nombre de connexions entrants à chaque neurone), nombre de
couches cachées, etc…
• le type des fonctions d’activation, et de transition du réseau,
• la valeur du poids des connexions entre neurones.

On suppose ici qu’un choix a été fait quant à la topologie du réseau c’est-à-dire que les 2
premiers éléments ci-dessus (nombre d’entrées, nombre de sorties, nombre de neurones sur
les couches cachées, et nombre de couches cachées) sont déjà spécifiés. Nous ne travaillerons
qu’avec un type bien particulier de réseau de neurones, le perceptron multi-couche (PMC) ou
Multi-Layer Perceptron (MLP), dont les caractéristiques sont les suivantes :
• le réseau est organisé en plusieurs couches,
• une couche = un groupe de neurones uniformes sans connexion les uns avec les autres,
• il comporte au moins 2 couches (une couche dite “cachée” et une couche de sortie),

les dimensions d’entrée p q et de sortie prsl peuvent être différentes,
une couche au moins n’est pas linéaire (souvent la couche cachée),

• une couche ne peut utiliser que les sorties des couches précédentes (structure
feedforward).

Quelle structure choisir pour construire la fonction d’approximation Ψ . ? Il a été prouvé


qu’une classe spécifique de réseaux de neurones (les réseaux de neurones à une couche cachée)
était suffisamment puissante pour pouvoir approximer presque n’importe quelle fonction avec
une précision arbitraire.

-11-
Théorème de Cybenko (1989): Pour toute fonction F continue définie et bornée sur un
ensemble borné, et pour tout ε, il existe un réseau à 2 couches (informations en entrée ->
couche cachée -> couche de sortie) où chaque neurone de la couche cachée possède une
fonction d’activation de type sigmoïde et où chaque neurone de la couche de sortie possède
une fonction linéaire comme fonction d’activation, qui approxime F à ε près.
En fait, il a été démontré par la suite par Hornik que la propriété précédente n’était pas due à
l’utilisation de fonctions d’activation de type sigmoïde sur la couche cachée, mais que cette
propriété provient de la structure multicouche feedforward du réseau.

Théorème de Hornik (1991): Toute fonction bornée suffisamment régulière peut être
approchée uniformément, avec une précision arbitraire, dans un domaine fini de l’espace de
ses variables, par un réseau de neurones comportant une couche de neurones cachés en
nombre fini, possédant tous la même fonction d’activation, et un neurone de sortie linéaire.

Cette propriété, qui n’est qu’un théorème d’existence, ne donne pas de méthode pour trouver
les paramètres du réseau !

3. L’apprentissage supervisé
Une fois sélectionnée la topologie du réseau, il ne nous reste donc qu’à décrire le type
d’apprentissage à réaliser : supervisé ou non supervisé. Dans l’apprentissage supervisé, on

être à même de déterminer la valeur que doivent prendre les sorties _ du réseau de neurones
suppose que l’on dispose d’un ‘oracle, ou d’un ‘expert’ ou bien encore d’un ‘superviseur’ qui va

aux différentes entrées b k de la base d’apprentissage.

apprendre automatiquement la valeur des poids optimaux V du réseau et satisfaire les 2


La tâche d’apprentissage consiste alors à chercher un moyen (c’est-à-dire un algorithme) pour

objectifs majeurs :
• (i) que les poids donnent de bons résultats lors de l’apprentissage à partir de K exemples

4_ k t Ψ V, b k 9l∈A ,mB
connus :

• (ii) que les poids ainsi appris possèdent de bonnes capacités de généralisation _
Ψ V, b lorsque l’on présente de nouveaux signaux b en entrées n’ayant pas
appartenu à la base d’apprentissage.

l’objectif (i) serait parfaitement atteint, mais les poids V ainsi appris seraient trop spécifiques
Il s’agit alors d’éviter les situations de sur-apprentissage c’est-à-dire les cas particuliers où

de la base d’apprentissage et auraient donc un trop faible pouvoir de généralisation. Nous

-12-
verrons ultérieurement quelles sont les procédures à notre disposition afin d’éviter cette
situation.

3.1. Choix de la base d’apprentissage


On pourrait penser que l’apprentissage est un processus passif devant les données, c’est-à-dire
n’ayant pas d’initiative dans le choix des données d’apprentissage. Pourtant, comme au jeu de
Mastermind, il est souvent plus intéressant de sélectionner les questions posées plutôt de les
prendre au hasard. En apprentissage automatique c’est également la même chose, les
exemples d’apprentissage doivent être le plus informatif possible pour qu’ils soient utiles (on
parle alors d’entropie en théorie de l’information). Les hypothèses concernant la base

• L’échantillon des observations u b ,_


d’apprentissage sont les suivantes :
o om
est supposé représentatif c’est-à-
dire b , _ ~w ,
• les observations u b ,_ o om
sont supposées indépendantes (en plus d’être
identiquement distribuées).

Exercice 1 – Enregistrement de la base de données d’apprentissage


Générer vos fichier.wav qui serviront à la phase d’apprentissage. Pour cela :

(a) installer/utiliser le logiciel Audacity et dans le menu > Edition


>Préférences…>Périphériques configurer le choix Canaux : 1(Mono)

(b) sélectionner > Fichier > Nouveau puis appuyer sur le bouton enregistrement (le
‘rouge’) pour procéder à l’enregistrement d’un des 3 chiffres ‘1’,’2’ ou ‘3’

(c) avec la souris, sélectionner la partie inutile de silence s’étendant du début de


l’enregistrement jusqu’au début du signal utile numérisé. Supprimer cette partie à
l’aide de la commande Suppr. Eviter à tout prix les saturations du signal.

(d) Réutiliser plusieurs fois la commande Suppr en début/fin de signal pour ne sélectionner
qu’uniquement les 150 ms de signal utile les plus représentatives. Vous pourrez utiliser
Ctrl+E pour zoomer sur la partie sélectionnée par la souris.

(e) une fois que subsiste environ 150 ms de signal utile , normaliser en amplitude le signal
à partir de l’onglet > Effets > Normaliser… et sélectionner Normaliser l’amplitude
maximale à : -1dB.

(f) Ecouter une dernière fois votre signal pour vérifier que le son est « intègre » et que vous
n’avez pas trop supprimé de signal. Enregistrer le fichier à l’aide de l’onglet > Fichier >
Exporter la sélection… en utilisant le format WAV signé 16 bits PCM et en précisant
votre répertoire de travail.

(g) recommencer les étapes (b) à (f) pour effectuer un autre enregistrement.

Note : Vous allez créer successivement un fichier représentant un ‘1’, puis un fichier
représentant un ‘2’, puis un fichier représentant un ‘3’, etc….et vous répéterez cette

-13-
opération 20 fois ce qui fera au total 3 y 20 60 fichiers dans la base d’apprentissage.
Vous appelez ces fichiers BDD_1_1.wav, BDD_2_1.wav, BDD_3_1.wav, …, BDD_1_20.wav,
BDD_2_20.wav, BDD_3_20.wav. Le premier chiffre désigne le type de chiffre prononcé et
le second chiffre, le numéro du fichier. De cette manière, si vous souhaitez ultérieurement
ajouter un autre chiffre à votre base de données, il sera aisé de le faire sans apporter de
gros changements dans vos programmes.

Par ailleurs, la théorie de l’apprentissage repose sur l’hypothèse que les données sont
indépendantes et identiquement distribuées (i.i.d.), tant au cours de l’apprentissage, qu’après,
en phase de test et de décision. C’est pourquoi, dans notre base d’apprentissage, nous
intégrons exactement le même nombre de fichiers de ‘1’, de ‘2’ et de ‘3’.

3.2. Choix des attributs/descripteurs de la base d’apprentissage


L’apprentissage s’appuie sur des données (des objets) qu’il faut représenter dans un espace de
représentation des données. Cette description se fait généralement suivant 2 directions :
• La description des données à partir des échantillons
• La description des données par un ensemble d’attribus. On peut par exemple d’écrire
un son à partir de son énergie, sa fréquence, sa durée…

NECESSITE DE MAITRISER LA DIMENSIONNALITE


La réduction de la dimension de l’espace d’entrée vise à rendre l’espace de représentation
mieux adapté à la tâche d’apprentissage et de rendre ainsi l’induction possible alors même que
la taille de l’échantillon d’apprentissage la rend problématique. En effet, un ensemble de
descripteurs réduits peut conduire à l’obtention de résultats d’apprentissage plus simples et
plus aisés à interpréter. Il faut alors porter attention :
• au choix des attributs utilisés pour effectuer la description des données. Il faut
supprimer les attributs non pertinents, et analyser les corrélations/dépendances entre
attributs. Une solution simple consiste à sélectionner un sous-ensemble de descripteurs
au sein des descripteurs d’origine.
• à réduire la dimension de l’espace d’entrée. En effet, le nombre d’hypothèses possibles
(c’est-à-dire les combinaisons possibles des poids du réseau) est fonction du nombre de
dimensions de l’espace d’entrée. Et donc, plus la dimension est grande, et plus grand
doit être le nombre d’exemples pour garantir en probabilité un lien entre le risque
empirique et risque réel.

Figure – Etape de description de l’information contenue dans le signal à analyser


-14-
Une description brute de l’information peut conduire à une représentation des observations
dans de grandes dimensions. En effet, On montre que le nombre de paramètres, pour une
précision donnée, croît exponentiellement avec le nombre de variables dans le cas des
approximateurs linéaires par rapport à leurs paramètres, alors qu’il croît linéairement avec ce
nombre pour les approximateurs non linéaires par rapport à leurs paramètres.

Ainsi, les descripteurs (ou attributs), donc les variables, peuvent être très nombreuses, et en
présence d’un nombre important de variables disponibles, nous devrions y trouver
l’information utile. Cependant dans ce contexte, où il n’y pas de tri, des variables bruitées ou
bien encore des variables « nuisibles » ou redondantes peuvent s’ajouter aux données. Or, des
analyses théoriques et des études expérimentales ont montré la faiblesse de nombreux
algorithmes en présence de variables non pertinentes ou redondantes1. Dans ce contexte, au-
delà des aspects de complexité de calcul et de capacité de stockage, la réduction de la
dimensionnalité peut permettre également d’améliorer les performances de classification. On
parle volontiers de l’expression « malédiction de la dimensionnalité » (curse of dimensionality)
ce qui indique que le nombre de dimensions de l’espace de description tend à nuire à la
recherche de régularités dans les données. Un cas extrême est celui dans lequel les descripteurs
sont bien plus nombreux que les exemples. On retrouve ce cas dans l’analyse du génome, les
textes ou images sur Internet.

COMMENT REDUIRE LA DIMENSIONNALITE ?

La diminution de l’influence de ces difficultés peut être obtenue par une réduction de la
dimensionnalité de l’ensemble de données; en d’autres termes, des variables caractérisant le
problème sont éliminées. Cette réduction ne peut se faire au hasard, elle doit évidemment se
concentrer sur des variables inutiles et non pertinentes. Si nous intégrons des entrées qui n'ont
pas véritablement de lien avec la variable cible, nous pouvons par exemple détériorer sans nous
en rendre compte la performance du réseau de neurones. À l'inverse, un fichier de données
comportant un nombre insuffisant d'entrées pourra ne jamais être modélisé de façon précise
par un réseau de neurones. Cette tâche apparaît dans le schéma global d’un processus de
classification comme la phase de « sélection/extraction de variables ». Il s’agit d’une phase
importante et incontournable, car elle conditionne le processus de classification. Deux
approches, illustrées à la figure suivante, sont principalement utilisées pour réduire la
dimension :
• l’extraction de caractéristiques, qui vise à réduire la dimensionnalité de l’espace
d’entrée en appliquant une transformation (linéaire ou non linéaire) sur les variables
initiales, afin d’obtenir une nouvelle représentation plus synthétique;
• la sélection de variables parmi les variables d’entrée, afin de retenir les plus pertinentes
de manière à former un sous-ensemble de variables préservant l’information utile.
Parmi les méthodes les plus utilisées pour la combinaison des variables, on trouve
naturellement l’analyse en composantes principales (ACP) qui réalise une projection
orthogonale des observations dans un espace de plus faible dimension telle que la variance,
des observations projetées, est maximisée. Les caractéristiques de la nouvelle représentation
ne sont donc pas corrélées et permettent d’apporter une réponse aux problèmes des variables

1
des variables redondantes conduisent à obtenir la matrice de covariance de l’ensemble de données singulières,
la rendant non inversible.
-15-
redondantes. Cette solution est fournie par l’algorithme SVD (Singular Value
Decomposition) ou la décompositions spectrale de la matrice de covariance empirique sur un
échantillon centré. Des extensions de la méthode ACP connues sous le nom de l’ACP à noyau
(méthode proche des SVM) ont été proposées pour des transformations non-linéaires, où, les
observations de l’espace d’origine sont projetées par une transformation non linéaire dans
l’espace des représentations. La méthode kernel-PCA réalise une ACP dans cet espace.

Figure – Réduction de la dimensionnalité : processus de


combinaison (gauche) et de sélection (droit)

NOTRE APPLICATION

numérisée à la fréquence 44.1kHz soit p ≅ 6615 échantillons qui constituent l’espace initial
Dans notre projet, chaque fichier de la base de données représente environ 150 ms de parole

de représentation. La réduction de la dimensionnalité est effectuée à partir des


étapes suivantes :
• Estimation de la DSP (densité spectrale de puissance) du signal à l’aide de la méthode

o fenêtrage du signal à l’aide d’une fenêtre de Hamming de p échantillons


du périodogramme fenêtré (cf. Elec2)

D < , < 0, … , < k 1F à l’aide d’une DFT réalisée sur < k 8192 points.
o transformation fréquentielle du signal temporel ainsi fenêtré

o Estimation de la DSP du signal : calcul du carré du module des composantes de

1
la DFT.
•€•• |ƒ | , 0,1,2, … , < k 1
< k
• Conservation des 1 < k⁄2 premières composantes de la DSP •€••
composantes se déduisent par symétrie hermitienne car le signal < est à valeurs
(car les autres

dans ").

Exercice 2 – Sélection des attributs de la base de données d’apprentissage


Réaliser un programme indépendant qui lit séquentiellement les 3 y 20 60 fichiers
audio de la base d’apprentissage et qui extrait de chaque fichier les attributs (encore
appelés descripteurs) de ce signaux. Pour cela :

(a) Réaliser une double boucle for…end qui lit séquentiellement les 60 fichiers de la base
d’apprentissage
>> for numfich = 1:20
>> for typeson = 1:3
>> name=['BDD_’,num2str(typeson),‘_’,num2str(numfich),‘.wav'];

-16-
>> [data,fs,Nbits] = wavread(name);% lecture fichier wav
>> ...
>> end
>> end

(b) sur chaque fichier, effectuer les différentes opérations mentionnées ci-dessus
(estimation de la DSP, puis stockage des premières composantes). Stocker ces

Attributs) de dimension 60 y 4097.


composantes dans un tableau bidimensionnel (soit donc une matrice que l’on nommera

(c) sauvegarder les paramètres nfft et Attributs dans un fichier de données au format
®matlab en utilisant l’instruction « save »

Dans le cas du signal de parole, il est fréquent de réduire l’espace de description en utilisant
une description du signal de parole selon des considérations psycho-acoustiques à l’aide des
MFCC (Mel Frequency Cepstrum Coefficients). Les opérations nécessaires pour obtenir une

dimensionnalité de la représentation de 1 < k⁄2 4097 dimensions à seulement 100


telle représentation sont décrites en Annexe A. De telles techniques permettent de réduire la

dimensions (1 information de puissance moyenne + 12 MFCC pour chaque trame de 20 ms pour


chaque signal d’une durée totale 150 ms). Ceci pourra constituer un prolongement de votre
projet.

3.3. Compromis Biais / Variance

Ψ . à partir de connaissances sur les données


Le problème de la construction d’un modèle

b, ‡ ∈ h y ˆ peut être formulé de à partir


d’une fonction de perte
‰: b ⟼ ‰ _, Ψ b ∈ "# .
On définit alors le risque ‹ Ψ associé à un
modèle Ψ selon
‹ Ψ Œ•‰ _, Ψ b Ž.
Ainsi le modèle peut être construit
analytiquement, à partir d’une parfaite
compréhension du phénomène observé, ou par des moyens statistiques, sur la base d’un

perte ‰ de type quadratique évaluée entre la sortie _ du système réel et la sortie Ψ V, b du


ensemble d’observations disponibles. En pratique, on fait souvent appel à une fonction de

réseau de neurones selon :

‹•é‘’ Ψ Œ6‖_ Ψ V, b ‖ 8 “‖_ Ψ V, b ‖ w , C ” ”C

où w , C exprime la densité de probabilité jointe des variables aléatoires Y et X.


Soit • l’ensemble constitué de toutes les modèles Ψ possibles, le modèle qui minimise ‹•é‘’ Ψ

Ψr–l argmin ‹•é‘’ Ψ


est donné par :

š∈›

-17-
Une telle fonction Ψr–l est appelée l’oracle, la fonction cible car elle produit un risque minimal
irréductible ‹œ q min ‹•é‘’ Ψ ‹•é‘’ Ψr–l . Malheureusement, en général, la loi de
š∈›
probabilité de _ est inconnue si bien que le risque ‹ Ψ est incalculable et donc l’approche
optimale n’est donc pas réalisable. On considère alors un modèle (ou fonction) Ψ V, b pour
lequel le risque conditionnel :
‹ Ψ Œ6‖_ Ψ V, b ‖ |b8
demeure proche de celui de l’oracle. Comme la fonction de perte est quadratique (donc
l’hypersurface d’erreur est convexe), ce risque conditionnel est minimisé parle prédicteur de
Bayes obtenu selon :
” ‹ Ψ, ”
0⇒ Œ6‖_‖ |b8 ‖Ψ b ‖ 2Ψn b Œ6C|b8 0 ⇒ Ψr–l b Œ6_|b8
”Ψ ”Ψ

QUEL EST LE LIEN AVEC L’ERREUR D’UN MODELE ?

L’idée est alors d’estimer ce risque à l’aide d’une connaissance limitée du signal d’entrée b
donnée par un échantillon d’apprentissage u 4 b , _ … b m ,_ m 9, supposé
représentatif. La densité de probabilité jointe w , C est alors remplacée par la distribution
empirique wu 1⁄3 ∑m • b , _ ce qui conduit au risque empirique suivant :
‹€u Ψ Œ6‖_ Ψ V, b ‖ž |b ∈ u8
Œu 6‖_ Ψ V, b ‖ž 8
Attention, ceci est le risque réel sachant que x appartient à un sous-espace contraint par
des hypothèses
L’utilisation d’un échantillon d’apprentissage u est équivalent à travailler dans un sous-espace
d’hypothèses • ⊂ •, ce qui conduit à la définition d’une fonction cible dans • selon :
Ψ argmin ‹ Ψ
r–l
š∈¡

Par ailleurs, l’application d’une règle d’apprentissage sur l’échantillon u permet d’obtenir une
fonction prédite qui sera notée Ψ ¢ . La relation entre ces différentes notions s’exprime selon la
décomposition :
¢ ¤¤¥¤¤
‹£¤¤
Ψ ‹ Ψ¤¤¦
r–l ¢
‹£¤¤¤¤¥¤¤¤¤¦
Ψ ‹ Ψr–l ‹£¤
Ψ¤r–l
¤¤¤¥¤‹¤¤
Ψ¤r–l
¤¦
$%§è¨ ©$ ª«¨¬-$ $ªª$-ª ©M$¨®«¯°®«±² $ªª$-ª ©M°&&ª±%«¯°®«±²

¢ obtenue à partir de l’échantillon d’apprentissage et la meilleure hypothèse possible


Ψ
Le premier terme, appelé erreur d’estimation, mesure le lien existant entre l’hypothèse

Ψr–l dans ℋ. Le second terme, appelé erreur d’approximation, correspond au biais introduit
par le choix d’un espace d’hypothèses ℋ.
L’étude de l’erreur de prédiction obtenue à partir de l’échantillon d’apprentissage u conduit à
la relation suivante

‹ V Œ6‖_ Œ _|b
£¤¤¤¤¤¥¤ ‖ 8
¤¤¤¤¦ Œ u ¸¹Ψ V, b Ψr–l b ¹ º
£¤¤¤¤¤¤¤¤¥¤¤¤¤¤¤¤¤¦ Œ u ¸¹Ψ V, b Œu Ψ V, b ¹ º
£¤¤¤¤¤¤¤¤¤¥¤¤¤¤¤¤¤¤¤¦
Œ ‖´‖µ » ¼ ½ ¼s ¾¼••é '¼• ¼q¾‘
¶ª-«® ©$ ¯±©é·«¨°®«±²

En raison des propriétés statistiques suivantes :


-18-
• Biais ` € a Œ €

• Var ` € a Œ € Œ` € a

• EQM ` € a Œ P` € a Q Biais ` € a Var ` € a

L’expression ci-dessus du risque ‹ V permet de déduire certaines règles afin de construire un


modèle Ψ . assurant un bon ajustement :

modèle Ψ . . Ceci conduit donc à un bon ajustement aux données de l’échantillon
Réduire le biais d’estimation peut être obtenu en augmentant la complexité du

d’apprentissage, mais malheureusement, augmenter la dimensionnalité du modèle


conduit obligatoirement à une augmentation de la variance.
• D’un autre côté, il est possible de réduire cette variance en diminuant la complexité du
modèle (et donc se restreindre à un modèle parcimonieux, i.e. économe en nombre de

l’échantillon d’apprentissage, soit donc à une augmentation du biais du modèle Ψ . .


paramètres). Mais ceci conduit à une moindre qualité d’ajustement aux données de

Figure – Complexité d’un modèle et compromis Biais/variance

estimé Ψ ¢ . en contrôlant l’ajustement du modèle, et la complexité du modèle. Les


Il nous faudra donc ré aliser un compromis entre le réglage du biais et de la variance du modèle

hypothèses suffisantes les plus simples sont les plus vraisemblables. Par ailleurs, coller de trop

bruitées. Un modèle Ψ ¢ . pourra ainsi se révéler très performant sur la base d’apprentissage
près aux données d’apprentissage est une mauvaise idée car elles sont inévitablement

(le biais sera faible), mais lors de la phase de test, ce modèle se révèlera peu pertinent lorsqu’on

de sur-apprentissage qui traduit l’obtention d’un modèle Ψ ¢ . n’ayant aucune capacité de


lui présentera de nouvelles entrées (en raison d’une variance importante). C’est le phénomène

généralisation sur de nouvelles entrées. On cherchera donc un modèle Ψ ¢ . intermédiaire qui

b ,_
sera en capacité d’apprendre sur la base d’apprentissage la relation existant entre les données
∈A ,m B
(donc réduire le biais suffisamment), mais qui conservera suffisamment de

des nouvelles données b, _ .


capacités de généralisation afin d’être en mesure de maintenir une faible variance en présence

3.4. L’évaluation des performances de l’apprentissage

Comment évaluer la performance d’une modèlisation Ψ ¢ . obtenue à l’aide d’un


On considère ici un apprentissage supervisé à partir d’un échantillon d’apprentissage.

-19-
l’algorithme ? Suffit-il de faire confiance au principe de minimisation du risque et de se fonder
sur la performance mesurée sur la base d’apprentissage? Il convient d’éviter le phénomène de
surapprentissage, (schématisé ci-dessous) qui correspond au cas où le risque empirique défini
par :
1 m
‹€u Ψ
ž
: ¹_ Â Ψ V, b  ¹ à HÄ b  , _  ∈Å
3
diminue au fur et à mesure que le système prend en compte davantage d’informations (soit par

d’apprentissage, cf. ci-dessous) tandis que le risque réel (évalué sur la base Æ de validation),
un accroissement du nombre d’exemples présentés, soit par une répétition des exemples

1
‹€Ç Ψ
¢ : ¹_  ¢ V, b  ¹ž à HÄ b  , _ Â
Ψ ∈Æ
p
d’abord décroissant, se met à augmenter après un certain stade.

Figure – Risque empirique mesuré sur les bases d’apprentissage et de test en fonction du nombre
de cycles d’apprentissage

CONVERGENCE DU RISQUE EMPIRIQUE VERS LE RISQUE REEL?

que si l’on considère un ensemble de È variables aléatoires É à valeurs réelles, centrées et


Une conséquence de la loi des grands nombres conduit à l’inégalité de Hoeffding qui stipule

indépendantes, et i.i.d. prenant chacune leurs valeurs dans l’intervalle 6Ã , Ê 8 alors :

1 Ð 2ÈÌ
∀Ì Í 0, ℙ PÏP : É Q Œ É Ï Ñ ÌQ Ò 2 exp Ô Õ.
È 1 Ð
∑ Ê Ã
È
Cette borne décroit très rapidement avec la valeur de È. En l’appliquant au risque empirique
‹€u Ψ et au risque réel et en supposant que la fonction de perte Ö . est à valeurs dans
l’intervalle 6Ã, Ê8, on a :

-20-
2ÈÌ
∀Ì Í 0, ℙ ׋€u Ψ ‹•é‘’ Ψ × Ñ Ì Ò 2 exp Ø Ù.
Ê Ã
On constate que cette borne décroît en fonction du nombre d’exemples È contenus dans la
base d’apprentissage. Quelle que soit la valeur de Ì, la différence entre risque empirique et

d’exemples È suffisamment grand de manière à atteindre la borne de probabilité voulue


risque réel, de probabilité sélectionnée, il sera toujours possible de choisir un nombre

(terme de droite de l’expression ci-dessus). Des résultats complémentaires au sujet de la


précision sont donnés en annexe C.

Exercice 3 – Enregistrement de la base de données de test


Générer 15 fichiers de la phase de test au format « .wav ». Pour cela, procéder comme
précédemment (cf. exercice n°1) pour enregistrer de nouveaux fichiers correspondants
à l’un des 3 chiffres ‘1’,’2’ ou ‘3’ . Il faudra que la base de test suive la même statistique
que la base d’apprentissage, en conséquence il y aura donc dans la base de test une
même fréquence d’apparition des 3 chiffres ‘1’,’2’ ou ‘3’. Eviter à tout prix les saturations
du signal.

Vous allez créer successivement trois fichiers : l’un représentant un ‘1’, puis un fichier
représentant un ‘2’, puis un fichier représentant un ‘3’, etc….et vous répéterez cette
opération 5 fois pour constituer l’ensemble des fichiers de la base de test. Vous appelez
ces fichiers TEST_1_1.wav, TEST_2_1.wav, TEST_3_1.wav et ceci jusqu’aux derniers
fichiers TEST_1_5.wav, TEST_2_5.wav, TEST_3_5.wav.

Une manière d’éviter le phénomène de sur-apprentissage consiste à utiliser la méthode


d’élagage (ou pruning en anglais) qui conduit également à une limitation de la complexité du
modèle en supprimant, une fois l'apprentissage terminé, des connexions (ou synapses), des
entrées ou des neurones du réseau. Deux algorithmes d'élagage sont particulièrement utilisés :
Optimal brain damage (OBD) et Optimal brain surgeon (OBS).
Un algorithme d’apprentissage sélectionne une règle qui minimise le risque empirique (i.e. sur
base apprentissage). Cependant, le risque réel (obtenu sur la base de test) est souvent
considéré comme le critère de performance le plus important du réseau de neurones. Il est
donc essentiel de pouvoir l’estimer de façon précise ce qui nécessite d’utiliser au mieux l’unique
élément à notre décision : les exemples de la base d’apprentissage.

COMMENT CONSTITUER LA BASE D’APPRENTISSAGE ET LA BASE DE VALIDATION?

Un problème fréquent est lié au fait que le nombre d’exemples disponibles pour constituer la
base d’apprentissage est souvent limité pour ne pas dire réduit. Plusieurs stratégies peuvent
alors être envisagées :
• utiliser toutes données d’apprentissage à la fois pour l’apprentissage et pour
l’estimation de la performance (i.e. le test). C’est la méthode de resubstitution qui
conduit souvent à du surapprentissage et qui est en général optimiste (i.e. conduit à
une valeur estimée de la performance qui sera plus faible que la valeur réelle). On dit
qu’il y a un biais.

-21-
• Pour éviter ce biais, on opère une distinction entre les données utilisées pour

distinctes : un échantillon d’apprentissage u et un échantillon de validation Æ. Il faut


l’apprentissage et celles utilisées pour la validation. On constitue alors 2 bases

On considère alors le cas où les 2 ensembles sont indépendants : u ∩ Û ∅.


alors utiliser une méthode de validation (ou testset validation, ou Hold-Out validation).

L’estimation du risque réel par une estimation de ‹€Û Ψ


¢ sur l’échantillon de validation
fournit une estimation non-biaisée du risque réel. L’intervalle de confiance de cette

de la valeur de ‹€Æ Ψ
¢ .
estimation ne dépend alors que du nombre d’exemples de l’échantillon de validation et

Figure – Méthode de validation simple ou Hold-Out (exemple pour 8 données)

Cependant, il est fréquent que le nombre total de données (card Å card Æ ) disponibles
pour constituer les échantillons d’apprentissage et de test soit trop faible pour envisager une

card Å ≫ card Æ , mais ne pas pouvoir l’évaluer avec une confiance suffisante à l’aide de
telle approche si bien qu’il faut choisir entre (i) apprendre suffisamment le modèle, lorsque

‹€u Ψ
¢ soit suffisamment faible car card Å ≪ card Æ . Une solution est alors d’utiliser une
l’échantillon de validation, ou (ii) ne pas être capable d’apprendre un modèle dont le risque

technique de validation croisée, on distingue alors deux techniques majeures :


• La méthode de « validation croisée à N-plis » (N-fold cross validation),
• La méthode « Leave One Out cross-validation » (LOOCV).

LA VALIDATION CROISEE A K-PLIS (K-FOLD CROSS VALIDATION)

échantillon Å d’apprentissage particulièrement facile/difficile (qui se traduit par un faible/fort


La méthode précédente présente le risque d’avoir malencontreusement constitué un

biais sur le modèle Ψ ¢ , ou bien alors un échantillon Æ de validation particulièrement


difficile/facile (qui se traduit par un fort biais sur la prédiction du risque réel). La méthode de la
validation croisée permet alors de « moyenner » ces conditions particulières et d’utiliser
l’ensemble des données disponibles à la fois pour les phases d’apprentissage et de validation.

taille égale (à 7/ . On utilise alors l’un de ces plis (disons le ième) pour effectuer l’étape de
On divise alors l’ensemble des données disponibles suivant k plis (ou sous-échantillons) de

validation et les 1 autres plis pour constituer la base d’apprentissage Å conduisant à


¢ . Le risque empirique ‹€Ç `Ψ
l’estimation d’un modèle Ψ ¢ a est alors évalué sur l’ième pli.

Après avoir répété cette opération k-fois, le risque moyen est alors obtenu selon :
1 5
¢
‹€Ç Ψ : ‹€Ç `Ψ
¢ a

-22-
Cette méthode fournit une estimation non biaisée du risque réel. En pratique, on choisit 80%

5. La procédure de validation croisée permet ainsi de faire le choix d’une


des données disponibles pour entraîner le réseau et les 20% pour la validation ce qui conduit à
une valeur de
structure pour le réseau de neurones (nbre de poids, nbre de couches cachées, …) : on choisira
ainsi la structure A par rapport à la structure B si l’intervalle de confiance obtenu avec la
structure A est dessous celui obtenu et ne se chevauche pas avec celui obtenu pour la structure
B.

Figure – Méthode de validation croisée à k = 4 plis

Une question importante demeure: quelle hypothèse apprise (i.e. quel modèle Ψ ¢ , E ∈ A1, B)
doit-on finalement utiliser ? Le modèle final est alors obtenu en apprenant un nouveau modèle
en utilisant la totalité des informations disponibles soit donc la totalité des k-plis.

LA METHODE « LEAVE ONE OUT CROSS-VALIDATION » (LOOCV)

La méthode du leave-one-out (inspirée de la technique d’estimation statistique par re-


échantillonnage appelée jackknife) est une technique adaptée au cas des échantillons de faible
cardinal. Il s’agit d’une méthode issue des travaux de Quenouille (1949) puis Tukey (1958). Elle
correspond à la limite de la validation croisée lorsque le nombre k de partitions de l’ensemble

donc utilisé pour effectuer la validation sur chaque pli, et cette validation est donc répétée 7
d’apprentissage-validation est égal au nombre de ses éléments N. Ainsi, un seul exemple est

fois en changeant d’exemple à chaque pli de l’étape de validation.


La méthode de jackknife est une méthode générale qui permet de construire récursivement un
estimateur permettant de réduire le biais d’un estimateur initial (c’est-à-dire celui de
l’estimateur estimant le risque sur la totalité des exemples disponibles).
Méthode Jackknife (ou couteau suisse)
On souhaite estimer l’espérance: à á â wã ” d’une v.a. X de densité de probabilité

Dâ , . . , q F ∈A ,qB d’échantillons disponibles, notés Dâ ƒ F ∈A ,qB , aussi on construit
inconnue. On suppose que l’on ne dispose uniquement d’un ensemble

1
l’estimateur naturel :
q
àä : â ƒ .
<
La méthode jackknife consiste à travailler avec l’estimateur suivant àäq q
∑å â ƒ
auquel l’observation < 1 a été enlevée. On calcule les pseudo-valeurs correspondant à la
r

-23-
différence entre les 2 estimateurs précédents àä∗ <àä < 1 àäq . L’estimateur
jackknife de à est alors donné par moyenne empirique des estimations partielles (i.e. pseudo
valeurs) donnée par àä∗ ∑q àä∗ .
q

Supposons que l’estimateur naturel soit biaisé : Œ àä à P1 ç ` aQ alors, étant donné


¼
q q

que : Œ `àä∗ a <Œ àä < 1 Œ `àäq a , on obtient:


à 1 à 1
Œ `àä∗ a <à Ø1 ç P QÙ < 1 à Ø1 çP QÙ à
< < < 1 < 1
On obtient donc un estimateur non biaisé car le biais du premier ordre a été supprimé. Ce
nouvel estimateur possède alors un biais qui ne comporte que de termes d’ordre supérieur à
deux, il est donc possible de réitérer les mêmes opérations afin de construire un estimateur
dont les termes de biais d’ordre supérieurs seront progressivement éliminés.

METHODE DU BOOTSTRAP

Nous venons de voir que l’estimation de l’erreur de généralisation peut être obtenue par la
technique « leave-one-out ». Le bootstrap permet également une estimation de cette erreur.
Le principe est le même : comme le jackknife, il s’agit d’une méthode dite de ré-échantillonnage
qui procède par simulation d’échantillons et qui ne nécessite aucune hypothèse a priori sur la
loi de probabilité sous-jacente, d’où sa généralité et sa puissance. Appliquée à la régression, le
bootstrap permet d’estimer les caractéristiques statiques de l’écart entre l’erreur
d’apprentissage et l’erreur de généralisation. L’approche est particulièrement adaptée aux
problèmes pour lesquels les échantillons d’exemples sont de petite taille.

Méthode Bootstrap (cas non-paramétrique)


On souhaite estimer l’espérance: à á â wã ” á â ”•
de densité de probabilité wã ”•ã ⁄” inconnue. On suppose que l’on ne dispose
d’une v.a. continue X

uniquement d’un ensemble Dâ , . . , q F ∈A ,qB d’échantillons disponibles, notés


Dâ ƒ F ∈A ,qB , aussi on construit l’estimateur naturel :
1 q
àä : â ƒ .
<
La méthode bootstrap consiste à estimer wã
ä
•ã obtenue à partir d’un échantillon bootstrap Dâ ∗ ƒ F ∈A ,5B composé d'un
à l'aide de la fonction de répartition empirique

rééchantillonnage avec remise de l'échantillon initial Dâ ƒ F ∈A ,qB . Afin d’assurer la


convergence de •äã vers •ã , cette méthode nécessite un nombre <è de k-échantillons

<. Ensuite, on réalise les opérations suivantes :


simulés assez grand. Par ailleurs, il est d'usage de considérer un échantillon simulé de même
taille que l'échantillon initial, i.e.

Pour b allant de 1 à <è


1- Sélectionner un k-échantillon « bootstrapé » é∗ Dâ ∗ ƒ F ∈A ,5B, chacun étant
obtenu à partir de l’échantillon initial par k tirages aléatoires avec remise,

1
2- calcul de la statistique (ici la moyenne empirique) à partir de l'échantillon bootstrap :
5
àä∗ Ê : â∗ ƒ
Estimer ensuite la valeur moyenne et l’écart-type obtenus sur les <è k-échantillons simulés :
-24-
1 qê 1 qê
àä∗ : àä∗ Ê et ìí∗ : àä∗ Ê àä ∗
<è » <è 1 »

consistance de l’estimateur bootstrap : l’estimation ìí∗ converge vers ìîä , l’écart-type du


Alors, l’un des résultats théoriques de cette méthode (proposée par Efron, 1993) porte sur la

paramètre à évalué suivant la distribution •ä de l’échantillon Dâ , . . , q F ∈A ,qB, soit :


lim ìí∗ ìîä
qê ⟶ð

un nombre <è de répliques de l’ordre du millier.


Afin d’obtenir des intervalles de confiance suffisamment faibles, il est nécessaire de considérer

L’intérêt du bootstrap pour les réseaux de neurones réside dans la capacité à automatiser la

alors avec â b _ Ψ ¢ b où b, _ désigne un exemple d’entrée et sa sortie associée. Soit


régularisation du réseau aux données par contrôle de l’arrêt de l’apprentissage. On travaille

l’écart entre l’erreur moyenne d’apprentissage calculée sur la base bootstrapée et l’erreur

aléatoire représentative de l’écart entre l’erreur d’apprentissage ‹€ñ Ψ ¢ et l’erreur de


moyenne de test évaluée sur la base initiale, et considérons cet écart comme une variable

généralisation ‹€ò Ψ¢ .
Désignons par Ì»,∗ l’erreur moyenne d’apprentissage Œèó,∗ 6â ∗ b 8 du réseau entraîné sur la
Ê èœ‘ base bootstrapée é»,∗ et par Ì l’erreur moyenne du même réseau Œè 6â b 8 calculée sur
la totalité de la base é. On étudie alors la statistique de l’erreur •»,∗ Ì»,∗ Ì qui peut alors
être considérée comme une variable aléatoire représentative du phénomène de sur-
apprentissage. Cet écart peut être considéré comme le biais apparaissant sur l’estimation de
l’erreur de généralisation par l’erreur d’apprentissage. La connaissance des statistiques (biais
et variance) de cet écart peut donc servir à stopper la phase d’apprentissage fin d’éviter le

être estimée sur des bases bootstrapées 4é»,∗ 9»∈A ,q B suivant :


phénomène de sur-apprentissage. Alors, l’espérance δ et la variance σ du biais peuvent alors
ê

1 qê 1 qê
•̅ : •»,∗ et ìíõö : •»,∗ •̅
<è » <è 1 »

L’intervalle de confiance à 95% peut être calculé par bootstrap :


2 ìíõö
ℙ Ø׋€ñ Ψ
¢ ‹€ò Ψ
¢ ×< Ù 0.954.
√<è
L’approche classique conduit alors à constituer trois bases : (i) une base de validation et (ii) une
base de validation afin d’être en mesure de comparer plusieurs modèles (réglage des méta-
paramètres) qui devront suivre la même distribution que l’échantillon d’apprentissage. Enfin la
base de test (iii) servira évaluation finale du modèle retenu.

4. Algorithme d’apprentissage : backprogation


Le principe général de l’apprentissage supervisé est résumé sur la figure ci-dessous (dans le cas

instants k 0,1,2, .. , à présenter successivement à l’entrée du réseau de neurones un vecteur


particulier où l’on considère 2 neurones sur la couche de sortie). Il consiste, pour tous les

d’entrée b k dont on connaît la valeur attendue en sortie du réseau _ k . Par exemple, dans
le cas d’une problématique de classification de plusieurs unités vocales élémentaires (« un »,
« deux », « trois »,..), on présentera en entrée du réseau les attributs relatifs aux unités vocales
-25-
élémentaires et l’on voudra que les sorties à valeurs binaires (0 ou 1) soient activées à 1 lorsque
l’unité vocale présente en entrée correspond à une classe donnée (et soient inactives dans le
cas contraire). Si l’on souhaite ainsi discriminer les 9 unités vocales « un », « deux »,…, « neuf »
et bien on choisira 9 sorties sur la couche de sortie.

En supposant que la couche de sortie est de dimension prsl , nous considèrerons une fonction
de coût donnée par le risque empirique suivant :
1 1
G k : ¹H k ¹ avec l′erreur Hœ k Cœ k Cíœ k
ùúû

prsl œ 2 œ
où les DCíœ k , ∈ A0, prsl 1BF correspondent aux sorties du réseau de neurones lorsque le
vecteur k (décrivant les attributs su signal) est présenté à l’entrée du réseau, et les
DCœ k , ý ∈ A0, prsl 1BF sont les valeurs désirées en sortie. Dans le cas où l’on a prsl 2
neurones sur la couche de sortie, l’ensemble du système d’apprentissage peut être
schématisé suivant :

Cas du perceptron simple : Comment trouver les poids du réseau pour bien
approcher les données ?
Comme vu précédemment au paragraphe 2.3, la fonction de coût associée au perceptron (une
seule sortie, pas de couche cachée) est une fonction multidimensionnelle des N poids des
connexions :

G ∶ " STTTTTTTTTTTTTTU "
,
1
V W ⋮ Y⟼G V [C P: ,5 5 Q\
2 5
,

Dans la phase d’apprentissage, les poids des connexions vont également varier dans le temps,

on a donc :
G ∶ " STTTTTTTTTTTTTTU "
k
, 1
V k Ô ⋮ Õ ⟼ G V ,k [C k P: k k Q\
k 2 5
,5 5
,

-26-
chaque itération k les poids 4 ,5 k , ∈ A0, 7 1B9 du neurone n°j selon :
On souhaite trouver les poids optimaux de manière adaptative c’est-à-dire en incrémentant à

,5 k 1 ,5 k ∆ ,5 pour k 0,1,2, … et ∈ A0, 7 1B

où ∆ ,5 représente l’incrément du poids ,5 de la connexion entre les instants k et k 1. Si


l’on considère les 7 poids des connexions, cette relation s’écrit sous forme vectorielle :

, k 1 , k ∆ ,
Ô ⋮ Õ Ô ⋮ Õ Ô ⋮ Õ
, k 1 , k ∆ , pour k 0,1,2, …

⇔ V k 1 V k ∆V

s’agit de vecteurs 7 y 1. On cherche donc l’incrément ∆V qui minimise la fonction de coût G.


La notation en gras indique que les variables sont maintenant multidimensionnelles, car il

Figure – Modélisation d’un neurone : notations.

En considérant l’approximation au premier ordre de G donnée par son développement de


Taylor-Young au 1er ordre (pour les fonctions de plusieurs variables) :
G `V k 1 a G V k ∆V
G `V k a 〈∆V , G `V k a〉 ∆V
où le reste de Taylor et le produit scalaire possèdent les propriétés suivantes :

lim ∆V , 0 et 〈 , 〉 ∑5
¹∆V ¹→

On cherche à minimiser la fonction coût G soit, entre les instants t et t+1, à faire en sorte que
la différence
G `V k 1 a G `V k a 〈∆V , G `V k a〉 ∆V ,5

soit la plus négative possible (décroissance de la fonction de coût). En supposant que

est faible soit lorsque ¹∆V ¹ → 0, on a alors lim


l’incrément
∆V ,5 0, et donc :
¹∆V , ¹→

lim G `V k 1 a G `V k a 〈∆V , G `V k a〉
¹∆ , ¹→

-27-
Cette différence peut encore s’exprimer en fonction du produit scalaire entre les 2 vecteurs
〈∆V , G `V k a〉 et l’on sait que le produit scalaire sera minimisé lorsque les 2 vecteurs seront
colinéaires et en opposition soit :

∆V G `V k a avec ∈ "#∗

Il faut donc que l’incrément soit un vecteur opposé au gradient de la fonction de coût.
L’algorithme d’adaptation s’obtient à l’aide des 2 formules précédemment encadrées :

V k 1 V k G `V k a pour k 0,1,2, …

Ce qui s’écrit encore suivant :


G
, k 1 , k (, l
Ô ⋮ Õ Ô ⋮ Õ ⋮ k 0,1,2, …
k 1 k
pour
G
, ,
(, 0 l

Cet algorithme est appelé algorithme du gradient, ou bien encore algorithme de descente
maximale (en raison de la décroissance maximale de la fonction de côut). La constante positive
est appelée le pas de l’algorithme, ou bien encore le taux d’apprentissage. Dans le contexte
des réseaux de neurones, cet algorithme est encore appelé algorithme de rétropropagation
des erreurs (ou backpropagation) et son fonctionnement est décrit au sein de l’Annexe B. Il est
basé sur 2 étapes majeures : (i) l’inférence où l’on calcule la sortie correspondant à chaque
exemple, et (ii) la retro-propagation où l’on calcule l’erreur entre sortie désirée et sortie
calculée, puis l’on propage cette erreur pour calculer le gradient des poids du réseau.

(a) propagation de l’activité entrée-> cachée (b) propagation de l’activité cachées->sortie

-28-
(b) calcul de de l’erreur (d) retro-propagation de l’erreur (couche sortie)

(e) ) retro-propagation de l’erreur (couche cachée)


Dans l’exercice ci-dessous, vous devrez alors programmer les équations (1) et (2) décrites au
sein de l’Annexe B de ce document. Si vous voulez avoir une programmation efficace sous
®matlab, vous devrez à tout prix programmer au plus haut niveau possible (vecteurs ! et mieux
matrices !). Et surtout éviter les boucles imbriquées qui calculent à partir d’échantillons
individuels comme l’exemple suivant où l’on met en évidence le terme multiplicatif M 5
dans la mise à jour donnée par la relation (2)
>> tic
>> calcul = ... % on fait le calcul n°1 indiqué au sein de la formule (2)
>>
>> for neurone = 1 : Lcachee
>> for entree = 1 : Lin
>> PoidsCaches(entree,neurone)=...*gprime(neurone)*x_input(entree)*calcul(neurone)
>> end
>> end
>> toc

En utilisant directement un vecteur x_input, les calculs seront plus efficaces. Le vérifier
avec les instructions ®matlab « tic » et « toc »
>> tic
>> calcul = ... % on fait le calcul n°1 indiqué au sein de la formule (2)
>>
>> for neurone = 1 : Lcachee
>> PoidsCaches( :,neurone)= ...*gprime(neurone)*x_input(:)
>> end
>> toc

Avant de vous lancer dans la programmation, jetez un petit coup d’œil à la page de Brian
Dolhansky (http://briandolhansky.com) de l’équipe Applied Machine Learning (AML) chez
Facebook. Consultez notamment sur son blog, la page Artificial Neural Networks: Matrix
Form (Part 5) afin de vous convaincre de travailler avec les produits matriciels. En effet, en
introduisant les vecteurs/matrices suivantes (cf. notations de l’annexe B) :
l
k Ä , "
b W ⋮ Y, k Ô ⋮ Õ, W ⋮
Y, W ⋮ Y,! W ⋮ Y
£¤¤¥¤
¤¦ l
£¤¤¤¤¥¤ k £¤Ä¤¥¤¤¦ £¤¤¤¥¤
餤¦ "
£¤¤¤¥¤é¤
¤¦
é ¤¤¤¦ ,
y y y é y é y
é

Vl k ,œ & Cí C
# k Ô ⋮ Õ , V$ W ⋮ Y,% W ⋮ '
Y,_ Ô ⋮ Õ,_ W ⋮ Y
V l
£¤¤¤¥¤¤¤¦k £¤¤¤¤¥¤
é ¤¤¤¦
,œ £¤&¤¥¤
ùúû ¤¦ Cí¤¥¤
£¤ ùúû ¤¦
C¤¥¤
£¤ ùúû ¤¦
ùúû

ùúû y é é y ùúû y ùúû y ùúû y

-29-
PMP avec adaptation avec l’algo. du gradient stochastique
En utilisant les notations vecteurs/matrices suivantes, les opérations effectuées au sein
d’un perceptron multicouches (PMP) possèdant une seule couche cachée s’écrivent de
manière compacte suivant :
• Propagation « avant/forward » couche cachée:
k b
! (
• Propagation « avant/forward » couche sortie:
% # k !
' ) %
_
* _ _ '
• Propagation « arrière/backward » couche sortie:
+ * ⨀)′ %

# k # k + !. "¤ " ¤é¤¤¦
-
1 + !. Ô ⋮ Õ £¤…¤¤¥¤

avec
£¤¥¤¦
ùúû
ùúû y é

ùúû y

+ # k + ⨀(′
Propagation « arrière/backward » couche cachée:
¾¼¾/é‘
-
k 1 k + ¾¼¾/é‘ b.
ùúû

Exercice 4 – Algorithme de mise à jour des poids

de l’ensemble de l’ensemble p q 1 y p¾¼¾/é‘ + p¾¼¾/é‘ 1 y prsl 410 103 poids


Ecrire l’algorithme de mise à jour des poids d’un réseau de neurones qui réalise la mise à jour

d’un réseau de neurones comportant p q 1 7 k⁄2 4097 entrées , prsl 3


neurones sur la couche de sortie, et p¾¼¾/é‘ 100 neurones sur la couche cachée. Pour
cela, procéder suivant les étapes suivantes :

Réaliser une boucle qui lit séquentiellement l’ensemble des attributs de la base

dimension 60 y 4097). Pour chaque exemple (= chaque fichier « son »), un total de 1
d’apprentissage (stockés préalablement dans le tableau bidimensionnel Attributs de

7 k⁄2 attributs seront présentés en entrée du réseau. Chaque exemple sera numéroté par
un paramètre k :

>> sonsUn = randnperm(20) - 1 ;


>> sonsDeux = randnperm(20) - 1;
>> sonsTrois = randperm(20) - 1 ;
>> t = zeros(3*20,1) ;
>> t(1 :3 :length(t)) = 1+3* sonsUn ;
>> t(2 :3 :length(t)) = 2+3* sonsDeux ;
>> t(3 :3 :length(t)) = 3+3* sonsTrois ;

(1) Ecrire l’algorithme de backpropagation décrit par les équations (1) et (2) vues

fonctions d’activation de type « sigmoïde » pour . et . . On montrera que la dérivée


précédemment. On choisira des fonctions de transition de type « produit scalaire » et des

de ces fonctions vérifie la relation :


-30-
⇒ M
y `1 a
#$%& '(

sera nommé PoidsCaches de dimension 1 p q y p¾¼¾/é‘ et le second tableau sera


(2) On utilisera deux tableaux contenant les poids du réseau de neurones : le premier tableau

nommé PoidsSortie de dimension 1 p¾¼¾/é‘ y prsl . Les poids de ces 2 tableaux


seront initialisés par tirage aléatoire dans une loi uniforme de 0 ` , a. Il ne faudra
pas oublier de prendre en compte l’unité de biais intégrée à chaque neurone.

(3) Pour chaque exemple n°k de la BDD d’apprentissage présenté en entrée du réseau, vous
devrez calculer les valeurs `Cíœ k a
œ , ,
sur la couche de sortie du réseau, puis ensuite

calculer l’erreur Hœ k Cœ k Cíœ k . La supervision `Cœ k a


œ , ,
sera alors
apportée par un triplet 1 0 0 , 0 1 0 ou 0 0 1 selon que le paramètre
typeson vaut 1, 2, ou 3 (il suffit de calculer le reste de la division par 3 du numéro k du
fichier à l’aide de l’instruction « rem » de ®matlab). Pour chaque exemple n°k, on
calculera alors la somme des carrés des erreurs :
G k ∑œùúû Hœ k
ùúû

(4) Une fois que tous les exemples de la base d’apprentissage ont été présentés à l’entrée de

base d’apprentissage : 1‰È


la base d’apprentissage, l’erreur quadratique moyenne sera évaluée sur l’ensemble de la
∑ y2 G k et l’on affichera cette valeur dans la
y2 l
console.

(5) continuer l’apprentissage du réseau jusqu’à ce que le critère d’arrêt 1‰È < Ì soit atteint
(on choisira Ì de l’ordre de 10 3). On devra alors alors voir l’affichage de l’EQM diminuer
à chaque fois que l’on aura présenté l’ensemble des exemples de la BDD d’apprentissage.

(6) L’objectif de cette exercice n°4 est simplement de faire converger l’algorithme de mise
à jour des pondérations du réseau de neurones, c’est-à-dire d’observer que la valeur
affichée de l’ 1‰È diminue au fur et à mesure de la présentation des exemples de la base
d’apprentissage.

5. Quelques règles à suivre…si on veut que cela converge !


Ces règles sont déduites de l’article scientifique « Efficient BackProp » , Y . Le Cun, L. Bottou,
G.B. Orr and K.R. Müller, originally published in Neural Networks; tricks and the Trade, Springer
1998. Disponible ici : Efficient BackProp.pdf. L’un de ces auteurs, Yann Le Cun, est l’un des
spécialistes mondiaux de l’apprentissage profond, il a notamment dirigé le laboratoire
d’Intelligence Artificielle (IA) de Facebook aux Etats-Unis. Voir ses nombreuses conférences à
ce sujet sur les vidéos de You Tube. Il est le titulaire de la chaire "Informatique et Sciences
Numériques" du Collège de France.
Choose examples with maximal Information content
o Shuffle the training set so that successive training examples never (rarely)
belong to the same class : cf. bootstrap, jackknife, cross-validation.
o Present input examples with nearly equal frequencies per classes (ça c’est fait !)
-31-
o Entropie : Present input examples that produce a large error more frequently
than examples that produce a small error. However, one must be careful when
perturbating the normal frequencies of input samples

Exercice 5 – Mélanger l’ordre dans lequel on présente les exemples


A chaque fois que l’on représente au réseau de neurones l’ensemble des exemples de la
base d’apprentissage, nous allons cette fois-ci les présenter dans un ordre différent (mais
toujours un « un », suivi d’un « deux », suivi d’un « trois »). Utiliser l’instruction
« randperm » sous ®Matlab pour effectuer des permutations au sein des vecteurs
sonsUn, sonsDeux et sonsTrois.

Normalize the inputs


o The average of each input variable over the training set should be close to zero
o Scale input variables so that their covariances are about the same
o Input variable should be uncorrelated if possible

Exercice 6 – Normaliser les données à l’entrée du réseau


Une fois que le tableau des Attributs de dimension 60 y 4097) est disponible (a)
calculer la valeur moyenne et la variance sur chaque attribut (donc effectuer ce calcul
sur des statistiques temporelles calculées sur 60 valeurs disponibles), puis (b)
normaliser l’ensemble du tableau Attributs de manière à obtenir une v.a. centrée
réduite sur chaque dimension en entrée. Il faudra également normaliser de la même
façon les données de la base de test.

Initialization of the algorithm


The largest difference between classical linear models and neural networks is that the
nonlinearity of a neural network causes most interesting loss functions to become non-
convex. Convex optimization converges starting from any initial parameters (in theory — in
practice it is very robust but can encounter numerical problems). Stochastic gradient descent
applied to non-convex loss functions has no such convergence guarantee, and is sensitive to
the values of the initial parameter. For feedforward neural networks, it is important to
initialize all weights to small random values. The biases may be initialized to zero or to small
positive values

o Assuming that (i) the training set has been normalized and (ii) the symmetric
sigmoid has been used then…

zero and standard deviation ì 1⁄√ý where ý is the fan-in (the number of
o …. weights should be randomly drawn from a uniform distribution with mean

connections feeding into the node)

Exercice 7 – Initialisation les poids


Prendre en compte l’information ci-dessus afin d’optimiser la valeur d’initialisation des
poids des neurones suivant qu’ils se situent sur la couche cachée ou la couche de sortie.

Choosing learning rate


o Many (empirical) schemes have been proposed in the literature to automatically
adjust the learning rate
-32-
-
k #4 l
-
o Of the general form or computed from the Hessian of the error
k 6µ G
5#〈
surface

6 µ
7 ,(

Algorithme AdaGrad
L’algorithme AdaGrad (Adaptive Gradient) proposé en 2011 a montré une certaine
efficacité dans plusieurs applications de classification par réseaux de neurones. AdaGrad

calculatoire. Plus précisément, notons V G `V k , b ; _ a le gradient de la fonction de


est souvent utilisé dans sa forme diagonale, car il est alors peu coûteux d’un point de vue

de coût obtenu à l’instant k, alors le pas d’apprentissage est variable au cours du temps et,
et il est donné pour chaque poids par :

l
5
pour 1, … , p
1 9l
5

9l représente l’accumulation des carrés des gradients estimés par le passé pour :
avec la valeur initiale du pas d’apprentissage (commun à tous les poids du réseau) et
5

1,2, … , k
k
9l 5 : ¸ V
5
G `V : , b ; _ aº
: 1

V k 1 ⟵ V k 9l 5
5
l

Equalize the learning speeds


o Give each weight its own learning rate
o Learning rates should be proportional to the square root of the number of the
inputs to the unit
o Weights in lower layers should typically be larger than in the higher layers

Exercice 8 – Valeur du pas d’adaptation

d’adaptation des poids des neurones : (1) en établissant un pas d’adaptation k


Prendre en compte l’information ci-dessus afin d’optimiser la valeur du pas
-
variable au cours du temps (on choisira pour la couche cachée r 0.5 et on
fixera le paramètre < de manière à atteindre une valeur contrôlée du pas
#4 l

d’adaptation lors de la présentation des derniers fichiers de la base de données


d’apprentissage) et (2) en établissant un pas d’adaptation différent entre les
neurones qui appartiennent à la couche de sortie ou à la couche cachée.

6. Quelques éléments pour éviter le sur-apprentissage !

PENALISATION DES POIDS DU RESEAU

Ω Ψ
L’approche par régularisation consiste à introduire un terme de pénalité sur une norme
au sein de la fonction de coût à optimiser. On obtient ainsi une nouvelle fonction
objectif définie par :
-33-
‹′ Ψ ‹ Ψ • Ω Ψ
Le paramètre • ∈ " ∗#
est un hyperparamètre qui pondère la contribution relative du terme
de pénalité.

Remarque importante : cette pénalité n’est appliquée dans les réseaux de neurones
qu’uniquement pour les poids du réseau de neurones qui participent à la représentation affine,

régularisation. Il est également envisageable de définir un paramètre spécifique > pour chaque
c’est-à-dire que les poids des biais ne sont pas pénalisés à l’aide de cette approche de

couche du réseau, mais ceci peut complexifier la recherche des valeurs optimales des
hyperparamètres.

L’une des pénalités les plus utilisées considère une régularisation sur la norme Ö pour laquelle
Régularisation de Tikhonov (encore nommée « Ridge regression » ou « Weight decay ») :

Ω Ψ ‖ ‖ . Cette modification de la fonction de coût conduit à un vecteur gradient donné


par :
‹′ Ψ ‹ Ψ •
Soit alors pour le neurone n°j :
V k 1 V k V G′ `V k a pour k 0,1,2, …

1 • V k V G `V k a

Interprétation : L’insertion de ce terme de régularisation peut être étudié en supposant que la


fonction de coût est quadratique (ce que l’on rencontre dans les problèmes de régression

?
linéaire avec un critère d’erreur quadratique moyenne minimale), ainsi on a :
@ V1 V1
wk ò
‹ Ψ ‹ Ψr–l V1 V1
wk
ž
avec @ représentant la matrice hessienne, définie positive, de ‹ relativement aux poids V du


neurone n°j. Si maintenant on ajoute le terme de pénalisation, on obtient

‹′ Ψ ‹ Ψ ¹V 1 ¹
2

@ V1 V1 @ • A 1 @ V1
Et donc la solution optimale est obtenue pour la nullité du gradient soit :
• V1 0 ⇒ V1
wk wk

La matrice hessienne étant définie positive, elle peut être décomposée suivant @ BCBò , et
donc on peut re-écrire l’expression précédente selon :

V
M r–l
B £¤
C ¤¤¤¥¤ C Bò Vr–l
• A¤¤¤¦
œ¼l• ¾‘ D ¼Erq¼’‘

Lorsque • ⟶ 0, alors VM r–l ⟶ Vr–l et l’on retrouve la convergence vers la solution optimale
minimisant ‹ Ψ . Dans le cas contraire, la présence de l’hyperparamètre • permet d’éviter des
problèmes de singularité de la matrice C. De plus, les vecteurs propres de @ contenus dans la
matrice B sont pondérés par un facteur > ⁄ > • . Ainsi, seules les directions pour lesquelles
la valeur de l’hyperparamètre • ≪ > sont conservées dans le choix de la direction de descente
de l’algorithme du gradient, les autres directions pour lesquelles • ≫ > étant
automatiquement supprimées car elles ne contribuent pas significativement à la diminution de

-34-
conduit à un modèle Ψ parcimonieux.
la fonction de coût. Certains coefficients seront donc automatiquement forcés à zéro ce qui

La fonction de coût ‹′ Ψ est la somme de 2 fonctions de coûts convexes : d’un côté ‹ Ψ , la


fonction de coût initiale, et de l’autre Ω Ψ ¹V1 ¹ liée à la norme des poids du neurone
õ

n°j. Ce dernier terme réalise en


quelque sorte un « rappel » vers
l’origine de la solution initiale
V
r–l
afin de constituer une nouvelle
solution V
M r–l
.

Note : d’autres techniques de


régularisation ont été proposées
pour effectuer l’opération de

Ω Ψ
régularisation. On trouve

F
notamment des
¹V1 ¹F où la norme ÖF est définie
õ
F
⁄F
par ÖF ∑q E F ce qui
conduit au problème suivant :

G min ‹′ Ψ
q
min P‹ Ψ : E FQ
š š H
A l’aide des multiplicateurs de Lagrange, on montre que cette dernière formulation est
équivalente à :
min ‹ Ψ
G I
š

. Ä. H. :
q
F
E Ò

fonction de la valeur du paramètre H. Dans le cas d’une pénalisation de la norme Ö (i.e. H 1),
Dans le cas bidimensionnel, on obtient les différentes hypersurfaces d’erreurs suivantes en

l’algorithme ainsi obtenu est dénommé algorithme lasso (Least Absolute Shrinkage and
Selection Operator).

EARLY-STOPPING (OU INTERRUPTION PRÉMATURÉE)


Lorsque phase d’apprentissage conduit au phénomène de sur-apprentissage, l’erreur sur la
base d’apprentissage décroît régulièrement au cours du temps, mais l’erreur obtenue sur les

paramètres du modèle Ψ . conduisant à une plus faible erreur sur la base de validation (et
données de validation se met à augmenter. Il est donc possible de trouver un jeu des

-35-
donc, sans doute, sur la base de test) en revenant au réglage de paramètres assurant une valeur
minimale de l’erreur sur la base de validation. Cette procédure est spécifiée ci-dessous :

Algorithme Early-Stopping
Soit < le nombre d’itérations entre 2 phases d’évaluations successives.
Soit w le paramètre correspondant au nombre de phases de validation où l’erreur se

Soit J le réseau initial.


dégrade sur la base de validation avant d’engager la procédure

J⟵J
E⟵0
1⟵0
⟵ ∞
Jr–l ⟵ J
E∗ ⟵ E
Tant que 1 < w faire
Mettre à jour J en effectuant < itérations de l’algorithme d’apprentissage
E⟵E <
M
⟵ 1""H " ÈH "éH " éà H LÃÖE”ÃkE < J
Si M < alors
1⟵0
Jr–l ⟵ J
E∗ ⟵ E
⟵ ′

1⟵1 1
Sinon

Fin Si

Les meilleurs paramètres sont Jr–l , et le meilleur nombre de phases d’apprentissage


Fin Tant que

est E ∗

Comparativement aux autres procédures de régularisation, la procédure « early-stopping »


n’introduit aucun changement dans la procédure d’apprentissage, dans la fonction de coût, ou
dans l’ensemble des paramètres autorisés. Ainsi, il est donc intéressant d’utiliser cette
procédure « early-stopping » sans mettre en péril les capacités d’apprentissage.

PROBLEMES DES MINIMA LOCAUX : AJOUT D’UN TERME D’INERTIE (« MOMENTUM »)


On utilise souvent les poids initiaux aléatoires, c'est mieux que leur donner une configuration
initiale figée. Il se peut toutefois qu’ils ne parviennent pas à échapper à un minimum local ce
qui produit parfois une phase d’apprentissage extrêmement longue, c'est pourquoi on ajoute
en général un terme d'inertie (momentum) dans les équations de mise à jour des poids par
rétro-propagation pour aider l'algorithme du gradient à échapper à ces minimums locaux.
Pour accélérer cet apprentissage, on introduit deux hyperparamètres additionnels
• Le premier hyperparamètre < est appelé momentum,
• Le second ý (de l’ordre de 10, 20 ou 100) correspond à une descente de gradient par
mini-lots, (ou minibatch). Le gradient estimé est alors moins bruité (moyennage
temporel) ce qui accélère la convergence de l’algorithme, tout en offrant un gain en
-36-
complexité arithmétique évident lié à une mise jour réduite à une fois tous les ý
exemples.

Algorithme momentum

1

œ
P : G `V k , b ; _ aQ
ý V

⟵ <
V k 1 ⟵ V k

Le paramètre 0 < < Ò 1 est fixé à des valeurs de l’ordre de 0.9 ou 0.99. La première expression
de l’algorithme correspond à une moyenne temporelle du vecteur gradient au cours du temps.

différences d’un filtre passe-bas de fonction de transfert en z donnée par M &


On peut remarquer que la 2nde expression de cet algorithme correspond à l’équations aux

1⁄ 1 < & . En début de phase d’apprentissage la valeur est fixée à sa plus faible valeur de

proche de 0.9 ou au-delà. Le paramètre < doit être analysé en fonction de 1⁄ 1 < . Pour <
0.5 jusqu’à ce que la convergence initiale soit stabilisée et ensuite cette valeur est augmentée

0.99 , la vitesse de l’algorithme est alors multipliée par un facteur 1⁄ 1 < 10 par rapport
à l’algorithme du gradient stochastique standard.

Exercice 9– Eviter le sur-apprentissage


A partir des éléments ci-dessus, intégrer dans votre algorithme la méthode d’early-
stopping ainsi que celle du momentum. Evaluer comparativement l’intérêt par
rapport à votre version initiale : vitesse convergence, capacité de généralisation.

7. Vers les réseaux de neurones profonds !


Avant 2006, les tentatives d’entraîner des architectures profondes ne conduisaient pas à des
résultats satisfaisants : l’utilisation de réseaux de neurones supervisés (non récurrents) profonds
produisait de moins bons résultats (en erreur d’entraînement et en erreur de test) que des
réseaux moins profonds à 1 ou 2 couches cachées. Cette situation a évolué en 2006 après la
parution de 3 articles majeurs :

• Hinton, G. E., Osindero, S. and Teh, Y., A fast learning algorithm for deep belief
nets Neural Computation 18:1527-1554, 2006
• Yoshua Bengio, Pascal Lamblin, Dan Popovici and Hugo Larochelle, Greedy Layer-Wise
Training of Deep Networks, in J. Platt et al. (Eds), Advances in Neural Information
Processing Systems 19 (NIPS 2006), pp. 153-160, MIT Press, 2007
• Marc’Aurelio Ranzato, Christopher Poultney, Sumit Chopra and Yann LeCun Efficient
Learning of Sparse Representations with an Energy-Based Model, in J. Platt et al.
(Eds), Advances in Neural Information Processing Systems (NIPS 2006), MIT Press, 2007

Les principes-clés sur lesquels reposent ces techniques sont les suivants . Une introduction à ces
techniques est donnée dans les annexes ci-après (auto-encodeurs, réseaux convolutionnels) :

-37-
• Un apprentissage non supervisé de représentations est utilisé pour pré-entraîner
chaque couche.
• L’apprentissage non supervisé se fait une couche à la fois, chaque couche entraînée
après la couche du dessous. La représentation apprise par une couche est utilisée
comme entrée par la couche suivante (du dessus).
• L’apprentissage supervisé est utilisé pour raffiner toutes les couches pré-entraînées
(ainsi que la couche de sortie, et éventuellement d’autres couches supplémentaires).
• Les réseaux actuels…Deep-Neural Networks (DNN)

Pour poursuivre :

« Le Deep Learning pas à pas : les concepts (1/2) » dans http://www.technologies-


ebusiness.com/enjeux-et-tendances/le-deep-learning-pas-a-pas

« Le Deep Learning pas à pas : l’implémentation (2/2) » dans http://www.technologies-


ebusiness.com/langages/le-deep-learning-pas-a-pas-limplementation-22

Et bien sûr le site de Geoffrey E. Hinton (http://www.cs.toronto.edu/~hinton/) qui a popularisé


ces techniques à partir de 2006 avec ses travaux de recherche menés avec Y. Le Cun et A.
Krizhevsky.

Les 93 vidéos de Hugo Larochelle : https://www.youtube.com/HugoLarochelle/Neural


Networks

-38-
Annexe A
Paramétrisation
des données d’entrée
__________________________________________________________
La parole apparait comme une variation de la pression de l’air dans l’appareil phonatoire
humain. Les différents traits acoustiques du signal de parole sont notamment : sa fréquence
fondamentale, son énergie, son spectre. . . Chacun de ces éléments étant lui-même
intimement lié à une grandeur perceptible : pitch, intensité, timbre. . .
L’objectif d’un système de paramétrisation « perceptuel » consiste à extraire les informations
caractéristiques du signal de parole en essayant de procéder de la même façon que fonctionne
l’oreille humaine (i.e. de « mimiquer »). Un tel système utilise en entrée un signal à temps
discret et produit en sortie un vecteur de paramètres (appelé indifféremment vecteur
acoustique ou encore vecteur d’observations).

-39-
Les vecteurs de paramètres doivent être pertinents (précis, de taille restreinte et sans
redondance), discriminants (pour faciliter la reconnaissance) et robustes (aux différents bruits
et/ou locuteurs).
Il existe un certain nombre d’approches pour la paramétrisation dont les plus couramment
utilisées dans la littérature sont :
• paramétrisation basée sur un modèle de production de la parole ;
• paramétrisation basée sur une analyse dans le domaine cepstral.

1. La perception des sons par l’humain


Analyse dans le domaine fréquentiel ⇒ Transformée de Fourier (FFT)
L’analyse des sons est plus pertinente dans le domaine fréquentiel que dans le domaine
temporel. Ceci se constate aisément sur le schéma ci-dessous représentant un signal de parole
dans sa représentation temporelle ainsi que son spectre (sa Transformée de Fourier) où l’on
voit clairement la structure harmonique de ce son. Si l’on doit caractériser le signal, il est plus
économe de le faire dans le domaine fréquentiel car seules certaines composantes spectrales
peuvent « résumer » le signal alors que, dans le domaine temporel, il faudra un grand nombre

On analyse donc un signal échantillonné à fréquence ‘ 1⁄N‘ soit D < N‘ , <


d’échantillons.
0, … , 7 1F
à l’aide d’une transformée de Fourier du signal échantillonné soit :

O 5Ɣ qn
ƒ ∆• : < N‘ H
q

où l’on choisit un intervalle d’analyse en fréquence :


5 q
O
∆• ⇒ ƒ ∆• : < N‘ H

7 q

fréquence est « discrétisée » aux fréquences D ∆•, ∈ A0, 7 1BF. Ainsi l’analyse
Cette dernière expression représente la Transformée de Fourier Discrète (TFD) car l’analyse en

composante fréquentielle d’analyse possède la même largeur de bande de ∆• aussi bien pour
spectrale ainsi obtenue correspond à une analyse sur une échelle linéaire car chaque

les basses fréquences que pour les hautes fréquences.

Figure 1 - Un signal de parole


(gauche) représentation temporelle (droite) représentation fréquentielle

Note : en pratique, on utilise la version « rapide » de la TFD c’est à dire la TFR (pour

de faire le calcul précédent sur un nombre < k 25 Ñ 7 et donc on a :


Transformée de Fourier Rapide) encore dénommé FFT (pour Fast Fourier Transform). Il s’agit

-40-
qPPl 5 q
O
ƒ ∆• : < N‘ H qPPl
q

Echelle logarithmique

suivant une échelle logarithmique(c’est-à-dire 20 Ö |ƒ ∆• | ) plutôt que suivant une


L’oreille humaine est plus sensible à des composantes fréquentielles dont le niveau est exprimé

échelle linéaire ( c’est-à-dire|ƒ ∆• | ).


Ainsi, sur la figure suivante, est représenté le spectre du même signal de parole que
précédemment mais sur une échelle (en ordonnée) linéaire ou bien logarithmique. On voit que,
sur l’échelle logarithmique, l’on devine bien mieux les détails de la structure harmonique du
signal : les harmoniques s’étendent jusqu’à environ 150Hz.

Figure 2 – Le même signal de parole


Représentation fréquentielle (gauche) échelle linéaire (droite) échelle logarithmique

Echelle non-linéaire en fréquence ⇒ « Filtres mel » et « spectre mel »


Nous venons de voir que la transformée de Fourier discrète (TFD) ou sa version rapide (FFT)
réalise une analyse en fréquence sur une échelle (en abscisse cette fois-ci) linéaire et uniforme
en fréquence. Cependant, le système auditif humain ne perçoit pas les signaux selon une
échelle uniforme. Notamment, notre système auditif effectue une analyse plus précise dans
les fréquences graves que dans les bandes hautes du spectre. Cette idée se retrouve à l’origine
dans la littérature psychoacoustique sous le concept des filtres auditifs dont la bande passante
varie en fonction de leur fréquence centrale d’une manière comparable à celles des filtres à
facteur de qualité Q constant.

-41-
Figure 3 – Représentation d’un banc de filtres mél

Ceci est à l’origine de la notion de largeur de bande critique. La largeur de bande critique
désigne pour une fréquence centrale donnée, la largeur de la bande passante du filtre auditif
correspondant selon la terminologie introduite par Zwicker. Les concepts de bandes critiques
et de filtres auditifs sont de plus en plus utilisés dans de nombreux champs du traitement du
signal audio notamment au sein des codeurs audio perceptifs employés dans les récents
formats de compression MPEG, tels que le format MPEG1-layer 3 (pour MP3), ou bien le format
MPEG2-AAC (pour AAC). Sur la figure suivante, on observe que la représentation mel permet
d’obtenir une meilleure représentation des basses fréquences par rapport aux hautes
fréquences.

Figure 4 – Représentation fréquentielle du même signal de parole suivant une échelle logarithmique
(en ordonnée) et, en abscisse, suivant une échelle linéaire (gauche) ou une échelle mel (droite)

Intuitivement, l’utilisation de l’échelle mel revient à utiliser une échelle linéaire en basse
fréquence, puis logarithmique en haute fréquence. La relation existant entre ces 2 échelles est :
ý È 1127 Ö 1 ⁄700 ⇔ È ý 700 H w ý⁄1127 1

Les filtres triangulaires utilisés dans le domaine mel sont donnés par :

L’utilisation d’une échelle logarithmique sur les abscisses (c’est-à-dire sur les fréquences)

de < k 512 ou 1024 composantes fréquentielles à seulement 23 (à 26) valeurs


permet alors de réduire la représentation du contenu fréquentiel du signal audio d’un ensemble

correspondant à l’énergie disponible en sortie des 7œ‘’ 23 (à 26) filtres mel.


Retour dans le domaine temporel : les coefficients mfcc
Définition MFCC in Wikipedia : ”In sound processing, MFC which means mel frequency
cepstrum, is a representation of the short term power spectrum of a sound, based on a linear
cosine transform of a log power spectrum on a nonlinear mel scale of frequency”.
Ces coefficients sont alors obtenus à partir du spectre mél exprimé en échelle logarithmique
en effectuant une Transformée en Cosinus Discrète Inverse (ou IDCT pour Inverse Discrete
Cosine Transform) :

-42-
1 Q 1
1 0 1 ý cos W
- R
ý ÄÄ < : ý P< QY < 0,1, . . , 7œ‘’ 1
2 œ 7œ‘’ 2

où l’ensemble des D1 ý , ý ∈ A0, 7œ‘’ 1BF représente l’énergie des signaux disponibles en
sortie de chaque filtre mél. Les traitements nécessaires afin d’obtenir les coefficients MFCC
sont bien décrits sur la page Web suivante : « MFCC tutorial ».
On peut observer sur la figure 5 que les différentes unités vocales peuvent être aisément
caractérisées à partir de l’évolution temporelle des premiers (ici 3) coefficients mel.

Figure 5- (gauche) signal temporel et (droit) évolution temporelle des 3 coefficients mfcc

2. La paramétrisation du signal vocal


L’obtention des coefficients MFCC est effectuée à partir des étapes suivantes :
• pour chaque trame de parole, réaliser une opération de Transformée de Fourier Rapide
(ou FFT pour Fast Fourier Transform) afin de convertir le signal de parole du domaine
temporel vers le domaine fréquentiel (mais sur une échelle linéaire en fréquence !),
• représenter le spectre du signal ainsi obtenu (c’est-à-dire les modules carrés des
coefficients de la Transformée de Fourier Directe) mais sur une échelle mel (donc non-
linéaire !) en utilisant des filtres de gabarit triangulaire liés au fonctionnement de
l’oreille humaine.
• Prendre le logarithme des signaux disponibles en sorties des filtres mel … car l’humain
est plus sensible au niveau des sons exprimés sur une échelle logarithmique (en dB ou
décibels) que sur une échelle linéaire.

Comme nous avons des signaux à valeurs dans " dans le domaine spectral, il est
Convertir de nouveau vers le domaine temporel les signaux précédemment obtenus.

judicieux d’utiliser la Transformée inverse en Cosinus Discret (DCT pour Discrete Cosine
Transform). Elle permet de bien « compresser » l’information et d’obtenir des
coefficients (appelés MFCC) décorrélés entre eux.

-43-
IDCT( )

Figure 6- Etapes nécessaires pour l’obtention des coefficients mel (ou cepstraux)

Paramétrisation avec les MFCCs


Effectuer les transformations indiquées sur la figure 6 afin de présenter en entrée du
réseau de neurones non-pas la valeur absolue de la FFT calculée sur chaque signal, mais
les coefficients MFCC pour Mel Frequency Cepstrum Coefficients). On pourra limiter le
nombre de coefficients Mel à 23 .

-44-
Annexe B
Le perceptron multicouche :
calcul du vecteur gradient
__________________________________________________________

pour lequel les fonctions d’activations sont . et . pour respectivement la couche de


Considérons le réseau de neurones, de type perceptron multicouche, donné à la figure suivante

sortie et la couche cachée. Ces fonctions sont supposées différentiables indéfiniment (cf.
paragraphe 2.1).

Afin de clarifier les notations considérons les connexions entre les valeurs en entrée, le
neurone n°j sur la couche cachée ainsi que le neurone n°m sur la couche de sortie. On a donc
les éléments suivants :

-45-
Figure : Schéma de base pour le calcul de la mise à jour des poids de sortie et ceux de la couche
cachée

Mise à jour des poids de la couche de sortie :


Conformément à l’analyse menée précédemment, la mise à jour des prsl y p¾¼¾/é‘ poids de la
couche de sortie est effectuée selon :
G
, k 1 , k (, l
Ô ⋮ Õ Ô ⋮ Õ ⋮ k 0,1,2, …
k 1 k
pour
G
, ùúû , ùúû
(,Sùúû 0 l

On peut ainsi écrire (cf. figure ci-dessus) :


∀1 ∈ A 1, p¾¼¾/é‘ 1B, ∀ý ∈ A0, prsl 1B,
T G T 1 1
P : H Q
ùúû

T ,œ T ,œ prsl œ 2 œ
1 1 T
: H
ùúû

prsl œ 2 T ,œ œ
1 T Hœ
: Hœ
ùúû

prsl œ T ,œ

1 T Cœ Cíœ
: Hœ
ùúû

prsl œ T ,œ

1 T Cíœ
: Hœ
ùúû

prsl œ T ,œ

1 T &œ
: Hœ
ùúû

prsl œ T ,œ
1 T &œ
: Hœ &œ
ùúû
M
prsl œ T ,œ

-46-
1
Hœ M
&œ "
prsl
U-
Car on a : `∑ é
,œ " a •œ,œ "
( ,- ( ,-

T G 1
⇒ Hœ M
&œ "
T ,œ prsl

et donc l’équation de mise à jour des poids de la couche de sortie est donnée par :

En notant: •œ Hœ &œ , ∀ý 0,1, … , prsl 1


rsl M

on obtient l′ équation ∶ 1
∀1 1,0, … , p¾¼¾/é‘ 1
k 1 k •œ "
rsl
,œ ,œ
prsl ∀ý 0,1, … , prsl 1

Mise à jour des poids de la couche cachée :


Conformément à l’analyse menée précédemment (cf. figure ci-dessus), la mise à jour des poids
de la couche de sortie est effectuée selon :
G
Ä5, k 1 Ä5, k ¾7, l
Ô ⋮ Õ Ô ⋮ Õ ⋮ k 0,1,2, …
Ä5, k 1 Ä5, k
pour
G
é é
¾7,S é 0 l

faut calculer ∀1 ∈ A0, p¾¼¾/é‘ 1B et ∀ ∈ A 1, p q 1B:


Il nous reste à évaluer l’équation de mise à jour des poids de la couche cachée et donc il nous

T G T 1 1
P : H Q
ùúû

TÄ5 , TÄ5 , prsl œ 2 œ


1 1 T
: H
ùúû

prsl œ 2 TÄ5 , œ
1 T Hœ
: Hœ
ùúû

prsl œ TÄ5 ,
1 T Cœ Cíœ
: Hœ
ùúû

prsl œ TÄ5 ,
T G 1 T Cíœ
⇒ : Hœ
ùúû

TÄ5 , prsl œ TÄ5 ,

Or on peut écrire (en suivant bien attentivement les différentes étapes sur la figure

T Cíœ T Cíœ T&œ


précédente) :

TÄ5 , T&œ TÄ5 ,


T &œ T&œ

T&œ TÄ5 ,
T ,œ "
M

TÄ5 ,

-47-
T
M
&œ ,œ
TÄ5
T
,

M
&œ ,œ
M

TÄ5 ,
T Cíœ
⇒ M
&œ ,œ
M

TÄ5 , 5

'(
∑5

Car on a : ¾7 ,( ¾7 ,(
Ä5, 5 • , 5

Soit en contractant les 2 relations précédentes encadrées, on obtient :


T G 1
⇒ P: Hœ &œ ,œ Q
ùúû
M M
TÄ5 , prsl 5
œ


et donc l’équation de mise à jour des poids de la couche cachée est donnée par :

En notant ∶ • P: •œrsl ,œ Q
ùúû
¾¼¾/é‘ M
£¤¤¤¤¤¤¥¤¤¤¤¤¤¦
œ
¾¼¾’s’ q° à ¾¼’¾s’‘• à –¼•l

on obtient l équation ∶
′ 2
∀1 0,1, … , p¾¼¾/é‘ 1
Ä5, k 1 Ä5, k 5 •
¾¼¾/é‘
prsl ∀ 1,0, … , p q 1

numérotées de 2,3, … , 7 (alors qu’ici nous n’avons qu’une unique couche cachée), l’algorithme
Note : pour un réseau de neurones plus important comportant plusieurs couches cachées

de mise des poids de chaque couche cachée <°Ö à partir des couches <° Ö 1 , Ö 2 , … , 7


est donné par les relations récursives suivantes :

En notant ∶ •
ùú R[0
¾rs¾/‘ ’ M
Ø: •œ ,œ Ù
¾rs¾/‘ ’#
£¤¤¤¤¤¤¤¤¤¤¤¥¤¤¤¤¤¤¤¤¤¤¤¦
œ
¾¼¾’s’ q° à ¾¼’¾s’‘• à –¼•l

on obtient l équation ∶

∀1 0,1, … , p ¾rs¾/‘ ’ 1
Ä5, k 1 Ä5, k \5 •
¾rs¾/‘ ’
prsl ∀ 1,0, … , p ¾rs¾/‘ ’ 1

où \5 5∈] , ùú R 0 ^
représente les données n entrée de la couche cachée <°Ö soit donc celles
en sortie de la couche cachée <° Ö 1 .

-48-
Annexe C
Evaluation de la précision
de l’estimation
Supposons que l’échantillon de test _ D b , _ ∈ j y i, E ∈ A0, <n 1BF comporte <n
__________________________________________________________

la variable aléatoire ƒ correspondant au nombre <‘ d’erreurs observées dans un problème de


exemples. Nous nous intéressons, lors de la phase de test, à l’étude de la loi de probabilité de

classification. Supposons que le nombre réel d’erreur (i.e. le risque réel) soit w, alors, <‘ suit
une loi Binomiale de paramètres w, <n soit :
ℙ X
qa !
<‘ w q 1 w qa q
Œ ƒ w<n , var ƒ w 1 w <n
–! qa – !
et on a

Asymptotiquement lorsque le nombre <n tend vers l’infini, la loi Binomiale tend vers une loi de
Poisson. Cependant, convenablement normalisée, la loi c
ã qa –
dqa – –
tend
asymptotiquement vers une loi normale centrée réduite (théorème de Moivre-Laplace). Donc :
#h
ƒ <n w 1 ç
C f Ò çÙ g

lim ℙ Øf H
” erf P Q
qa ⟶#ð d<n w 1 w √2Q √2
h

ç
C
Soit encore :
lim ℙ `ƒ ∈ ¸Œ ƒ çd<n w 1 w ,Œ ƒ çd<n w 1 w ºa erf P Q
qa ⟶#ð √2
On a ainsi pour ç 1.96 on obtient alors C 0.95.
ADAPTATION DU RAISONNEMENT
Supposons que l’on soit maintenant intéressé, non pas par le nombre <‘ d’erreurs de
classification, mais par le taux d’erreur k‘ <‘ ⁄<n alors la variable aléatoire j ƒ⁄<n va
également suivre une loi Binomiale de valeur moyenne Œ ƒ w et de variance var j
k –
w 1 w ⁄<n . Asymptotiquement, la variable aléatoire normalisée
⁄ d– – qa
tend vers une loi
normale et on a :

w 1 w w 1 w ç
C lim ℙ Ôj ∈ lŒ j çm ,Œ j çm nÕ erf P Q
qa ⟶#ð <n <n √2

biaisée de la performance, soit donc Œ j w <‘ ⁄<n d’où l’intervalle de confiance à C % du


Or l’utilisation de la méthode de validation croisée permet d’obtenir une estimation non-

risque réel :

q <‘ <
`1 < ‘ a <
<‘
`1 < ‘ au
<
p <‘ n t
çr çr
< <
\ p< , t
n n ‘ n
<n <n <n
p n t
o s
-49-
Annexe D
La fonction d’erreur
__________________________________________________________
La fonction d'erreur de la somme des carrés s'utilise essentiellement dans les problématiques
de régression mais elle peut également s'utiliser pour des tâches de classification. Toutefois,
pour réaliser une véritable classification par les réseaux de neurones, il est préférable d’utiliser

ensemble d’exemples j Db , E ∈ A0, < 1BF tirés indépendamment d’une densité de
une approche basée sur le principe du maximum de vraisemblance. On considère alors un

probabilité inconnue wD¼l¼ b . Soit wœrD‘’ b; J une famille paramétrée de densités de


probabilité sur un même espace indexé par J, on définit alors l’estimateur de J suivant le

JÐ argmax wœrD‘’ b; J
maximum de vraisemblance :

wœrD‘’ b ; J
q
argmax v
J
Après application de l’opérateur log . , nous obtenons :

JÐ wœrD‘’ b; J
q
argmax :
J
Soit encore après application d’un facteur d’échelle 1⁄<, nous pouvons exprimer le critère
comme l’espérance évaluée sur la loi empirique ŵD¼l¼ définie par les données d’apprentissage :
JÐ argmax Œ•,x~–íy û log wœrD‘’ b; J
J
Ou encore :
JÐ argmin Œ•,x~–íy û log wœrD‘’ b; J
J
Ce critère est souvent nommé maximisation de l’entropie croisée entre la loi empirique ŵD¼l¼
définie par les données d’apprentissage et la loi définissant le modèle wœrD‘’ .
LIEN AVEC LA MINIMISATION DE L’EQM
Cette fonction de coût dépend du modèle utilisé. Par exemple, pour C'est grâce à cette
fonction d'erreur combinée à la fonction d'activation des sorties softmax que nous pouvons
interpréter les sorties d'un réseau de neurones sous la forme de probabilités d'appartenance
des individus à une classe.
La fonction d'erreur d'entropie croisée est donnée par la formule suivante :
1 Cíœ k
G k : Cœ k ln Ø Ù
ùúû

prsl œ Cœ k

-50-
Annexe E
Deep-learning & Auto-encodeurs
__________________________________________________________
Avant 2006, on ne savait pas comment entraîner une architecture profonde: l’optimisation
itérative convergeait vers des minimums locaux de piètre qualité. Les réseaux de neurones à
plus de deux couches cachées initialisés aléatoirement donnent donc des résultats pires que
les réseaux peu profonds. En 2006, (Hinton, Osindero, & Teh, 2006 (téléchargement ici)) ont
proposé un algorithme (Deep Belief Networks) qui fonctionne bien, suivi la même année de
(Bengio, Lamblin, Popovici, & Larochelle, 2007 (téléchargement ici)) et (Ranzato, Poultney,
Chopra, & LeCun, 2007 (téléchargement ici)) : la clé de ces nouveaux algorithmes reposent sur
la notion d’auto-encodeurs.
Un auto-encodeur (encore nommé auto-associateur) est un réseau de neurones dont les
paramètres ont été entraînés afin que les sorties reproduisent l’entrée. Le principe général est
le suivant : les neurones de la couche cachée et de la couche de sortie peuvent utiliser des

utilisées sont l’erreur quadratique moyenne (EQM) z b, b ' Œ ‖b b '‖ (pour des données
fonctions d’activation de type sigmoïde ou linéaires. Les fonctions de pertes couramment

en entreés quelconques réelles) ou l’entropie croisée (pour des données en entrées binaires).

mêmes exemples j Db , E ∈ A0, < 1BF sont présentés à la fois en entrée et en sortie du
Les poids d’un tel réseau sont appris à l’aide d’un algorithme de retro-propagation auquel les

réseau. Le réseau intègre également des neurones de biais sur les couches cachées et la couche
de sortie.

Un auto-encodeur est composé de 2 fonctions : une première fonction : j → { qui produit


Figure – structure d’un auto-encodeur à un seule (gauche) ou plusieurs (droite) couches cachées

sur la couche cachée un code | b sigm ÊP }b qui est souvent utilisé pour obtenir

reconstruire les données d’origine à partir d’une seconde fonction : { → j telle que |
des représentations latentes capables de capturer suffisamment d’informations pour

ÊE } ò | (pour z b, b ' correspondant à l’EQM) ou | sigm ÊE } ò | (pour z b, b '


correspondant à l’entropie croisée) et où ÊP et ÊE correspondent aux biais des 2 couches. On
notera que les matrices d’encodage et de décodage sont liées (tied) car elles sont transposées

pour éviter que la fonction de transition de l’auto-encodeur •


l’une de l’autre de manière à retrouver le même espace de représentation en sortie. Cependant,
ne corresponde à la

-51-
fonction identité, des contraintes additionnelles sont imposée sur la couche cachée. On
distingue :
• Les représentations sous-déterminées : elles sont obtenues en limitant le nombre de
neurones sur la couche cachée. Ainsi, l’auto-encodeur va apprendre une représentation
compressée des données en exploitant les corrélations entre les données. Dans le cas d’un
réseau linéaire utilisant l’EQM comme fonction de coût, la transformation réalisée par
l’encodeur réalise alors une transformation similaire à l’analyse par composantes
principales (ACP) c’est-à-dire une projection sur un s.e.v. maximisant la variance de la
représentation (à ceci près que pour un auto-encodeur, la propriété d’orthogonalité est
perdue).
• Les représentations sur-déterminées (ou over-complete): Plus récemment, ont été
proposées des représentations pour lesquelles la couche cachée comporte un nombre bien
plus important de neurones que le nombre d’entrées du réseau.

A ce stade, il faut retenir qu’un auto-encodeur correspond à une famille particulière de réseaux
de neurones à apprentissage non supervisé qui permet de déterminer les caractéristiques
discriminantes du signal d’entrée. Il s’agit donc d’un outil particulièrement intéressant !

Entre représentations sous-déterminées et sur-déterminées, les secondes ont retenu

contraintes ont été proposées à la fonction • ou sur les unités de la couche cachée telles que :
beaucoup d’attention. Afin de déterminer ces représentations sur-déterminées, différentes

• Les auto-encodeurs parcimonieux : ils permettent de forcer la fonction • à produire des


sorties contrastées lorsque l’on présente en entrée des données localisées dans différentes
région de l’espace de représentation. Les poids de la couche cachée seront donc
spécialisés pour certaines régions précises de cet espace de représentation des signaux
d’entrée si bien que l’on réalise un apprentissage de plusieurs s.e.v locaux.

de pénalité lié aux codes ℎ '


b soit : z M b, b '
z b, b • ∑ ‖ b ℎ ‖ ce qui permet
• Les auto-encodeurs contractifs : ils intègrent à leur fonction de coût un terme additionnel

de rechercher une fonction • qui soit robuste aux légères variations des valeurs
d'entrées.
INITIALISATION DES COUCHES CACHEES DES RESEAUX DE NEURONE S PROFONDS
Les réseaux de neurones sont connus pour être sensibles au choix des paramètres
d’apprentissage comme le pas d’apprentissage (“learning rate”) mais aussi à l’initialisation des
poids du réseau qui est en général effectuée de manière aléatoire. Dans ce cas l’algorithme de
propagation arrière utilisé pour l’estimation des poids du réseau de neurones peut converger
vers un minimum local (car non-convexité) se trouvant dans un bassin d’attraction peut
intéressante du point de vue de la généralisation du modèle. Ce problème est lié entre autres
au phénomène d’affaiblissement/diffusion du gradient à travers les couches qui conduit à un
déséquilibre de la vitesse d’apprentissage entre les premières et dernières couches , ce qui rend

-52-
l’adaptation des poids des couches d’entrée difficile et ce qui conduit le réseau à apprendre à
reconstruire la moyenne de toutes les données d’apprentissage.
Pour résoudre ce problème, dans la stratégie d’apprentissage des architectures profondes
proposée ces dernières années, l’initialisation des poids se fait via un auto-encodeur
comportant deux modules : un encodeur et un décodeur comme illustré sur la figure suivante.
L’encodeur sert à projeter les données de manière non-linéaire dans un espace de même

représentation ℎ des données susceptible de préserver les informations utiles pour la tâche
dimension que le nombre d’unités de la couche cachée. Cette projection génère une nouvelle

d’apprentissage supervisé.
Plusieurs études ont montré que l’utilisation d’auto-encodeurs non-linéaires comportant
davantage d’unités sur la couche cachée que d’entrées peut donner lieu à de bonnes
représentations du signal d’entrée. De telles représentations peuvent être utilisées comme
entrées d’un second réseau qui effectuera la tâche de classification avec une erreur de
classification plus faible. Une fois qu’un auto-associateur est appris, son module décodeur est
retiré de l’architecture et la sortie de l’encodeur sert de données d’entrée pour l’étage suivant.

Figure – Pré-apprentissage non supervisé du réseau (3) à l’aide d’un autoencodeur (1) et de son PMC associé (2)

On peut alors imaginer un pré-apprentissage d’un Réseau de Neurones Profonds (RNP) en


effectuant l’opération précédente couche par couche : on obtient ainsi un réseau de neurones
empilé (ou SAE pour stacked autoencoder). Pour chacune d’entre elles, un auto-encodeur est
entrainé séparément comme le serait un auto-encodeur simple afin de fournir les valeurs
initiales des poids. L’espace projeté du précédent auto-encodeur sert alors d’entrées au
suivant. On parle alors de pré-entraînement dit “gourmand” (greedy layer-wise training). En
itérant ce raisonnement pour chaque couche cachée, il est alors possible de résoudre le
problème lié à la propagation du gradient dans les couches profondes et ainsi d’initialiser les
poids d’un réseau de neurones à structure profonde. On obtient ainsi une structuration
hiérarchisée du réseau: les couches apprennent les caractéristiques de 1er ordre, puis
deuxième ordre, etc

-53-
Figure – Pré-apprentissage non supervisé d’un réseau profond : cas multicouches

Méthodologie : L’apprentissage d’un réseau de neurones profond est ainsi effectué en deux
temps. Dans une première phase, appelée phase de pre-apprentissage (ou « pre-training »),
l’apprentissage des couches dites basses est réalisé en mode non-supervisé à l’aide d’auto-
encodeurs comme précisé ci-avant. Puis, dans un second temps (appelé « fine-tuning »), tous
les encodeurs appris lors de la phase précédente sont déverrouillés et l’apprentissage des
dernières couches, dites de décision, est effectué en mode supervisé à l’aide d’un algorithme
de propagation arrière (« backpropagation ») appliqué à l’ensemble du réseau. Les poids du
réseau sont ainsi initialisés à des valeurs plus proches de la solution optimale (qu’une approche
aléatoire), la descente de gradient a donc plus de chances de converger vers un minimum local
intéressant du fait de l’apport d’informations a priori important par le processus
d’apprentissage non supervisé.

En procédant ainsi, G. E. Hinton and R. R. Salakhutdinov (Reducing the Dimensionality of Data


with Neural Networks, in Science, 2006) pour une application de recherche/classification de
804,414 documents écrits. Les descripteurs utilisés pour représenter chaque document
consistent en un vecteur de 2000 coordonnées correspondant à la fréquence des 2000 mots les
plus communément utilisés parmi ces documents. L’apprentissage est effectué sur la moitié
de cette base de données à partir de 2 algorithmes : (1) un algorithme basé sur une analyse par
ACP à 2 dimensions à l’aide de l’algorithme d’analyse sémantique latente (ou LSA pour Lattent
Semantic Analysis) qui permet de trouver une matrice de rang plus faible que la matrice initiale
des occurrences des mots, et (2) un auto-encodeur comportant successivement de 2000-500-
250-125-2 éléments sur les couches et minimisant la fonction d’erreur d’entropie croisée pour
la phase d’apprentissage fine. On peut observer la pertinence de l’approche utilisant des auto-
encodeurs empilés.

-54-
Figure – Codes 2D produits par (gauche) l’algorithme LSA-2D et (droite) un auto-
encodeur empilé de dimensions 2000, 500-250-125-2

-55-
Annexe F
Traitement des Images & Deep-
learning : Réseaux convolutionnels
__________________________________________________________
Les réseaux de neurones convolutionnels (ou ConvNets, pour Convolutional Neural Networks)
correspondent à une architecture spécifique de réseaux de neurones particulièrement adaptée
au traitement des signaux 2D. Il s’agit en fait d’une structure de réseau intégrant un mécanisme
de poids partagés afin d’exploiter des propriétés locales (à court-terme et/ou spatiales). L’idée
principale consiste à modifier la structure d’un réseau pleinement connecté afin d’exploiter des
connexions locales : ceci conduit également à réduire le nombre de paramètres (i.e. de poids)
du réseau.
Les premiers ConvNets datent des années 1980 avec les travaux sur le Necognitron de K.
Fukushima, mais c’est dans les années 1990 que ces réseaux seront popularisés avec les travaux
de Y. Le Cun et al. sur la reconnaissance de caractères. Les auteurs ont proposé une série de
réseaux ConvNets, baptisés LeNet (de 1 à 5), qui se basent sur trois idées architecturales clé :
• Des champs récepteurs locaux (i.e. connectivité parcimonieuse) associés à des
convolutions qui permettent de détecter des caractéristiques élémentaires sur l’image,
formant ainsi une carte de caractéristiques,
• Un principe de partage des poids (i.e. représentation parcimonieuse) qui consiste à
apprendre les mêmes paramètres (ou poids) d’une convolution (et par conséquence
extraire les mêmes caractéristiques) pour toutes les positions sur l’image. C’est l’idée
clé des ConvNets permettant de réduire considérablement la complexité en diminuant
le nombre de paramètres à apprendre, et d’avoir ainsi des architectures multi-couches
qui opèrent sur des entrées de grande dimension tout en étant de taille réaliste (ce qui
n’était pas réalisable avec les MLPs). De plus, le partage des poids permet d’améliorer
la capacité de généralisation du réseau, et d’être cohérent avec les études faites sur le
cortex visuel,
• Des opérations de sous-échantillonnage qui permettent de réduire la sensibilité aux
translations, ainsi que de réduire le coût du traitement.

Figure – Parcimonie des réseaux convolutionnels : en connexions (gauche) et en représentation (droite)


-56-
UN RESEAU BIEN CONNU : LENET-5 PROPOSE EN 1998
Bien avant 2006, il existait une sorte très particulière d’architecture profonde de réseaux de
neurones que l’on savait entraîner assez bien: les réseaux à convolution. Ils sont utiles quand
l’entrée est structurée selon une grille, comme par exemple les images 2D. Ainsi, les réseaux
LeNet consistent en une succession de couches qui comportent des cartes de caractéristiques
(ou features maps) et des cartes de sous-échantillonnage dont le réseau le plus populaire de
l’état de l’art est le réseau LeNet-5 proposé en 1998 : Les 4 premières couches sont des cartes
2D (de caractéristiques ou de sous-échantillonnage), et les 3 dernières sont des neurones
“classiques” (similaires à celles d’un MLP), où chaque neurone est connecté à tous les neurones
de la couche précédente. Les couches C1 et C3 opèrent sur leurs entrées des convolutions 2D
dont les noyaux sont les poids à apprendre. Les couches S2 et S4 appliquent un moyennage
spatial (généralement de facteur 2) sur leurs entrées, puis multiplient le résultat par un poids
(opération de contraste local) qui normalise les réponses des cartes de caractéristiques.

Figure – Réseau convolutionnel LeNet-5. Le nombre de couches, celui des cartes ainsi que leurs dimensions sont
des paramètres architecturaux qui varient d’une problématique à une autre.

La succession de ces deux types de couches (la partie C1, S1, C2 et S2) sert à extraire les
informations pertinentes de l’image d’entrée, et à les encoder dans un vecteur de 120
dimensions au niveau de la couche C5. Les 3 dernières couches sont un MLP classique qui sert
quant à lui à classer les donnéesencodées soit donc à prédire la classe à partir des filtres appris
(i.e. des descripteurs générés automatiquement). L’objectif est de construire
automatiquement, à partir de l’image brute en entrée, une représentation de plus en plus haut-
niveau de couche en couche.
L’idée principale concernant les opérations effectuées au sein d’un réseau de neurones
convolutionnel est la suivante :
• Transformer les signaux d’entrée à l’aide d’une fonction non-linéaire (rectification
mon, sigmoïde) afin d’obtenir une nouvelle description dans un espace de grande
dimension afin que les éléments qui n’étaient pas séparables dans l’espace initial, le
soient maintenant dans ce nouvel espace,
• Dans ce nouvel espace, mettre en commun (pooling) les régions qui sont
sémantiquement similaires.

-57-
Figure – Principe général des réseaux de neurones convolutionnels

Nous allons décrire plus précisément ces deux opérations.


L’OPERATION DE CONVOLUTION 2D
L’opération de convolution fonctionne comme un extracteur de caractéristiques des images.

nouvelles images appelées cartes de convolutions. Soit une image 2D en entrée D€ E, 1 , E, 1


Une image est passée à travers une succession de filtres, ou noyaux de convolution, créant de

1, … , <F, et soit un moyau (ou filtre) bi-dimensionnel D• E, 1 , E, 1 1, … , ýF alors l’opération


de convolution de • par € est donnée par :

‚ E, 1 • E, 1 ∗ € E, 1 : : € w, H • E w, 1 H
– œF œ

Soit encore, compte tenu de la propriété de commutativité de la convolution :


œ œ

‚ E, 1 € E, 1 ∗ • E, 1 : : • w, H € E w, 1 H , E, 1 ý 1, … , < 1
– F

Nous pouvons remarquer que, dans cette seconde formulation, le noyau a été échangé avec
l’entrée si bien que les indices du noyau sont maintenant croissants lorsque l’index de l’entrée
décroît. Cette propriété est nécessaire afin d’assurer la propriété de commutativité de la
convolution mais ceci ne constitue pas une propriété recherchée des réseaux de neurones si
bien qu’en général cette opération de convolution 2D est implémentée sous la forme d’une
inter-corrélation sous la forme :
œ œ

‚ E, 1 € E, 1 ∗ • E, 1 : : • w, H € E w, 1 H , , E, 1 0, … , < ý
– F

Mais cette opération est souvent appelée (à tort) « convolution » dans le monde du machine
learning. Les seuls degrés de liberté concernant la mise en œuvre de cette opérateur

(zero-padding) de sortie ‚ et (ii) la sélection du pas ∆ de convolution (appelé stride) qui


concernent (i) la manière dont on souhaite gérer les pixels correspondants aux bords de l’image

correspond au nombre de pixels de décalage entre chaque convolution, i.e D‚ E, 1 ∶ E, 1 1


ý∆F. Dans le cas du réseau LeNet-5 décrit précédemment, la première couche de convolution

convolution/inter-corrélation produit alors en sortie une image filtrée ƒ de < ý 1 y


possède 6 noyaux différents, chacun d’eux étant de taille 5x5 pixels. La première couche C1 de

< ý 1 soit 28 y 28 pixels. Cette situation correspond à un pas de ∆ 1 pixel.

-58-
Dans l’opération de convolution 2D, l’ensemble des < ý 1 y < ý 1 pixels de

sharing) décrivant un filtre • . , . donné si bien que cette opération de convolution possède
chaque carte de caractéristiques vont être obtenus à partir des mêmes poids (parameter

la propriété d’être équivariante par translation c’est-à-dire que pour un opérateur de


translation on a :

£¤€¤¤E,¤1¤¥¤•
∗¤¤¤E,
¤¦ 1 £¤€¤¤ ∗•
E,¤1¤¥¤ E,¤¦
¤¤¤ 1 ‚ E, 1
¾rq'r’sl rq D„ sq‘ œ¼E‘ l•¼q½’¼lé‘ l•¼q½’¼l rq D‘ ’„ œ¼E‘ ¾rq'r’é‘

Par contre, la convolution n’est pas équivariante par d’autres transformations (comme le
changement d’échelle, ou encore la rotation d’une image) et donc il sera nécessaire de mettre
ne place d’autres mécanismes pour obtenir un réseau de neurones insensible à ces
transformations.

Figure – Principe général d’une couche d’un réseau convolutionnel suivant trois étapes majeures : la
convolution/intercorrélation + la non-linéarité + le pooling. (Bas) Détails des différentes opérations.

noyau • . , . . A partir des signaux de transition ‚5 E, 1 disponibles en sortie de l’opérateur


Considérons une carte de caractéristiques particulière, la n° , obtenue par convolution par un

• . , . de convolution/inter-corrélation (phase n°1), on obtient l’activité …5 E, 1 du neurone


en appliquant à ‚5 E, 1 une fonction d’activation non-linéaire 5 . . De manière à obtenir :

…5 E, 1 5 ‚5 E, 1 ∀E, 1

souvent préférée à la fonction tanh . dans les réseaux de neurones profonds convolutionnels
Le choix se porte souvent sur la fonction d’activation non-linéaire rectifiée ReLU qui est

car la phase d’apprentissage est beaucoup plus rapide).


NORMALISATION

L’un des avantages de la fonction ReLU est qu’elle ne nécessite aucune normalisation des
données en entrée car cette fonction est non-bornée. Malheureusement, cette propriété peut
cependant poser des problèmes de contrastes entre les cartes de caractéristiques. Il est alors
nécessaire de normaliser les différentes valeurs d’activation. Ceci est généralement effectué
-59-
suivant l’une des 3 techniques présentées ci-après qui réalisent une sorte d’ « inhibition
latérale » de façon similaire à la vision humaine en normalisant localement les régions
d’entrée. On distingue les techniques :
• local Response normalization Layer (inter-cartes de caractéristiques): Cette opération,
décrite dans l’article (A. Krizhevsky, I. Sutskever and G. E. Hinton, ImageNet
Classification with Deep Convolutional Neural Networks, in Advances in Neural

localement les valeurs d’activations entre < cartes de caractéristiques adjacentes mais
Information Processing Systems, 25, 2012 (téléchargement ici)), consiste à pondérer

à la même position spatiale E, 1 suivant :


…• E, 1
‡• E, 1 ˆ
`> < ∑•#q …œ E, 1 a

œ • q⁄

La valeur des hyper-paramètres > (régularisation de Tikhonov), < et • est déterminée


sur l’ensemble de validation. Un ordre de grandeur est > 2, < 10 3 , • 0.75 et
< 5 pour une profondeur de 96 cartes de caractéristiques sur la couche.
• local Response normalization Layer (intra-carte de caractéristiques): Cette

pondération locale des valeurs d’activations est effectuée sur la carte courante • de
normalisation est très similaire à l’opération précédente à ceci près que l’opération de

courante E, 1 suivant (pour un exemple de normalisation 9 y 9 :


caractéristiques mais uniquement sur des positions spatiales adjacentes à la position

…• E, 1
‡• E, 1 ˆ
.
`> < ∑– 3,F 3 …œ w, H a
#3,F #3

• local contrast normalization layer (inter-cartes de caractéristiques) : une autre


technique (K. Jarrett, K. Kavukcuoglu, M. A. Ranzato, and Y. LeCun, What is the best
multi-stage architecture for object recognition? in International Conference on
Computer Vision, pp. 2146–2153 , 2009. (téléchargement ici)) intègre les principes des

(1) les auteurs utilisent une fonction non-linéaire de type tan . ou |tan . |, (2) une
2 techniques précédentes de normalisation (inter-carte et intra-carte) à ceci près que

est calculée sur un voisinage spatial (de 9 y 9 pixels ici) autour du point E, 1 selon
valeur de l’activité moyenne est soustraite en sortie, et (3) la valeur de normalisation

•#q⁄

…′• E, 1 …• E, 1 w, H …œ w, H
#3,F #3
: :
– 3,F 3
œ • q⁄

…′• E, 1
‡• E, 1 ˆ
`> < ∑œ
•#q
∑–#3,F3,F#3 3 …′œ w, H a

• q⁄

w, H est une fenêtre de pondération gaussienne tq ∑– w, H 1.


#3,F #3
où 3,F 3

AGREGATION (OU POOLING) & SOUS-ECHANTILLONNAGE


La dernière opération (n°3 sur la figure ci-dessus) consiste en une opération de « pooling » qui
vise à agréger l’information correspondant à des neurones voisins de façon analogue au le rôle
joué par les cellules impliquées dans la vison humaine. Le pooling consiste réduire la résolution
des images filtrées en moyennant les pixels contenus dans une fenêtre rectangulaire 2D de

-60-
utilisent également la norme p ou la norme p , ou bien encore l’opérateur max . (on parle
dimensions données (on parle alors d’average-pooling). Des variantes de cetet technique

alors de max-pooling) aux pixels contenus dans cette fenêtre. Cette opération peut ensuite
être réitérée en décalant la fenêtre d’agrégation (de paramètre sizeX car elle souvent carrée)
d’un seul ou de plusieurs pixels (paramètre stride size). Dans ce dernier cas, on réalise ainsi une
opération de sous-échantillonnage stride size :1 sur les dimensions spatiales (i.e. width &
height) ce qui réduit la complexité globale du réseau de neurones. Pour un choix de
paramétrage (stride size= sizeX), on parle alors de non-overlapping pools.
Suite à l’étape d’agrégation, la représentation de l’image originale est alors
approximativement invariante aux translations modérées au sein de l’image originale d’entrée
car, si de faibles translations locales sont appliquées au niveau de l’image originale, alors les
valeurs des sorties de l’étape d’agrégation resteront inchangées.
LA FONCTION DE COUT
Les réseaux convolutionnels sont adaptés à l’aide d’un ensemble de < images étiquetées b, _
où les étiquettes D_Â , E ∈ A0, < 1BF correspondent à une variable aléatoire indiquant la classe

'Â .
critère de perte basé sur l’entropie croisée entre _Â et _
exacte. Dans ce cas, il est préférable d’utiliser, dans le cas de la classification des images, un

Au final, les cartes de convolutions sont mises à plat et concaténées en un vecteur de


caractéristiques, appelé code CNN. Ce code CNN en sortie de la partie convolutive est ensuite
branché en entrée d’une deuxième partie, constituée de couches entièrement connectées
(perceptron multicouche). Le rôle de cette partie est de combiner les caractéristiques du code
CNN pour classer l’image.

DROP-OUT

-61-

View publication stats

Vous aimerez peut-être aussi