Projet 3 : Reconnaissance du locuteur par l`algorithme EM 1

Ecole Polytechnique Ann´ee 2004-2005 February 28, 2005
Projet 3 : Reconnaissance du locuteur par l’algorithme EM
Responsable: Randal Douc ([email protected]).
1 Pr´eliminaires
Le but de ce projet consistera `a identifier un locuteur `a partir d’un ´echantillon
de parole en utilisant une m´ethode li´ee `a l’algorithme EM. Commencez par
r´ecup´erer les ´echantillons disponibles `a l’adresse:
http://www.cmap.polytechnique.fr/douc/Page/Teaching/Stat/locuteur.html
La d´emarche g´en´erale de ce projet est la suivante:
Les signaux audio “.wav” sont pr´etrait´es de mani`ere `a associer `a des
intervalles de temps (de l’ordre de quelques dizaines de millisecondes)
du signal un petit nombre pde param`etres significatifs (de l’ordre
de la dizaine). On associe donc `a un signal “x.wav” un ensemble de
vecteurs xn
1= (x1, ..., xn), chaque xi´etant ´el´ement de Rp(ces nota-
tions seront utilis´ees syst´ematiquement, c’est `a dire que aN
1d´esigne
le vecteur (a1, ..., aN)). Les (xi) sont appel´es coefficients cepstraux du
signal audio.
On consid`ere les xn
1comme des observations i.i.d. dont la densit´e est
mod´elis´ee par un m´elange de gaussienne.
L’algorithme EM est utilis´e pour obtenir une approximation des para-
m`etres du m´elange qui maximisent la vraisemblance pour une obser-
vation xn
1. Ceci constitue la phase d’apprentissage.
Les param`etres du m´elange obtenus pour chaque locuteur sont utilis´es
pour reconnaitre un locuteur `a partir d’un nouvel ´echantillon. C’est la
phase de test.
Les ´echantillons audio que vous r´ecup´erez sont constitu´es de deux ´echantil-
lons par locuteur, un pour la phase d’apprentissage, un pour la phase de
test. Les ´echantillons fournis sont de mˆeme taille, bien que g´en´eralement
l’´echantillon pour l’apprentissage soit nettement plus long que celui utilis´e
pour le test.
1
2 Pr´etraitement
La premi`ere ´etape consiste `a extraire les coefficients cepstraux du signal.
Cette ´etape est d´ej`a trait´ee et il vous suffit dans un premier temps d’aller
dans le r´epertoire DataCeps pour r´ecup´erer les coefficients cepstraux de
chaque locuteur (`a l’aide de la commande scilab read). Pour la suite du
projet, nous ne retiendrons pas la premi`ere coordonn´ee des vecteurs des
cepstres xi. Cette coordonn´ee est reli´ee `a la puissance du signal sonore ´etudi´e
et n’est pas pertinente pour l’identification du locuteur. Il vous faut ainsi
supprimer la premi`ere colonne de la matrice obtenue. On obtient alors une
s´erie de vecteurs xn
1, chaque vecteur ´etant de taille p(p= 12 dans les
´echantillons obtenus `a partir de la page web).
3 Mod`ele et notations
Les xn
1sont donc vus comme nobservations i.i.d. de variables Xn
1de densit´e
gθ, d´efinie par:
xRp, gθ(x) =
K
X
k=1
αkφµk,Ak(x),
o`u l’on a introduit les notations suivantes:
Le param`etre θ= (αK
1, µK
1, AK
1) avec αK
1[0,1]K,PK
k=1 αk= 1,
µK
1(Rp)Ket les Aksont des matrices sym´etriques positives.
φµ,A est la densit´e associ´ee `a la loi d’un vecteur normal de dimension
pde moyenne µet de matrice de variance-covariance A:
xRp, φµ,A(x) = 1
(2π)p/2detAexp 1
2(xµ)T(A)1(xµ)
Les αK
1seront appel´es poids du m´elange. Un locuteur sera identifi´e par une
valeur particuli`ere de θ.
4 Algorithme EM
On remarque que la fonction fθ:Rp× {1, . . . , K} → Rd´efinie par:
fθ(x, y) = αyφµy,Ay(x)
est une densit´e jointe par rapport `a la mesure produit naturelle sur Rp×
{1, . . . , K}, c’est `a dire la mesure produite de la mesure de Lebesgue sur Rp
2
et de la mesure ponctuelle sur {1, . . . , K}. On peut donc joindre les variables
Yn
1aux Xn
1telles que la suite de variables (Xi, Yi), i= 1, . . . , n soient des
variables i.i.d de densit´e jointe fθ(x, y).
4.1. Quelle est la loi de Yn
1? Montrer que la loi marginale pour Xn
1est
bien la loi associ´ee `a un ´echantillon i.i.d. de variables ayant pour den-
sit´e gθ. Ecrire la vraisemblance jointe fθ(Xn
1, Y n
1) et la vraisemblance
marginale fθ(Xn
1).
L’estimateur du maximum de vraisemblance θMV pour ce mod`ele associ´e
aux observations xn
1est d´efini par
θMV = argmaxθlog (fθ(Xn
1))
Comme il n’y a pas de formule explicite pour θMV , nous vous proposons
d’utiliser une proc´edure it´erative appel´e algorithme EM (en Anglais: Expec-
tation Maximisation, parce qu’il y a une partie o`u l’on prend une esp´erance
et une autre o`u l’on maximise):
θ[t+ 1] = argmaxθEθ[t](log fθ(Xn
1, Y n
1)|Xn
1=xn
1) (1)
L’it´eration de cet algorithme produit, sous de bonnes hypoth`eses, une con-
vergence de θ[t] (lorsque t→ ∞) vers l’estimateur du maximum de vraisem-
blance θMV . Nous n’´etudierons pas les propri´et´es th´eoriques de cet estima-
teur (qui sont plus d´etaill´ees dans le Projet 5) mais nous nous contenterons
de l’appliquer dans notre situation.
5 Relation de r´ecurrence sur les coefficients pour
une it´eration
Nous supposerons dans toute la suite que les matrices AK
1sont diagonales.
La matrice Aiest ainsi enti`erement caract´eris´ee par les coefficients de sa
diagonale que nous noterons σi. Ainsi, σiest un vecteur de (R+)p.
Nous notons maintenant θ= (αK
1, µK
1, σK
1) et θ[t] les param`etres obtenus
par tit´erations de la relation (1).
5.1. Montrer que pour tout i= 1, . . . , n,
Eθ[t](1k(Yi)|Xn
1=xn
1) = αk[t]φµkk(xi)
PK
l=1 αl[t]φµll(xi).
Nous noterons cette valeur pθ[t](k|xi).
3
5.2. En notant que la maximisation en αpeut se faire ind´ependamment
des autres param`etres, montrer que
αk[t+ 1] = 1
n
n
X
i=1
pθ[t](k|xi)
5.3. Montrer ensuite que
µk[t+ 1] = Pn
i=1 xipθ[t](k|xi)
Pn
i=1 pθ[t](k|xi).
5.4. Rappelons que σk[t+ 1] (R+)pet notons σk[t+ 1](j) son j-`eme
coefficient. De mˆeme, notons xi(j) ( et µk[t](j)) le j-`eme coefficient de
xi( et µk[t]). Montrer alors que pour tout j= 1, . . . , p,
σk[t+ 1](j) = Pn
i=1 pθ[t](k|xi)(xi(j)µk[t](j))2
Pn
i=1 pθ[t](k|xi),
Puis que:
σk[t+ 1](j) = Pn
i=1 pθ[t](k|xi)(xi(j))2
Pn
i=1 pθ[t](k|xi)(µk[t](j))2.
6 Programmation d’une it´eration
On ´ecrira les fonctions demand´ees en laissant la possibilit´e de changer le
nombre Kde classe du m´elange. On pourra commencer `a tester le mod`ele
avec K= 5. En reprenant les formules de la section pr´ec´edente, programmez
une fonction Scilab qui, `a partir des observations xn
1et de param`etre initial
θ0, calcule le param`etre θ1obtenu apr`es une it´eration de l’algorithme EM.
Afin de simplifier l’´ecriture de ce programme, vous commencerez par pro-
grammer une fonction gauseval permettant l’´evaluation de densit´es gaussi-
ennes. La synthaxe de cette fonction est:
dens=gauseval(X,mu,sigma);
o`u
Xest le vecteur des observations; la ligne i0contient le vecteur xi0.
Cette matrice est donc de taille n×p.
mu est la matrice des moyennes du m´elange; la ligne k0contient le
vecteur µk0. Cette matrice est donc de taille K×p.
4
sigma est la matrice des diagonales des covariances du mod`ele; la ligne
i0contient le vecteur des ´el´ements diagonaux de la matrice Ak0. Cette
matrice est donc de taille K×p.
dens est une matrice dont la ligne i0contient le vecteur (dens(i0,1), ...,
dens(i0, K)), o`u dens(i, k) = φηk(xi), avec ηk= (µk, Ak). Cette ma-
trice est donc de taille n×K.
Cette fonction “gauseval”doit vous permettre de calculer facilement les
termes dont vous avez besoin lors d’une it´eration de l’algorithme EM.
7 Le probl`eme de l’initialisation
Vous ˆetes maintenant en mesure de calculer les coefficients de votre m´elange
en partant d’un choix initial de coefficients et en effectuant plusieurs it´erations
de l’algorithme EM. Ce choix initial est d´elicat, et nous adopterons une
approche simple: les moyennes initiales seront prises ´egales `a certains des
vecteurs d’observation choisis al´eatoirement uniform´ement sur l’ensemble
des vecteurs correspondant `a un locuteur. Les el´ements des diagonales des
matrices de covariance seront choisis ´egaux (et valant par exemple 0.5).
8 Application
8.1. Programmez une procedure qui, ´etant donn´e un param`etre θet un
vecteur d’observations xn
1, calcule la vraisemblance correspondant `a
gθ.
8.2. Choisissez un locuteur particulier, et appliquez lui l’algorithme EM.
8.3. V´erifiez (num´eriquement) la convergence de la vraisemblance lors de
l’application de EM.
8.4. V´erifiez que, pour un vecteur xn
1correspondant au locuteur “a”, la
vraisemblance associ´ee `a gθest sup´erieure avec les param`etres de ce
locuteur qu’avec les param`etres des autres locuteurs.
9 Phases d’apprentissage et de test
Pour chacun des locuteurs dont vous disposez d’un ´echantillon de voix, cal-
culez les param`etres du m´elange correspondant. Vous disposez maintenant
5
1 / 6 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 !