Application de la Méthode Adaboost à la Reconnaissance
Automatique de la Parole
1Rimah Amami, 2 Dorra Ben Ayed, 3Noureddine Ellouze
Département de Génie Electrique, ENIT, Tunis, Tunisie
1Rimah.amami@yahoo.fr, 2[email protected], 3N.ellouze@enit.rnu.tn
Abstract- Les méthodes du Boosting constituent une famille
d’algorithmes d’apprentissage automatique qui construisent
des modèles (de classification ou de régression) fondés sur la
combinaison des échantillons d’apprentissage dits "faibles".
La méthode Adaptative Boosting (Adaboost) est la méthode du
Boosting la plus utilisée. Dans cet article, nous proposons une
étude et une évaluation d’un ensemble d’algorithme de la
méthode Adaboost dans un système de classification basé sur
les arbres de décision binaire (CART) pour aborder la
reconnaissance de la parole.
Nous utilisons, pour nos expérimentations, les phrases SA1 et
SA2 du dialecte DR1 du corpus de son TIMIT.
Mots clés- Real Adaboost, Gentle Adaboost, Modest
Adaboost, Arbre de decision CART, TIMIT, Validation
croisée.
I. INTRODUCTION
Le processus de la reconnaissance automatique de la parole
(RAP) se compose principalement de quatre phases
élémentaires; Extraction des caractéristiques, L’apprentissage
La modélisation et la décision finale (Figure1).
Fig 1. Architecture d’système de la reconnaissance Vocale
Dans la littérature, les recherches effectuées dans le domaine
de la reconnaissance vocale affirment que dans un système de
RAP, l’algorithme d’apprentissage constitue l’élément
fondamental pour la robustesse du système. De ce fait, la
performance d’un système de RAP dépend essentiellement de
l’algorithme d’apprentissage utilisé pendant la phase de la
classification. Ces dernières années, l’approche du Boosting a
été appliqué dans le domaine de la RAP vu son aptitude à
améliorer la performance des différents classifieurs.
Les méthodes du Boosting constituent une famille
d’algorithmes d’apprentissage automatique qui visent à rendre
un système d’apprentissage dits "faibles" plus performant.
Actuellement, Les méthodes du Boosting sont très étudiées.
Elles permettent de combiner un ensemble d’ instances d’un
classifieur donné considérées difficile à apprendre (faible),
afin de forger un seul classifieur « fort » et d’ou améliorer la
performance de l’algorithme d’apprentissage « faible ».Pour
nos expérimentation, nous avons choisi CART (arbre de
décision binaire) comme notre algorithme d’apprentissage.
Adaboost est l’aolgorithme du Boosting le plus utilisé.
Dans le but d’optimiser Adaboost, il y a eu l’apparition de
plusieurs variantes de cette méthode telles que Real, Gentle
Adaboost et modest Adaboost.
Dans cet article, nous utilisons ces trois variantes
d’Adaboost ainsi qu’un algorithme d’apprentissage basé sur
l’arbre de décision binaire : CART (Classification And
Regression Tree). Par la suite, nous évaluons la performance
de chaque méthode à partir des taux d’erreur que notre modèle
produit. Cet article est organisé de la manière suivante: La
section 2, introduit les différents algorithmes du Boosting ; la
section 3, décrit l’algorithme d’apprentissage utilisé. Enfin, en
section 4 and 5, nous étudions les résultats que notre modèle
génèrent en utilisant le corpus TIMIT.
II. INTRODUCTION AU BOOSTING
A. Définitions
La méthode du Boosting a été inspiré de l’algorithme
d’apprentissage Hedge (ß) [1]. Le principe du Boosting est de
réutiliser un classifieurs plusieurs fois en attribuant aux
instances d’apprentissage, à chaque fois, une pondération
différente et puis combiner les résultats afin de trouver un seul
classifieur « fort/très précis » [2].
B. L’approche Adaboost
AdaBoost (Adaptive Boosting) est une méthode
algorithmique connue dans le domaine de l’apprentissage.
Cette méthode a été initialement conçue par Robert Schapire
Extraction des
caractéristiques
Les
Echantillons
Algorithme
d’apprentissage
Décision
Finale
Reconnaissance de la
parole
e-STA copyright 2011 by see
Volume 8, N°1, pp 53-60
et Yoav Freund en 1995 [1][3]. Cette approche est la dérivée
la plus partiquée de la méthode du Bossting qui vise à stimuler
la performance de l’algorithme d’apprentissage.
Adaboost consiste à transformer, d’une manière efficace, un
classifieur « faible » en un classifieur « fort » en réduisant les
taux d’erreur. L’algorithme d’Adaboost, appelle à chaque
itération, un algorithme d’apprentissage qui entraînent les
instances à classifier. Par la suite, Adaboost définit une
nouvelle distribution de probabilité pour les instances
d’apprentissage en fonction des résultats de l’algorithme à
l’itération précédente tout en augmentant le poids des
instances qui ne sont pas correctement classées. A la fin,
Adaboost combine les données faibles par un vote pondéré
pour en déduire un classifieur fort.
Dans cette optique, AdaBoost essaye, de trouver un
classifieur optimal à partir de la combinaison d’un ensemble
de données d’apprentissage faible. L’algorithme d’Adaboost
est comme suit [4].
Etant donné:
S=
(
)
(
)
11
,,....,,
mm
xy
x
y
avec m l’ensemble des
échantillons et
{
}
1,...,
i
yY k∈= avec Y est
l’ensemble des étiquettes.
L’algorithme d’apprentissage dits “faible”
WeakLearner.
T est le nombre des itérations.
Initialiser 1
()
t
Di m
= .
Faire pour 1, 2,.....,tT=:
1. Appeler WeakLearner qui fournit la distribution Dt.
2. Calculer l’hypothèse: :
t
hX Y.
3. Calculer l’erreur de:
()
:()
ti i
xt t
ihx y
hDi
ε
=≠
= (1)
Si 12
t
ε
f Alors 1Tt=− et sortir.
4. Définir (1 )
t
tt
ε
β
ε
=
5. Mise à jour de la distribution Dt :
1
()
()
() 1
ttii
t
tt
if h x y
Di
Di ZSinon
β
+
=
(2)
Avec Zt est un facteur de normalization.
6. L’ hypothèse finale:
:()
1
( ) arg max log
t
fin th x y t
hx
β
=
=.
(3)
Les fondateurs de cette méthode, Schapire et Freund, ont
essayé tout au long de leurs travaux d’optimiser l’algorithme
d’Adaboost d’où il y a eu lapparition de plusieurs variantes
telles que Adaboost.M1, Adaboost.M2 Gentle Adaboost , etc.
En effet, il existe plusieurs dérivés de l’approche Adaboost
qui optimisent différemment la pondération (Wi).
GML AdaBoost Matlab Toolbox est un ensemble de
fonctions en Matlab qui implémente un ensemble d’algorithme
de classification et du Boosting à savoir: Real AdaBoost,
Gentle AdaBoost et Modest AdaBoost qui sont utilisés dans ce
travail [5].
C. L’approche Real Adaboos
Real AdaBoost a été mis en œuvre en 1999 par Freund and
Schapire [6]. Real Adaboost est une amélioration de la
méthode d’origine ou il faut ajouter une fonction qui mesure le
degré de confiance en manipulant des données
d’apprentissage soi-disant « faible ». La particularité de cette
méthode réside dans la classe de probabilité estimée qui
convertit les taux de logarithme en une valeur réel d’échelle
[7]. Cette valeur est utilisée afin d’observer les contributions
des sorties du modèle en question. De plus, Real Adaboost
mesure la probabilité qu’une donnée d’apprentissage
appartient à une classe donnée alors que Adaboost consiste,
tout simplement, à classifier les données et calculer l’erreur
pondérée. En générale, Real AdaBoost tend à minimiser eyF(x)
afin de mieux trouver la classification optimale générer par le
modèle utilisé [4].
D’autre part, la méthode Real Adaboost accorde un taux de
confiance aux classifieurs faible [8][9] qui transforme
l’ensemble des instance X et la prédiction booléenne en un
espace réelle R. L’algorithme est comme suit [10].
Etant donné:
(
)
(
)
11
, ,...., ,
MM
Sxy xy=, avecm l’ensemble
des échantillons et
()
}
,1,1
ii
xy X∈×, est
l’ensemble des étiquettes
L’algorithme d’apprentissageWeakLearner.
T est le nombre des itérations.
Initialiser la distribution 1
()
t
Di m
=.
Pour 1, 2,.....,tT
=
:
1. Pour chaque instance faire:
a. Partitionner X en un bloc séparé
(
)
,
MM
x
y.
b. Pour chaque distribution Dt calculer
:, ,^ 1
(,) ()
i
j
liji
ixeX y
WPxXyl Di
=∈ ==
. (4)
avec 1l
=
±
c. Définir l’hypothèse h pour chaque Xj as:
1
1
1
,() ln
2
j
j
W
xXhx W
ε
ε
+
⎛⎞
+
∀∈ = ⎜⎟
+
⎝⎠
(5)
Avec
ε
une petite constante positive.
e-STA copyright 2011 by see
Volume 8, N°1, pp 53-60
2. Sélectionner e ht:
min
arg min
theH
theH
ZZ
hZ
=
=
3. Mise à jour de la distribution
[
]
1() ()exp ( )
tt iti
D
iDi yhx
+=−
. (6)
Et normalisation de Dt+1 .
4. L’hypothése finale H :
1
() ()
T
t
t
H
xsign hxb
⎡⎤
=−
⎢⎥
⎣⎦
. (7)
avec b est le seuil (par défaut=0).
La fonction de confiance de est définie par :
() ()
xt
t
Con
f
xhxb=−
(8)
Néanmoins, il a y eu l’apparition des nouvelles versions
d’Adaboost qui leurs performances dépassent souvent Real
Adaboost. Friedman and Al. [11] ont proposé une extension de
cette approche appelée Gentle AdaBoost.
D. L’approche Gentle Adaboost
Gentle AdaBoost [11] est considérée comme autant une
extension du Real adaboost. Cette approche est plus
performante que Real adaboost étant donné sa stabilité et sa
robustesse quand il s’agit des données bruitées et aux
aberrants [5].
Gentle Adaboost minimise la fonction exponentielle de perte
d’Adaboost en utilisant les étapes de Newton [7].
D’autre part, Gentle Adaboost est une variation de
l’approche Real Adaboost qui stimule la performance de cette
dernière en appliquant une régression par la méthode des
moindres carrées pondérées. . En outre, Gentle Adaboost et
Real adaboost ne normalisent pas l’ensemble des apprenants
pondérés de la même manière, puisque la fonction de
normalisation de Real adaboost est donnée par
Fm(x)=Pw(y=1|x)-Pw(y=-1|x), alors que pour Gentle Adaboost,
la mise à jour de la classe de probabilité pondérée est donnée
par la fonction suivante :
(1|)
1
() log
2(1|)
w
mw
Py
x
fx
Py
x
=
==− [11]. L’algorithme du Gentle
Adaboost est comme suit [12].
Etant donné:
Les poids 1,1,..,
i
WiN
N
== et () 0Fx
=
1. Faire pour 1, 2,...,mM=.
a. Estimer ()
m
f
xen utilisant les moindres carrées
pondérées de y à x.
b. Mise à jour de () () ()
m
Fx Fx f x←+ .
c. Définir
[
]
exp . ( )
ii m
WW
y
i
f
xi←− , avec
i=1,2…,N puis normaliser 1
i
iW=
2. L’hypothèse Finale:
[]
1
() ()
M
m
m
Fx sign f x
=
=
(9)
E. L’approche Modest Adaboost
Modest AdaBoost [5] a été inspire par Vezhnevets et Al en
2005.
Cette variation d’Adaboost vise a amélioré la généralisation
des erreurs pendant la classification. Cette approche tend à
donner des résultats meilleurs que ceux calculés par Gentle
adaboost. Dans ce but, Vezhnevets et Al avaient utilisé une
distribution inversée : 1ww
=
. Cette distribution a permis,
donc, de fournir aux données d’apprentissage correctement
classifiées des poids élevés.
L’algorithme de Modest Adaboost algorithm que
A.Vezhnevets et Al ont proposé est comme suit[5].
Given:
S=
(
)
(
)
11
, ,...., ,
N
N
x
yxy
Initialiser la distribution 01
()Di N
=.
1. Pour 1, 2,....,mM
=
et tant que 0
m
.
a. Entraîner l’algorithme d’apprentissage ()
m
hx
en
utilisant la distribution ()
m
Di
par la moindre carrée
pondérée.
b. Calculer la distribution inversée
() (1 ())
mmm
Di DiZ=− (10)
c. Calculer:
1() ( 1 ())
m
mD m
P
xPy hx
+==+ (11)
1() ( 1 ())
m
mm
D
Px Py hx
== (12)
1() ( 1 ())
m
mD m
Px P
y
hx
== (13)
1() ( 1 ())
m
mm
D
Px Py hx
== (14)
d. Définir:
11
11
() ( (1 ) (1 ))()
mm
mm m
f
xP P P Px
+−
+−
=− (15)
e. Mise à jour de la distribution:
1
()exp( ( ))
() mimi
mm
Di
yf
x
Di Z
+
=
(16)
2. L’hypothèse finale:
e-STA copyright 2011 by see
Volume 8, N°1, pp 53-60
[
]
()Fx =
1
()
iM
m
i
Sign f x
=
=
⎡⎤
⎢⎥
⎣⎦
(17)
Par conséquent, Modest Adaboost, produit un ensemble
d’erreur de classification plus faible que celui calculé par Real
et Gentle Adaboost. Mais, à partir des résultats de plusieurs
recherches dans ce domaine, nous pouvons constater que
l’erreur d’apprentissage calculée par Modest Adaboost est plus
élevée que celle de Gentle Adaboost.
III. L’ALGORITHME
D’APPRENTISSAGE: Arbre de
classification (CARTs)
Les Algorithmes d’apprentissage sont constitués d’un
ensemble d’algorithme qui consiste à stimuler
automatiquement un système donné. Ces algorithmes sont
généralement utilisés pour la reconnaissance des forms et la
prise de décision. Les algorithmes d’apprentissage sont
employés dans des différentes applications telles que la
classification, la détection, l’analyse etc.
D’autre part, Les algorithmes d'apprentissage peuvent se
catégoriser selon le mode d'apprentissage qu'ils emploient:
Apprentissage supervisé, Apprentissage-non-supervisé etc.
Dans cet article, nous nous intéressons uniquement par
l’apprentissage supervisé. De ce fait, nous avons identifié
l’arbre de classification et de régression (CARTs) comme
notre algorithme d’apprentissage.
GML AdaBoost Toolbox implémente l’arbre de
classification et de regression (CARTs) ainsi que les
approaches d’Adaboost précédemment définies [5].
Par ailleurs, CARTs est considéré comme un arbre binaire
({1,-1}) puisque chaque nœud ne peut avoir que deux fils
(figure2). Le principe de l’algorithme de CART s’appuie sur
l’indice de Gini (IG) pour la segmentation de l’arbre qui vise à
construire les feuilles. Il faut, surtout, noter que plus l’indice
de Gini est faible, plus le noeud est pur (tous les éléments du
noeud appartiennent à la même classe). L’arbre de décision et
de régression (CARTs) a été conçu par Leo Breiman [13][14].
Faux
Vrai
Faux
Faux Vrai
Fig 2. Exemple d’un CART.
Le principe de cet algorithme consiste à partitionner d’une
manière récursive l’ensemble d’entraînement suivant la
méthode diviser pour mieux régénérer1. En effet, l’algorithme
fait une recherche minutieuse, pour chaque noeud, sur les
attributs et les valeurs de la segmentation puis il sélectionne le
regroupement binaire qui optimise le critère au nœud t [15].
La construction de l’arbre de décision binaire se fait,
essentiellement, en itérant cinq étapes [16]. L’algorithme
relatif s’appelle CART est comme suit:
1. Etablir pour chaque nœud toutes les divisions possibles.
2. Définir un critère de sélection de la meilleure division
d'un nœud.
3. Définir une règle d'arrêt des segmentations de l'arbre afin
de déclarer un nœud comme terminal
4. Affecter une valeur de la variable Y pour ces nœuds
terminaux.
5. Estimer le risque d'erreur de prévision associé à cet arbre.
IV. EXPERIMENTATIONS
A. Corpus de données
Dance ce travail, nous avons utilisé le dialecte DR1 (New
England) du corpus TIMIT[17]. Nous avons choisi pour nos
expérimentations les deux phrases SA1 et SA2 car dans nos
travaux, nous avons procédé à une classification binaire. Il est
important de noter que le dialecte DR1 vise à mettre l’accent
sur la divergence de la prononciation des différents locuteurs
[18][19]. La table I décrit la base de données utilisée pour
notre système de reconnaissance.
Table I.
Système de reconnaissance des phrases (RCP)
Phrase SA1 SA2
Locuteurs 14F+24M 14F+24M
Codification 1 -1
Paramétrisation 12 MFCC, 12 MFCC+ 12 Delta,
12 MFCC+ 12 Delta+ 12 Delta-Delta
B. Paramétrisation
La première étape de notre système vise à numériser le
signal entrant ce qui nous aboutie, par la suite, à réaliser
l’analyse acoustique du signal de parole sur des fenêtres
temporelles de courte durée. Néanmoins, parmi les types de
paramètres vraiment pertinents et utilisables efficacement,
nous trouvons les paramètres de l’analyse spectrale et
éventuellement les paramètres prosodiques puisqu’ils sont
respectivement corrélés à la forme du conduit vocal et à la
source d’excitation de l’appareil de production de la parole.
Dans ce travail, nous nous intéressons, principalement, aux
paramètres cepstraux de types Mel Mel Frequency Cepstral
(MFCC) et ses dérivées étant donné leurs fréquentes
utilisations dans le domaine de la reconnaissance ainsi que
leurs aptitudes à représenter les caractéristiques d’un signal et
leurs robustesses (Table I).
1 Du latin Divide ut imperes, méthode de conception consistant à diviser un
problème de grande taille en plusieurs sous-problèmes analogues, létape de
subdivision étant appliquée récursivement
Y
=-
1
X5 >0
X2 >2.3 X1 >3
Y=-1
Y=1 Y=-1
X6 >2
e-STA copyright 2011 by see
Volume 8, N°1, pp 53-60
Dans les systèmes actuels de reconnaissance les
caractéristiques les plus utilisées sont, soit les paramètres
cepstraux standards, soit des paramètres de type MFCC (Mel
Frequency Cepstral Coefficients) qui sont, normalement,
complétées par leurs paramètres variationnels respectifs qui
caractérisent les variations des paramètres cepstraux dans les
fenêtres proches de la fenêtre à court-terme courante.
Les coefficients MFCCs [20], aussi nommés Mel Frequency
Cepstral Coefficients, sont basés sur une échelle de
perception, non linéaire, appelée Mel. En effet, l’étude des
coefficients MFCC du signal permet d’extraire des
caractéristiques de celui-ci autour de la Transformée de
Fourrier (FFT) et de la Transformée en Cosinus Directe
(DCT), convertis sur une échelle de Mel. Le principal
avantage de cette méthode se réside dans le fait que les
coefficients obtenus sont décorréllés.
D’autre part, l’utilisation des dérivées du premier et du
second ordre des MFCC (les DMFCC et DDMFCC) peuvent
éventuellement améliorer et de renforcer les caractéristiques
du signal vocal par la prise en compte des paramètres
dynamiques: il s’agit de l’évolution temporelle de l’enveloppe
spectrale. [21][22]. Les recherches empiriques prouvent que
l’augmentation du nombre des paramètres améliore,
nettement, la performance des systèmes de reconnaissance.
C. Méthode de Décision
Validation par Base de Test
L’idée de cette méthode est de diviser la base initiale en deux
sous bases ; Une sous base d’apprentissage qui caractérisent
50% des données de base et une sous base de test qui regroupe
les 50% de données restante.
Validation Croisée
Cette méthode est employée afin de valider un modèle et
estimer l’erreur réelle de ce dernier. Par conséquent, la
technique de la validation croisée, estime la performance de
chaque modèle en se basant sur la partie de données qui n’était
pas utilisée lors de la construction de ce modèle (lors la phase
de l’apprentissage). Les résultats calculés seront, par la suite,
combinés dans le but de donner une estimation de la
généralisation du modèle testé. [23] [24].
Ainsi, nous avons utilisé ces deux méthodes pour la
classification de nos bases de données afin de mieux
comparer, par la suite, la performance de chaque méthode.
Le nombre d’itération a été fixé à T= 100 et nous avons défini
K=5 groupes (folds) pour la méthode de la validation croisée.
V. RESULTATS ET DISCUSSION
Dans cette section, nous présentons les résultants de nos
expérimentations selon les deux méthodes de validation. Notre
travail a été réalisé sur Matlab 7.7 release 2008b en utilisant
GML Adaboost Matlab Toolbox [16].
A. Application de l’approche Real Adaboost
Avec les Coefficients MFCC
010 20 30 40 50 60 70 80 90 100
0.35
0.4
0.45
0.5
0.55
0.6
0.65
Iterations
Taux d"erreur
Real AdaBoost
Fig 3. Evolution du taux d’erreur du système de RCP avec validation de la
base de test.
010 20 30 40 50 60 70 80 90 100
0.2
0.25
0.3
0.35
0.4
0.45
Iterations
Taux d"erreur
5 Validation croisée
Real AdaBoost
Fig 4. Evolution du taux d’erreur du système de RCP avec validation croisée.
D’après la figure 3, le meilleur taux de reconnaissance est
généré à l’itération 22 de l’ordre de 66,67%. Le meilleur taux
de reconnaissance du deuxième système (figure 4), est observé
à l’itération 30 de l’ordre de 78%.
Avec Les Coefficients MFCC et Delta

010 20 30 40 50 60 70 80 90 100
0.2
0.22
0.24
0.26
0.28
0.3
0.32
0.34
0.36
0.38
0.4
Iterations
Taux d"erreur
Real AdaBoost
Fig 5. Evolution du taux d’erreur du système de RCP avec validation de la
base de test.
010 20 30 40 50 60 70 80 90 100
0.26
0.28
0.3
0.32
0.34
0.36
0.38
0.4
Iterations
Taux d"erreur
5 Validation croisée
Real AdaBoost
Fig 6. Evolution du taux d’erreur du système de RCP avec validation croisée
e-STA copyright 2011 by see
Volume 8, N°1, pp 53-60
1 / 8 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !