• Aucun résultat trouvé

Suivi de voix parlée en temps réel

N/A
N/A
Protected

Academic year: 2022

Partager "Suivi de voix parlée en temps réel"

Copied!
85
0
0

Texte intégral

(1)

Rapport de Stage DEA ATIAM

—————

Suivi de Voix Parl´ ee grˆ ace aux

Mod` eles de Markov Cach´ es

Thomas Pellegrini et Rapha¨ el Du´ ee avec la participation de Lise Georges

—————

Encadrant: Diemo Schwarz Lieu: IRCAM

1, place Igor Stravinsky 75004 PARIS

Juin 2003

(2)
(3)

Table des mati` eres

1 Introduction 11

2 Etat de l’Art 13

2.1 Des Mod` eles de Makov Discrets aux Mod` eles de Markov Cach´ es 13

2.2 Le phon` eme : explications . . . . 16

2.3 La reconnaissance de la parole . . . . 18

3 Sp´ ecificit´ e du Stage : Le suivi de parole 21 3.1 Ant´ ec´ edents . . . . 21

3.2 Le Mod` ele HMM utilis´ e . . . . 22

3.2.1 Le Bas niveau . . . . 23

3.2.2 Haut niveau . . . . 24

3.2.3 Mixture de gaussiennes . . . . 25

3.2.4 Les ´ etats fantˆ omes (Ghosts States) . . . . 26

3.3 Les param` etres utilis´ es . . . . 27

3.3.1 les MFCC . . . . 27

3.3.2 Les Delta-MFCC . . . . 29

(4)

3.3.3 Taux de passage par z´ ero (Zeros-crossing rate ou ZCR) 32

3.4 L’apprentissage . . . . 32

3.4.1 Pr´ esegmentation . . . . 33

3.4.2 Apprentissage Bas niveau . . . . 34

3.4.3 Apprentissage Haut niveau . . . . 39

3.5 Le suivi . . . . 39

3.5.1 L’algorithme Probabilit´ e ”Avant” (Forward Probability) 40 3.5.2 L’algorithme Viterbi . . . . 41

3.5.3 Le suivi ` a Posteriori . . . . 41

3.5.4 Le suivi en Temps R´ eel . . . . 42

4 Tests et R´ esultats 45 4.1 Tests sur les param` etres utilis´ es . . . . 45

4.1.1 Quels coefficients utiliser pour bien d´ ecrire les phon` emes ? 46 4.1.2 Discussion sur la ”normalisation” des coefficients MFCC 50 4.1.3 Nombre d’exemple d’entrainement, limitations et obli- gations . . . . 50

4.1.4 Tests sur la taille de recouvrement entre les fenˆ etres d’analyse (Overlap) . . . . 52

4.2 Apport de l’apprentissage . . . . 52

4.2.1 Bas-niveau . . . . 52

4.2.2 Haut niveau . . . . 53

4.3 Tests avec erreurs dans la voix suivie : . . . . 58

(5)

TABLE DES MATI ` ERES 5

4.3.1 Silences . . . . 58

4.3.2 B´ egaiements . . . . 58

4.3.3 Erreurs . . . . 58

5 Limites et Evolution du syst` eme 61 5.1 Contexte des phon` emes . . . . 61

5.1.1 Repertorier tous les contextes des phon` emes ? . . . . . 62

5.1.2 Utiliser tous les contextes pour l’entrainement ? . . . . 62

5.1.3 Evolutivit´ e du mod` ele : auto-apprentissage . . . . 62

5.2 Mono/multilocuteur . . . . 63

5.2.1 Th´ eorie . . . . 63

5.2.2 Application . . . . 63

5.3 Am´ elioration des co´ efficients de description . . . . 64

5.3.1 Seuillage des ZCR . . . . 64

5.3.2 Ajout d’un param` etre de silence . . . . 65

6 Application en temps r´ eel 67 6.1 Le spectacle Retour d´ efinitif et durable de l’ˆ etre aim´ e . . . . 67

6.2 Vers un patch Jmax . . . . 68

6.2.1 Le format SDIF Sound Description Interchange Format 68 6.2.2 Le patch Jmax . . . . 68

6.3 Id´ ees d’applications . . . . 70

6.3.1 Apprentissage des langues . . . . 70

(6)

6.3.2 Karaok´ e adaptatif . . . . 71 6.3.3 Commande d’effets audiovisuels pour le spectacle vivant 71

7 Conclusion 73

8 Annexes 75

8.1 Exemples de suivi . . . . 75 8.1.1 Comparaison entre les coefficients normalis´ es et les co-

effients non normalis´ es . . . . 75 8.1.2 Suivi d’une phrase longue . . . . 78 8.2 L’algorithme des K-Moyennes (K-Means) . . . . 79 8.3 Texte de la pi` ece ”Retour D´ efinitif et Durable de l’Etre Aim´ e”

de Olivier Cadiot . . . . 80

8.4 Arborescence des fichiers Matlab . . . . 83

(7)

De l’int´ erˆ et du travail ` a deux.

Nous avons r´ ealis´ e le stage pr´ esent´ e dans ce document ` a deux. Pour nous, le fait de travailler en binˆ ome sur le mˆ eme sujet nous a beaucoup ap- port´ e. Cela nous a, en effet, permis de partager nos connaissances et de nous r´ epartir le travail ` a effectuer. Cela a ´ et´ e une exp´ erience tr` es enrichissante.

Nous avions chacun ` a tout moment un interlocuteur avec qui parler, expli- quer ses id´ ees et demander des explications mais aussi un personne apte ` a critiquer et d´ ementir nos affirmations personnelles.

Il est souvent difficile, lorsque l’on travaille seul, de prendre du recul sur son ´ etude et ses conclusions. Le fait de travailler ` a deux a, selon nous, limit´ e le travail inutile et permis d’avancer plus rapidement dans l’´ etude du dispositif.

De plus, Lise Georges, auditrice libre au DEA ATIAM, en venant

participer ` a nos recherches, nous a procur´ e un regard ext´ erieur et une aide

pr´ ecieuse grˆ ace ` a son entousiasme et sa capacit´ e ` a synth´ etiser des probl` emes

complexes. L’´ equipe ainsi form´ ee a su ´ etudier dans une ambiance de travail

et de bonne humeur

(8)
(9)

Remerciements

Nous remercions M. le Directeur Bernard Stiegler, de nous avoir per- mis d’effectuer notre stage de DEA au sein de l’institut IRCAM.

Nous remercions Norbert Schnell de nous avoir acceuilli au sein de son

´ equipe, l’´ equipe Applications Temps R´ eel (ATR). Les diff´ erentes r´ eunions auxquelles il a particip´ e ont permis de bien planifier et diriger nos recherches.

Nous remercions vivement Diemo Schwarz, charg´ e de recherche et d´ eveloppement au sein de l’´ equipe ATR, qui nous a encadr´ e tout au long du stage. Son engouement pour notre sujet, son aide, ses id´ ees, ses questions et surtout ses connaissances illimit´ es nous ont beaucoup stimul´ e et aid´ e.

Nous remercions ´ egalement l’´ equipe Syst` emes qui nous a support´ e

pendant ces quelques mois sur leur mezzanine ainsi que Vincent Goudard

et Remy Muller. Nous ne remercierons pas la machine ` a caf´ e qui ne nous a

pas beaucoup aid´ e durant ce travail et d´ edions ce travail ` a nos Mamans.

(10)
(11)

Chapitre 1

Introduction

La reconnaissance et le suivi sonores sont des domaines qui ont ´ et´ e

´ etudi´ es depuis plusieurs d´ ecennies. Dans l’industrie ils ont de multiples sujets d’application en t´ el´ ephonie, en multim´ edia mais aussi en commande vocale ou en ergonomie. Dans le domaine artistique, plus r´ ecemment, des metteurs en sc` ene et des compositeurs de spectacles vivants s’y sont aussi int´ eress´ e.

Ils cherchent ` a utiliser la capacit´ e d’un syst` eme ` a reconnaˆıtre des sons, des paroles ou des musiques et ` a les suivre en temps r´ eel. Un tel syst` eme aiderait

´ enorm´ ement les ing´ enieurs du son ` a agir en temps r´ eel en d´ eclenchant des lumi` eres, des effets ou des sons synchonis´ es avec le d´ eroulement du spectacle.

C’est dans cette optique que Norbert Schnell, responsable de l’´ equipe Applications Temps R´ eel de l’Ircam, et Diemo Schwarz, charg´ e de recherche, nous ont propos´ e un stage et que nous avons accept´ e. Tous les deux ´ el` eves du DEA ATIAM de l’Universit´ e Paris VI, nous avions en effet un stage obligatoire de quatre mois ` a r´ ealiser. C’est donc ` a l’Ircam et sous la tutelle de Diemo Schwarz que nous l’avons fait.

Ce stage a pour th` eme : “Le suivi de voix parl´ ee grˆ ace aux Mod` eles

de Markov Cach´ es” (HMM). Il visait ` a th´ eoriser et d´ evelopper un syst` eme de

suivi de parole en temps r´ eel le plus pr´ ecis possible. Cette pr´ ecision de suivi

en temps r´ eel devait ˆ etre de l’ordre du phon` eme (un son) pour pouvoir ˆ etre

directement appliqu´ e ` a un spectacle ` a venir. Connaissant le texte par avance,

il fallait r´ eussir ` a le suivre lorsqu’il ´ etait dit par un acteur pour pouvoir

d´ eclencher des ´ ev` enements suivant le d´ eroulement des paroles. L’id´ ee de cette

application est venue de Gilles Grand, compositeur ` a l’Ircam, travaillant sur

la pi` ece de th´ eˆ atre “Retour D´ efinitif et Durable de l’Etre Aim´ e”. Il d´ esirait

r´ eussir ` a d´ eclencher une voix synth´ etis´ ee synchronis´ ee en temps r´ eel avec

(12)

la voix v´ eritable de l’acteur disant le texte. Ainsi un acteur pourrait parler avec la voix d’une autre personne.

Nous avons r´ esum´ e dans ce document les diff´ erentes ´ etudes que nous avons r´ ealis´ ees. Apr` es un bref aper¸ cu du contexte dans lequel se place le sujet de notre stage, le concept du dispositif est d´ ecrit en d´ etail dans le cha- pitre 3. Ce concept est bas´ e sur la cr´ eation d’un Mod` ele de Markov Cach´ e cherchant ` a s’approcher le plus possible du flot de parole pour pouvoir le suivre. Diff´ erents algorithmes sont d´ ecrits ainsi que l’architecture du mod` ele.

Ensuite, nous avons d´ ecrit les tests r´ ealis´ es pour affiner les nombreux pa- ram` etres du mod` eles et donn´ es nos r´ esultats. Ce stage a permis de r´ ealiser une grosse partie de l’´ etude sur le suivi de voix parl´ ee grˆ ace aux HMM mais beaucoup de travail reste ` a faire. Nous avons donc d´ ecrit les limites et les ´ evolutions possibles du syst` eme dans le chapitre 5. Le dernier chapitre explique les diff´ erents probl` emes que Diemo Schwarz et nous-mˆ eme avons rencontr´ es lors de la cr´ eation de l’interface jMax n´ ecessaire au fonctionne- ment en temps r´ eel du syst` eme.

La principale difficult´ e de cette ´ etude a ´ et´ e de r´ eussir ` a trouver les

param` etres pertinents qui permettaient un suivi de la voix. En effet, les

HMM sont des mod` eles que l’on entraine pr´ ealablement sur des donn´ ees

d’apprentissage afin ensuite de pouvoir suivre des donn´ ees de test. Si les

param` etres sont trop pr´ ecis et l’entrainement trop bien r´ ealis´ e, le syst` eme

ne marchera que sur les donn´ ees d’apprentissage et pas sur les donn´ ees de

test. Il faut donc r´ eussir ` a trouver un juste milieu entre un mod` ele pertinent

qui donne la libert´ e ad´ equate pour suivre des donn´ ees diff´ erentes mais du

mˆ eme type.

(13)

Chapitre 2

Etat de l’Art

Voici pour commencer un bref aper¸ cu des th´ eories et des recherches pass´ ees que nous avons utilis´ ees durant notre stage. Avant de commencer nos recherches, une ´ etude bibliographique ` a ´ et´ e r´ ealis´ ee pour nous permettre de bien cerner et de maˆıtriser les diff´ erents sujets ` a aborder. Nous d´ ecrirons tout d’abord bri` evement la th´ eorie des Mod` eles de Markov Cach´ es g´ en´ erale. Les mod` eles que nous utiliserons ensuite sont particuliers. Ils seront d´ ecrits dans le chapitre 3, Sp´ ecificit´ es du stage. Nous cherchons ` a suivre la parole grˆ ace

`

a un mod` ele HMM. Pour ce faire, il est n´ ecessaire de la segmenter en zones : ce sont le phon` emes. Ce seront ces entit´ ees linguistiques qui seront suivies.

Enfin, la reconnaissance vocale est un domaine qui est extrˆ emement proche du suivi de la voix. C’est pourquoi nous l’avons ´ etudi´ e et en pr´ esentons un bref aper¸ cu.

2.1 Des Mod` eles de Makov Discrets aux Mod` eles de Markov Cach´ es

Les Mod` eles de Markov Discrets sont bas´ es sur une suite (ou boucle) d’´ etats dans lesquels on navigue par des probabilit´ es de transition et sui- vant des observations. Nous les illustrerons par l’exemple de la M´ et´ eo. Le mod` ele cr´ e´ e est une boucle d’´ etat de temps : pluis nuageux ensoleill´ e. Ils sont repr´ esent´ es figure 2.1.

Grˆ ace ` a ces mod´ eles, on peu connaˆıtre, sachant l’observation pass´ ee (La m´ et´ eo de la veille), quel va ˆ etre la probabilit´ e des observations futures.

Dans l’exemple que nous avons pris, ce serait par exemple la probabilit´ e

(14)

Ensoleillé Pluvieux

Nuageux

1/2 1/3

1/4 1/3 1/4

1/4

1/2 1/3

1/4

Fig. 2.1 – Mod` eles de Markov Discrets

qu’il fasse beau pendant 10 jours.

La nouveaut´ e qu’apportent les Mod` eles de Markov Cach´ es par rap- port aux Mod` eles de Markov Discrets, r´ eside dans le fait que les ´ etats sont caract´ eris´ es par des distributions de probabilit´ e sur l’espace des observations possibles, pluie, nuageux ensoleill´ e. Ces ´ etats correspondent alors ` a une va- riable qui n’est plus observ´ ee durectement. Ceci pourrait par exemple corres- pondre au fait d’ˆ etre ou non dans un d´ epression atmosph´ erique. On a alors deux mod` eles stochastiques li´ es : le temps et la depression atmosph´ erique.

On peut aussi illustrer ces mod` eles par le lancement de plusieurs pi` eces de monnaie biais´ ees les unes apr` es les autres dont on ne retient que le r´ esultat des lancements. Les deux s´ equences stochastiques li´ ees seraient alors, la suite des ´ etats pile ou face et la suite des choix des pi` eces. Le mod` ele cach´ e permet alors de connaˆıtre la probabilit´ e d’avoir une s´ equence de pi` eces connaissant la s´ equence d’´ etat pile ou face.

Les Mod` eles de Markov Cach´ es (MMC), dont nous pr´ ef´ ererons em- ployer l’acronyme anglais HMM pour Hidden Markov Models, sont, ` a l’heure actuelle, les outils de mod´ elisation les plus employ´ es en reconnaissance de la parole continue. Les HMM ont montr´ e leur ad´ equation ` a traiter la parole.

Ce sont des automates stochastiques permettant de d´ eterminer la proba- bilit´ e d’une suite d’observations. Ils sont d´ efinis par l’ensemble de donn´ ees suivantes :

– une matrice A qui permet la d´ efinition de la topologie du HMM en

indiquant les probabilit´ es de transition d’un ´ etat q

i

vers un autre

(15)

2.1 Des Mod` eles de Makov Discrets aux Mod` eles de Markov

Cach´ es 15

´

etat q

j

(ou lui-mˆ eme)

– une matrice B qui contient les probabilit´ es d’´ emission des observa- tions dans chaque ´ etat b

j

(x

n

) = p(x

n

|q

j

).

– une matrice donne la distribution de d´ epart des ´ etats.

Le lecteur trouvera de plus amples informations sur les HMM dans [Rabiner et Juang. 1993][5] et [Rabiner et Al.1989][6]. La parole ´ etant un ph´ enom` ene temporel, l’utilisation de HMMs pose comme postulat que la parole est une suite d’´ ev` enements stationnaires. La topologie principalement employ´ ee dans la litt´ erature est un mod` ele gauche-droit d’ordre 1 dit de Bakis.

S1 S2 S3

a a a

a a

a

11

12

13

33 22

23

Modèle HMM dit Gauche−Droit d’ordre 1 à 3 états

Fig. 2.2 – HMM

Cette topologie permet de prendre en compte les variations d’´ elocution dans le signal de parole. Ainsi, sur de la parole lente, il y a r´ ep´ etition d’´ etats, c’est pour cela que ce mod` ele de HMM permet de boucler sur un ´ etat (tran- sitions a

ii

sur la figure pr´ ec´ edente). A contrario, si la parole est rapide, il est aussi possible de sauter l’´ etat suivant (arc a

13

). Cette topologie permet la mod´ elisation des variations temporelles au sein du signal de parole.

Hormis l’´ elocution, un autre ph´ enom` ene variable dans la parole pro- vient des variations de prononciation de chaque locuteur, et des diff´ erences entre locuteurs. Il est ais´ ement compr´ ehensible que deux personnes, mˆ eme si elles prononcent le mˆ eme ´ enonc´ e, n’ont pas exactement le mˆ eme r´ esultat acoustique. Cela s’accentue encore entre hommes et femmes. La variation li´ ee ` a un locuteur peut-ˆ etre dˆ ue ` a un ´ etat ´ emotionnel particulier, le stress par exemple, ou ` a une alt´ eration temporaire de la voix suite ` a une maladie.

C’est pour prendre en compte ces variations que les mod` eles HMMs utilis´ es de nos jours sont bas´ es sur des fonctions multigaussiennes. Elles permettent de prendre en compte la variabilit´ e autour de la moyenne calcul´ ee sur les donn´ ees d’apprentissage.

Pour conclure, les HMMs et leurs caract´ eristiques repr´ esentent donc

deux processus stochastiques distincts imbriqu´ es : les mod` eles de Markov

(16)

sont dits cach´ es parce que la suite d’´ etats parcourus pour g´ en´ erer la s´ equence O n’est pas directement observable.

– le premier est la suite d’observations produites O = O

1

, O

2

, . . . , O

n

– le second est la suite d’´ etats parcourus Q = q

1

, q

2

, . . . , q

n

Ce type de mod` ele est utilis´ e pour un nombre de plus en plus grand d’analyses temps r´ eel, pour l’analyse de la voix parl´ ee en particulier. Nous verrons plus loin pourquoi il a ´ et´ e choisi dans notre cas particulier.

2.2 Le phon` eme : explications

Il existe beaucoup d’approches diff´ erentes concernant la parole. La phon´ etique ´ etudie la production des sons de la parole, la transmission et leur perception. La phonologie ´ etudie comment ces sons participent au fonction- nement de la parole.

D´ efinition :

La phonologie introduit la notion de phon` eme. Le phon` eme est “la plus pe- tite unit´ e phonique fonctionnelle, i.e. distinctive”[10]. Un phon` eme n’a de sens qu’au sein d’autres phon` emes pour former des mots par exemple. On parle de ”triphone” ou d”’allophone” pour d´ esigner un phon` eme et ses plus proches voisins.

Nous avons utilis´ e une liste de phon` emes “SAMPA”(Speech Assessment Me-

thods Phonetic Alphabet) qui est la liste officielle des phon` emes du fran¸ cais

pouvant ˆ etre utilis´ ee en informatique (les caract` eres utilis´ es sont des ca-

ract` eres ASCII). Cette liste est la suivante :

(17)

2.2 Le phon` eme : explications 17

Notation SAMPA Exemple Exemple en SAMPA

p pont po

b bon bo

t temps ta

d dans da

k quand ka

g gant ga

f femme fam

v vent va

s sans sa

z zone zon

S champ Sa

Z gens Za

j ion jo

m mont mo

n nom no

J oignon oJo

N camping ka piN

l long lo

R rond Ro

w coin kwe

H juin ZHe

i si si

e ses se

E seize sEz

a patte pat

A pˆ ate pAt

O comme kOm

o gros gRo

u doux du

y du dy

2 deux d2

9 neuf n9f

@ justement Zyst@ma

e vin ve

a cent va

o bon bo

9 brun bR9

Tab. 2.1 – Liste SAMPA des phon` emes du fran¸ cais

(18)

Les phon` emes sont regroup´ es par classes selon leurs similarit´ es :

Les consonnes.

– “p b t d k g”sont les six plosives, qui peuvent ˆ etre elles-mˆ eme s´ epar´ ees en 2 sous-classes : les plosives vois´ ees (b, d et g) et les plosives non-vois´ ees (p, t et k). Ces derni` eres se caract` erisent par un silence puis un bruit donc sont tr` es faciles ` a segmenter de visu, – “f v s z S Z j”sont les six fricatives. “v z Z”sont les fricatives vois´ ees,

les autres sont non-vois´ ees, – “m n J N”sont les nasales, – “l R w H”sont les liquides, Les voyelles.

– “i e E a A O o u y 2 9 @” sont les douzes voyelles “orales”.

– “e∼ a∼ o∼ 9∼”sont les voyelles nasales.

2.3 La reconnaissance de la parole

Le probl` eme de la reconnaisance automatique de parole est ´ etudi´ e depuis plusieurs d´ ecennies. Il constitue un terrain de recherche passionnant dans la mesure o` u les outils n´ ecessaires sont tr` es divers : traitement du si- gnal, mod´ eles math´ ematiques statistiques puissants, classification de formes, algorithmique... Les applications sont multiples : syst` emes de commande et contrˆ ole sur PC, syst` emes de dict´ ee vocaux, le monde du spectacle...

Lorsque l’on veut mettre au point un syst` eme de reconnaissance de parole, les diff´ erentes questions ` a se poser sont les suivantes :

– La reconnaissance doit-elle ˆ etre mono- ou multi-locuteurs ? Il est clair qu’il est plus simple de mettre au point un syst` eme mono- locuteur dans la mesure o` u les variabilit´ es de prononciation sont r´ eduites. Pour r´ ealiser un syst` eme multi-locuteur, l’apprentissage doit ˆ etre r´ ealis´ e sur de nombreux exemples suffisamment diff´ erents pour couvrir tout l’´ eventail des prononciations possibles, pour des voix d’hommes, de femmes, ou d’enfants.

– La reconnaissance porte-t’elle sur des mots isol´ es ou de la parole continue ?

– Dans quelles conditions va ˆ etre utilis´ e le syst` eme ? Beaucoup de

facteurs alt` erent le bon fonctionnement d’un reconnaisseur de pa-

(19)

2.3 La reconnaissance de la parole 19

role : les bruits ambiants, les caract´ eristiques du mat´ eriel utilis´ e (limitations des bandes passantes), ´ elocution inhabituelle...

Les mod` eles les plus couramment utilis´ es aujourd’hui sont les mod` eles

de Markov cach´ es introduits au paragraphe pr´ ec´ edent ([6]). Leur fonction-

nement pour le syst` eme que nous avons ´ etudi´ e est d´ etaill´ e dans le chapitre

3. La sp´ ecificit´ e de notre stage r´ eside en l’application particuli` ere de la re-

connaissance de parole qui est de suivre la parole d’acteurs disant un texte

connu ` a l’avance. Dans la suite, nous parlerons donc plus de suivi de parole

plutˆ ot que de reconnaissance de parole.

(20)
(21)

Chapitre 3

Sp´ ecificit´ e du Stage : Le suivi de parole

Le mod` ele HMM que nous avons utilis´ e cherche ` a s’approcher le plus possible de l’´ enonciation d’une phrase pour pouvoir la suivre. Comme nous l’avons vu pr´ ec´ edemment, ces mod` eles ont besoin d’ˆ etre entrain´ es. Nous l’avons fait sur deux niveaux, au niveau du phon` eme et au niveau de la phrase enti` ere, c’est ` a dire de la liaison entre phon` emes. Apr` es une courte introduction expliquant les ant´ ec´ edents en suivi departition et de parole, nous d´ ecrirons le mod` ele cr´ e´ e et les algorithmes utilis´ es pour l’entrainement et le suivi temps r´ eel.

3.1 Ant´ ec´ edents

L’´ equipe Applications Temps R´ eel de l’Ircam, avec Diemo Schwarz et Nicolas Orio, a d´ ej` a travaill´ e sur le d´ eveloppement d’outils Temps R´ eel appliqu´ es ` a l’alignement de musique avec une partition (cf [Orio et D´ echelle.

2001][3]) et au suivi de partition (cf [Orio et Schwarz. 2001][2]). Ces deux

sujets sont tr` es li´ es car le suivi d’une partition n´ ecessite un alignement de la

musique avec une partition. L’alignement a ´ et´ e pr´ ec´ edemment r´ ealis´ e grˆ ace ` a

l’algorithme DTW (Dynamic Time Warping) calculant les distances locales

entre les param` etres spectraux utilis´ es. L’´ evolution de cette ´ etude a conduit ` a

utiliser les mod` eles de Markov cach´ es pour le d´ eveloppement de l’algorithme

de suivi de partition. Ces outils statistiques sont utilis´ es sur deux niveaux

diff´ erents, au niveau de la note et au niveau de la partition (Bas niveau et

Haut niveau). En effet, deux mod` eles de Markov sont imbriqu´ es. Chaque

(22)

note a son petit mod` ele et ces petits mod` eles de notes sont r´ egis grˆ ace ` a un second mod` ele de Markov de plus haut niveau qui permet de cr´ eer le mod` ele de la phrase musicale. A.Loscos, P.Cano et J.Bonada ont aussi beaucoup travaill´ e sur le suivi de voix. Ils ont mis au point un syst` eme de suivi de voix chant´ ee grˆ ace aux HMM (cf [Cano, Loscos et Bonada. 1999][7] et [Loscos, Cano et Bonada. 1999][8]) et un ensemble de probabilit´ es temporelles de rester sur une note (Time Duration). Les param` etres qu’ils utilisent sont tr` es divers mais prennent surtout en compte la fr´ equence fondamentaledu signal.

Les HMM sont tr` es adapt´ es l’analyse de la parole car leur struc- ture leur donne la capacit´ e de reboucler sur un mˆ eme ´ etat. Cela permet de prendre en compte la variabilit´ e temporelle de la diction d’une phrase.

L’apport des mod` eles dits Cach´ es par rapport aux Mod` eles de Markov clas- siques r´ eside dans le fait que l’on ne sait jamais dans quel ´ etat on est. Il y a toujours une description probabiliste de la possibilit´ e d’ˆ etre dans tous les

´ etats. C’est ce que l’on appelle la logique floue.

Ces ´ etudes pass´ ees ont beaucoup inspir´ e nos recherches pour le suivi de voix parl´ ee. Nous avons, par exemple, repris le syst` eme a deux niveaux de HMM. Cependant, la n´ ecessit´ e de suivre la voix parl´ ee et non chant´ ee implique un probl` eme nouveau par rapport ` a ces anciennes recherches : quels param` etres prendre pour d´ ecrire la voix parl´ ee ?

3.2 Le Mod` ele HMM utilis´ e

Comme ce qui a ´ et´ e fait en suivi de partition [4], nous avons raisonn´ e en d´ efinissant deux niveaux :

– Le bas-niveau, constitu´ e des mod` eles de Markov cach´ es des phon` emes.

Il y a un mod` ele par phon` eme.

– Le haut-niveau, qui repr´ esente les phrases. Il est d´ efini par des

probabilit´ es de transition entre les mod` eles des phon` emes (du bas-

niveau).

(23)

3.2 Le Mod` ele HMM utilis´ e 23

3.2.1 Le Bas niveau

Chaque phon` eme est mod´ elis´ e par un cluster ` a 2 ou 3 ´ etats : les plosives (p, b, t, d, k, g) et le phon` eme silence sont usuellement ` a 2 ´ etats.

Tous les autres phon` emes sont ` a 3 ´ etats. Les ´ etats mod´ elisent un ´ equivalent de la d´ ecomposition “attack “ “sustain “ et “release “ pour les notes de musique. Dans le cas des plosives, comme elles commencent toutes par un silence (ce qui permet de les reconnaˆıtre facilement) puis par une partie plus ou moins bruit´ ee selon le contexte, elles ne sont mod´ elis´ ees que par deux

´ etats. Chaque mod` ele est compos´ e de :

S1 S2 S3

a a a

a a

a

11

12

13

33 22

23

b

1t

b b

2t 3t

Fig. 3.1 – Mod` ele de phon` eme ` a 3 ´ etats

– une matrice de transition A = [a

ij

] de taille 3 ∗ 3 ou 2 ∗ 2 selon le nombre d’´ etats du phon` eme. Pour les matrices 3 ∗ 3 :

A =

a

11

a

12

a

13

0 a

22

a

23

0 0 1

Pour les matrices 2 ∗ 2 :

A =

a

11

a

12

0 1

Ces matrices sont triangulaires sup´ erieures, ce qui traduit le caract` ere gauche-

droite du mod` ele (left-to-right model). Toutes les transitions ont lieu de

droite ` a gauche. Les coefficients de la diagonale sont les probabilit´ es de bou-

cler sur un mˆ eme ´ etat. Les coefficients de la premi` ere diagonale sup´ erieure

sont les probabilit´ es de transition ` a l’´ etat suivant. Enfin, pour les matrices

3*3, le scalaire de la segonde diagonale sup´ erieure repr´ esente la probabilit´ e

de sauter le premier ´ etat. Chaque ligne est normalis´ ee ` a 1, puisqu’il s’agit

de probabilit´ es.

(24)

– un vecteur d´ ecrivant les probabilit´ es d’ˆ etre dans l’un des ´ etats au temps initial.

– un m´ elange de gaussiennes qui d´ ecrit les probabilit´ es B = [b

it

] d’observer un vecteur de donn´ ees suivant l’´ etat dans lequel est le syst` eme et suivant la gaussienne choisie.

Avoir plusieurs gaussiennes revient ` a prendre en compte les diff´ erentes mani` eres de prononcer un mˆ eme phon` eme. Nous avons choisi de travailler avec 2 gaus- siennes. Chaque sous-mod` ele comporte une matrice de moyennes d’observa- tion (sample mean vector) pour chaque vecteur de donn´ ees sachant que le syst` eme est dans un ´ etat pr´ ecis et suit une gaussienne pr´ ecise. Il contient

´ egalement une matrice de covariance des param` etres (sample covariance ma- trix).

– une matrice appel´ ee mixmat dans les programmes qui donne la probabilit´ e de choisir une gaussienne connaissant l’´ etat dans lequel se trouve le syst` eme.

3.2.2 Haut niveau

Le mod` ele haut-niveau est cr´ e´ e en assemblant les mod` eles bas-niveau, suivant la liste des phon` emes de la phrase ` a apprendre. La matrice des transitions est obtenue en assemblant les matrices de transition ´ el´ ementaires et en d´ efinissant des probabilit´ es de transition entre ces derni` eres. Un saut de phon` eme peut ˆ etre ajout´ e pour ´ eviter le bloquage du suivi.

S1 S2 S3

S1 S2 S3 S1 S2 S1 S2 S3

S a p o

Saut éventuel

"chapeau"

Fig. 3.2 – structure haut-niveau.

Dans la figure 3.2, le mot mod´ elis´ e est “chapeau”. Le “p”est une

plosive, qui est mod´ elis´ ee par deux ´ etats seulement. Un saut ´ eventuel du

phon` eme “a” est figur´ e. Remarque : dans la version en C, des pseudo-´ etats

ont ´ et´ e ajout´ es entre chaque phon` eme. Il s’agit d’´ etats qui n’ont pas d’obser-

(25)

3.2 Le Mod` ele HMM utilis´ e 25

vation (probabilit´ es d’observations nulles), ils servent ` a d´ efinir la probabilit´ e de sortir d’un phon` eme (”α

in

”) et celle de passer au premier ´ etat du suivant (”α

out

”).

3.2.3 Mixture de gaussiennes

Le mod` ele gaussien simple

Il faut d´ efinir un mod` ele pour les probabilit´ es d’observation p(o|λ) o` u λ est le mod` ele HMM d´ efini dans le paragraphe pr´ ec´ edent. Partant d’exemples dont nous soyons sˆ urs qu’ils caract´ erisent le phon` eme que l’on veut mod´ eliser, le mod` ele gaussien est cr´ e´ e en calculant simplement le vec- teur µ des moyennes de chaque param` etre et la matrice de covariance U :

µ

i

= 1 N

N

X

n=1

o

n

(3.1)

U

i

= 1 N − 1

N

X

n=1

(o

n

− µ

i

)

0

(o

n

− µ

i

) (3.2)

Ult´ erieurement, pour d´ eterminer la probabilit´ e d’un vecteur observ´ e, il suffit d’utiliser la formule classique d’une loi gaussienne :

p(o|λ) = N (o; µ

i

, U

i

) (3.3) N (o; µ, U ) = 1

p (2π)

p

kU | exp(− 1

2 (o

n

− µ

i

)U

−1

(o

n

− µ

i

)

0

) (3.4)

Le mod` ele m´ elange de gaussiennes

L’int´ erˆ et de d´ efinir un mod` ele multi-gaussiennes consiste ` a g´ en´ eraliser

le mod` ele pr´ ec´ edent pour permettre au syst` eme de suivre diff´ erentes pronon-

ciations d’un mˆ eme phon` eme (par exemple, voix normale, voix chuchot´ ee, ac-

cent ´ etranger...). En effet, cela prend en compte des variations de param` etres

qui ´ elargiraient trop les gaussiennes si l’on se contentait d’un mod` ele gaus-

sien simple. Pour avoir des phon` emes bien distingu´ es, il faut des gaussiennes

qui ne se recouvrent pas. Chaque multi-gaussienne, constitu´ ee d’autant de

gaussiennes qu’il y a de param` etres, est ind´ ependante des autres. Ce mod` ele

peut ˆ etre compris comme un choix au hasard entre diff´ erentes ”sous-classes”,

(26)

qui sont des mod` eles gaussiens simples. Les probabilit´ es de choisir une sous- classe G

jk

(j : index de l’´ etat, k : index de la multi-gaussienne) sont prises constantes :

p(G

jk

j

) = c

jk

(3.5)

La probabilit´ e p(o|λ

j

) est ensuite calcul´ ee ainsi : p(o|λ

j

) =

M

X

k=1

p(o|G

jk

)p(G

jk

j

)

M

X

k=1

c

jk

N (o; µ

jk

, U

jk

) (3.6)

Dans le suivi de parole, les param` etres sont des variables al´ eatoires continues, les probabilit´ es sont donc calcul´ ees avec des distributions gaus- siennes continues.

3.2.4 Les ´ etats fantˆ omes (Ghosts States)

Pour g´ erer les erreurs potentielles que peut faire l’acteur en temps r´ eel (b´ egaiement, oubli, substitution de mot...), il est utile de d´ efinir des

´ etats dits fantˆ omes. Lorsque le syst` eme ne reconnait plus la partition ou le texte normal, il peut se mettre dans un ´ etat d’erreur puis reprendre le suivi par la suite. Chaque mod` ele de phon` eme a son double fantˆ ome. Ils ont exactement la mˆ eme structure. La diff´ erence se fait lors de l’apprentissage : un mod` ele fantˆ ome est entraˆın´ e sur tous les phon` emes des classes autres que celle du phon` eme qu’il double.

Pho i Pho i−1

Ghost i

Pho i+2 Pho i+1

Fig. 3.3 – structure avec ´ etats fantˆ omes.

La figure 3.3 montre un chemin haut-niveau (chaque cercle repr´ esente

un cluster ` a 2 ou 3 ´ etats). Les possibilit´ es de transition entre ´ etats nor-

maux et ´ etats fantˆ omes sont montr´ ees. Dans un souci de clart´ e, un seul ´ etat

fantˆ ome a ´ et´ e figur´ e. Les choix suivants ont ´ et´ e faits :

(27)

3.3 Les param` etres utilis´ es 27

– pas de saut possible ` a partir d’un ´ etat normal mais possible ` a par- tir d’un ´ etat fantˆ ome,

– pas de transition possible entre 2 ´ etats fantˆ omes successifs. Les transitions haut-niveau pour acc´ eder ` a un g-state ou en sortir sont fix´ ees arbitrairement. Elles ne sont pas modifi´ ees par l’en- traˆınement, puisque pour entraˆıner des probabilit´ es d’erreurs, il faudrait disposer d’exemples comportant toutes les erreurs pos- sibles et imaginables.

3.3 Les param` etres utilis´ es

Les param` etres utilis´ es pour le suivi sont extrˆ emement importants.

Ces param` etres doivent, en effet, bien d´ ecrire les diff´ erents phon` emes s´ epar´ ement mais aussi ne pas ˆ etre trop pr´ ecis. Une pr´ ecision trop grande des param` etres rendrait le syst` eme beaucoup trop ax´ e sur une fa¸ con de parler. C’est pour- quoi il faut r´ eussir ` a ´ equilibrer ces deux contraintes. Nous avons test´ e trois types de param` etres, des MFCC (Mel Frequency Cepstral Coefficient), les Delta-MFCC et le Taux de passage par z´ ero (Zero-crossing rate en anglais).

3.3.1 les MFCC

Les premiers param` etres sont directement tir´ es du spectre du signal.

Nous donnerons bri` evement les ´ etapes de leur calcul pour ensuite les d´ etailler plus pr´ ecis´ ement.

1) Fenˆ etrage du signal avec la fenˆ etre de Hamming.

2) Transform´ ee de Fourier.

3) Filtrage par banc de filtres triangulaires espac´ es selon l’´ echelle Mel.

4) Transform´ ee en Cosinus Discr` ete.

5) Transform´ ee de Fourier inverse.

6) Centrage et mise ` a 1 de la variance du vecteur calcul´ e.

Nous analysons le signal par fenˆ etres se recouvrant les unes les autres (Overlap). Chaque fenˆ etre produisant un jeu de param` etres acoustique. On filtre le signal par une fenˆ etre de Hamming pour ´ eviter les effets de bord et on peut aussi faire du z´ ero Padding si la taille de la fenˆ etre ne convient pas

`

a une transform´ ee de Fourier rapide (1) (figure 3.5).

(28)

Hamming Fenetrage de

FFT

Echelle MelFiltrage

DCT FFT

inverse MFCC

Domaine Temporel Domaine Spectral Domaine

Cepstral Signal

Schéma de calcul des MFCC

Fig. 3.4 – MFCC

FENETRE DE HAMMING

Temps

Mode d’analyse du Signal OVERLAP TAILLE DE LA FENETRE D’ANALYSE

Fig. 3.5 – M´ ethode d’analyse du signal

Apr` es avoir effectu´ e une transform´ ee de Fourier sur le signal (2), le spectre obtenu est trait´ e par des filtres triangulaires en peigne (3). Nous cherchons ` a suivre la voix comme l’homme le ferait. Si on admet que l’oreille humaine est le meilleur outil pour suivre la voix, il faut utiliser ce que l’oreille entend r´ eellement comme signal. Pour simuler l’oreille humaine, nous filtrons le signal par un banc de filtre qui ont chacun une r´ eponse de bande passante triangulaire. Les filtres utilis´ es sont espac´ es de telle fa¸ con que leur ´ evolution correspond ` a l’´ echelle Mel. Cette ´ echelle tente de mettre en relation la tonie et les hauteurs per¸ cues (figure 3.6). Elle n’´ etablit pas une correspondance entre les fr´ equences et les mels mais tente d’´ etablir un lien entre les sensations de hauteurs per¸ cues. Elle met principalement une chose en valeur, c’est que sur le plan de la perception une octave entre deux sons graves, 250 et 500 Hz par exemple (250 mels), paraˆıt plus petite qu’une octave entre deux sons aigus, 1000 et 2000 Hz (1800 mels).

Il est possible de limiter les bornes du banc de filtre pour ainsi plus cibler les MFCC sur une bande de fr´ equence particuli` ere. Ainsi on peut enlever une partie des fr´ equences basses ou les hautes fr´ equences. Pour la voix, il est bon d’utiliser la bande de fr´ equence t´ el´ ephonique 300-3400Hz qui donne une qualit´ e sonore moindre mais une bonne int´ elligibilit´ e du message.

On r´ eduit de plus les diff´ erences entre locuteurs. Voici la formule approch´ ee

(29)

3.3 Les param` etres utilis´ es 29

Fig. 3.6 – Figure du banc de filtres espac´ es sur l’´ echelle Mel en Hertz et en Mel

de l’´ echelle Mel :

M el(f ) = 2595 ∗ log(1 + f /700) (3.7) On obtient ainsi un jeu de valeurs caract´ eristiques du signal et bas´ e sur la perception de l’oreille. Le nombre de filtres pris peut varier. Nous en avons pris 29 pour avoir une bonne pr´ ecision de calcul (dans la litt´ erature, la valeur prise en g´ en´ eral est 24).

Apr` es une Transform´ ee en Cosinus Discr` ete (4), on applique la trans- form´ ee de Fourier inverse (5). On entre alors dans le domaine Cepstral ou Qu´ efrentiel. On obtient les coefficients MFCC avec comme premier coeffi- cient l’´ energie du signal. En g´ en´ eral, une dizaine de coefficients MFCC est utilis´ ee. Nous n’utilisons pas l’´ energie car c’est un param` etre qui d´ epend trop du locuteur et de son volume sonore. Nous ne d´ epasserons pas la di- zaine de coefficients lors des tests. La figure (3.7) montre un jeu de vecteurs de MFCC.

La ”normalisation” r´ ealis´ ee ensuite (6) permet aux param` etres de rester dans un mˆ eme ordre de grandeur sans en privil´ egier un en particulier.

Apr` es centrage du vecteur de MFCC (retrait de la moyenne), la variance du vecteur est mise ` a 1 (division de chaque coefficient par la variance du vecteur). Cette normalisation sera discut´ ee dans la partie tests et r´ esultats.

3.3.2 Les Delta-MFCC

Ces param` etres sont les d´ eriv´ ees temporelles des MFCC. Ils per-

mettent de prendre en compte la variabilit´ e temporelle de la parole ce qui

est une de ses caract´ eristiques importante. Ils sont calcul´ es grˆ ace aux vec-

teurs pass´ es de MFCC. Nous les avons test´ e sur plusieurs exemples. Nous

verrons plus loin leur utilit´ e. Les d´ eriv´ ees sont prises sur les param` etres de

(30)

Nombre de Fenetres d’analyse

Nombre de MFCC

50 100 150 200 250 300 350 400 450

2

4

6

8

10

12

Fig. 3.7 – Coefficients MFCC. 12 coefficients pour la phrase ”Je suis Robin- son”

Nombre de Fenetres d’analyse

Nombre de Delta−MFCC

50 100 150 200 250 300 350 400 450

2

4

6

8

10

12

Fig. 3.8 – Coefficients Delta-MFCC. 12 coefficients pour la phrase ”Je suis

Robinson”

(31)

3.3 Les param` etres utilis´ es 31

0 50 100 150 200 250 300 350 400 450 500

−2

−1.5

−1

−0.5 0 0.5 1 1.5 2 2.5

Nombre de Fenetres d’analyse

ZCR (sombre) et ZCRfin (clair)

Fig. 3.9 – Coefficients ZCR (Fonc´ e) et ZCR fin (Clair) pour la phrase ”Je suis Robinson”

Nombre de Fenetres d’analyse

12 MFCC, 12 Delta−MFCC, ZCR et ZCRfin

50 100 150 200 250 300 350 400 450

5

10

15

20

25

Fig. 3.10 – Tous les coefficients sus-cit´ es pour la phrase ”Je suis Robinson”

(32)

trois fenˆ etres se suivant (ceux des deux fenˆ etres pr´ ec´ edentes et ceux de la fenˆ etre actuelle). Un exemple de Delta-MFCC est repr´ esent´ e figure 3.8.

3.3.3 Taux de passage par z´ ero (Zeros-crossing rate ou ZCR)

Le taux de passage par z´ ero (ZCR) repr´ esente le nombre de fois que le signal, dans sa repr´ esentation amplitude/temps, passe par la valeur cen- trale de l’amplitude (g´ en´ eralement z´ ero). Il est fr´ equemment employ´ e pour des algorithmes de d´ etection de section vois´ ee/non vois´ ee dans un signal. En effet, du fait de sa nature al´ eatoire, le bruit poss` ede g´ en´ eralement un taux de passage par z´ ero sup´ erieur ` a celui des parties vois´ ees. Nous l’utiliserons pour repr´ esenter le caract` ere vois´ e du signal. Cependant, afin de rendre le mod` ele le plus r´ eactif posible aux changements de phon` eme, et tout parti- culi` erement aux attaques, nous avons pens´ e ` a introduire un taux de passage par z´ ero calcul´ e uniquement sur la fin de la fenˆ etre d’analyse (ZCR fin).

Nous obtenons ainsi un second param` etre de passage par z´ ero qui est moins sounmis ` a l’effet de moyennage induit par la longueur de la fenˆ etre. Cette

´ evolution a ´ et´ e motiv´ ee par la n´ ecessit´ e de d´ etecter le plus rapidement pos- sible l’arriv´ ee d’un nouveau phon` eme ou mˆ eme l’arriv´ ee du signal apr` es un silence. Ce param` etre ne prend en compte que la fin du signal et donc uni- quement la partie du signal qui est la plus r´ ecente. Ces deux param` etres ZCR sont reproportionn´ es pour entrer dans la dynamique de variation des coefficients MFCC. Ils ont ainsi un poid plus important dans la d´ etection.

La repr´ esentation de ces coefficients est figure 3.9.

Pour r´ esumer ce paragraphes sur les coefficients utilis´ es pour le suivi, voici la figure repr´ esentant tous ces coefficients en couleurs en fonction du temps (figure 3.10). Les 12 premiers sont les MFCC, les 12 suivants sont les Delta-MFCC et les 2 derniers les ZCR.

3.4 L’apprentissage

L’apprentissage est la phase qui permet de donner aux param` etres du

mod` ele les valeurs ad´ equates pour la seconde phase, celle qui nous int´ eresse :

le suivi. Les ´ etapes principales que nous allons d´ etailler sont donn´ ees fi-

gure 3.11. Cette apprentissage est la base mˆ eme de la robustesse des mod` eles

HMM. En effe, ` a partir du moment o` u il est bien adapt´ e, il permet de suivre

n’importe quel signal si on en a d´ ej` a quelques exemples. On a ainsi juste ` a

d´ ecrire le signal par un mod` ele HMM.

(33)

3.4 L’apprentissage 33

Fichiers audio exemples

en phonèmes Présegmentation

Calcul des données

Initialisation du modèle de Markov pour chaque phonème

Entrainement par l’algorithme EM

MFCC et zcr chaque phonème

pour

1 modèle par phonème

Fig. 3.11 – Etapes de la g´ en´ eration des mod` eles bas-niveau

3.4.1 Pr´ esegmentation

Pour entraˆıner les mod` eles de phon` emes, il faut disposer d’exemples segment´ es, c’est ` a dire de fichiers audio du locuteur dont la voix va ˆ etre suivie comportant assez de mots pour contenir tous les phon` emes qu’il pourrait utiliser. Plus les exemples seront nombreux, plus le mod` ele sera robuste.

Il existe divers logiciels libres (comme Mbrolign) pour segmenter un fichier audio en phon` emes mais ils font beaucoup d’erreurs qu’il faut corriger

”` a la main”. Le logiciel Mbrolign ne fonctionne que pour une fr´ equence d’´ echantillonnage de 16 kHz. C’est pourquoi par la suite nous avons utilis´ e des fichiers wav ´ echantillonn´ es ` a 16kHz pour les tests. Les param` etres utilis´ es (MFCC et zero-crossing rates - cf le paragraphe pr´ ec´ edent-) sont ensuite calcul´ es ` a partir de cette segmentation consid´ er´ ee comme la r´ ef´ erence par la suite.

Le nombre d’exemples pour chaque phon` eme pour l’une des voix

(34)

0 1 10 20 30 40 50 60 70 80

p b

t d

k g

f

v s

z

S Z

j m

n

J N

l R

w H

i

e

E a

A O

o

u y

2 9

@

e~

a~

o~

9~

Nom du phoneme

Nombre d’occurences du phoneme

Fig. 3.12 – Nombre d’exemples des phon` emes

sur lesquelles nous avons travaill´ e est donn´ e sur la figure 3.12. L’int´ erˆ et de disposer d’une base de donn´ ees suffisamment fournie (tous les phon` emes) permet de segmenter automatiquement des exemples nouveaux par la suite en utilisant le mod` ele HMM lui-mˆ eme.

3.4.2 Apprentissage Bas niveau

Il s’agit d’affiner les mod` eles en entraˆınant leurs param` etres. Il est possible d’aboutir ` a un mod` ele λ = (A, B, Π) qui maximise la probabilit´ e p(o|λ) qui sert ` a d´ efinir la distance appel´ ee ”vraisemblance” (likelihood). La vraisemblance est d´ efinie par son logarithme :

f (o, path, λ) = log(P (o|λ)) (3.8)

Pour ce faire, une proc´ edure it´ erative est utilis´ ee, dans notre cas, il

s’agit de l’algorithme EM (Expectation-Maximization) connu aussi sous le

nom d’algorithme Baum-Welch. Une autre possibilit´ e consiste ` a utiliser l’al-

gorithme de Viterbi qui se contente de calculer la vraisemblance uniquement

pour le chemin le plus probable alors que l’algorithme EM prend en compte

tous les chemins possibles.

(35)

3.4 L’apprentissage 35

L’initialisation

Dans un premier temps, les centres des gaussiennes sont initialis´ es par l’algorithme K-means. Chaque extrait de signal, correspondant ` a un phon` eme est d´ ecoup´ e en 2 ou 3 segments de mˆ eme taille, selon le nombre d’´ etats donn´ es.

Le vecteur de probabilit´ e d’´ etat est initialis´ e avec une probabilit´ e tr` es forte pour le premier ´ etat mais des probabilit´ es non-nulles pour les

´ etats suivants. Il est constat´ e qu’apr` es une it´ eration, ce vecteur est r´ eestim´ e avec une probabilit´ e maximale (´ egale ` a 1) pour le premier ´ etat.

La matrice A des transitions entre ´ etats est initialis´ ee au hasard, de forme triangulaire sup´ erieure. La somme sur chaque ligne doit toujours ˆ etre

´ egale ` a 1.

L’entraˆ ınement bas-niveau

L’algorithme EM est un algorithme de r´ e-estimation it´ eratif. Il cherche

`

a maximiser les probabilit´ es de g´ en´ eration. Pour cela, sont associ´ es aux ´ etats, aux transitions et aux observations, le nombre de fois o` u ils sont utilis´ es pour tous les exemples ` a disposition et tous les chemins susceptibles de g´ en´ erer les s´ equences d’observation, pond´ er´ e par la probabilit´ e du chemin. Les deux

´ etapes de l’algorithme sont les suivantes : 1

re

´ etape : ”expectations”.

Pendant la premi` ere ´ etape de l’algorithme EM, des statistiques sur les transitions (vecteur π : probabilit´ e des ´ etats ` a t=1 et les transitions ult´ erieures -matrice a-), ainsi que les probabilit´ es d’observations sont cal- cul´ ees :

π

i

= nombre de passages par l’´ etat i ` a t=1

nombre d’ it´ erations total (3.9)

a

ij

= nombre de transitions de l’´ etat i vers l’ ´ etat j

nombre de transitions sortant de l’ ´ etat i (3.10)

b

j

(k) = nombre de passages dans l’´ etat j observant un vecteur v

nombre de passages dans l’ ´ etat j (3.11)

(36)

Ces statistiques peuvent ˆ etre calcul´ ees grˆ ace ` a des variables interm´ ediaires γ et ξ :

(nombre de passages par l’ ´ etat i ` a t=1) = P (q

1

= i | O, λ) = γ

1

(i) (3.12) (nombre de passages dans l’ ´ etat i) =

T

X

t=1

P (q

t

= i | O, λ) =

T

X

t=1

γ

t

(i) (3.13) (nombre de passages par l’ ´ etat j en observant le vecteur o

t

= v) =

T

X

t=1

P(q

t

= i, o

t

= v | O, λ) =

T

X

t=1avec ot=v

γ

t

(i) (3.14) (nombre de transitions de l’´ etat i vers l’´ etat j) =

T

X

t=1

P(q

t

= i, q

t+1

= j | O, λ) =

T

X

t=1

ξ

t

(i, j) (3.15) Remarque : comme on entraˆıne sur K exemples audio, il faut sommer les esp´ erances sur les diff´ erents exemples (cela est fait ` a la seconde ´ etape de l’algorithme). Pour un souci de clart´ e, nous omettons cette somme. Les for- mules pour calculer les variables γ et ξ, pour un mod` ele de multi-gaussiennes et pour un seul exemple sont donn´ ees par :

γ

t

(j, k) = P (q

t

= j, G

t

= k | O, λ)

= γ

t

(j)P (G

t

= k | q

t

= j, O, λ)

= γ

t

(j) c

jk

N (o

t

; µ

jk

, U

jk

) P

M

k=1

c

jk

N (o

t

; µ

jk

, U

jk

)

(3.16)

o` u γ

t

(j) = α

t

(j)β

t

(j) P

i

α

t

(i)β

t

(i) (3.17)

avec α(j, t) = P

q(t)

=

j | O

=

v(1 : t)

= P

q(t)=j, O

=

v(1 : t) | λ

(3.18) β(j, t) = P

O

=

v(t + 1 : T ) | q

t=

j

(3.19)

Les variables α et β sont calcul´ ees par l’algorithme forward-backward,

d´ etaill´ e ci-dessous. Il permet de consid´ erablement r´ eduire le nombre d’op´ erations

pour calculer la vraisemblance.

(37)

3.4 L’apprentissage 37

2

me

´ etape : ´ etape ”maximization”.

Cette ´ etape r´ e-affecte les param` etres du mod` ele et calcule la nou- velle vraisemblance. Tant que la vraisemblance varie plus que le seuil fix´ e (10

−4

en g´ en´ eral), ces 2 ´ etapes sont r´ ep´ et´ ees. Le choix de ce seuil n’est pas

´ evident puisqu’il ne doit pas ˆ etre trop petit ni trop grand. Il faut ´ eviter le surapprentissage d’un exemple, c’est-` a-dire que le mod` ele devient trop pr´ ecis sur un exemple particulier et ne peut pas suivre un autre exemple des mˆ emes phon` emes. De mˆ eme, il faut qu’il soit suffisamment petit pour ne pas donner un mod` ele trop permissif, qui risquerait de reconnaˆıtre de mauvais phon` emes. Les formules de r´ e-estimation des param` etres des multi- gaussiennes sont, en partant de (3.16) :

c

ij

= P

T

t=1

γ

t

(j, k) P

T

t=1

γ

t

(j) 1 ≤ j ≤ N, 1 ≤ k ≤ M (3.20) µ

j

=

P

T

t=1

o

t

γ

t

(j, k) P

T

t=1

γ

t

(j) 1 ≤ j ≤ n, 1 ≤ k ≤ m (3.21) U

j

=

P

T

t=1

(o

t

− µ

j

)(o

t

− µ

j

)

0

γ

t

(j, k) P

T

t=1

γ

t

(j) 1 ≤ j ≤ N, 1 ≤ k ≤ M (3.22) L’algorithme forward-backward

Cet algorithme est tr` es important, il est central dans l’utilisation pratique des HMM. Il consiste ` a calculer les α et β d’une mani` ere tr` es astucieuse ce qui r´ eduit consid´ erablement le nombre d’op´ erations comme nous allons le voir. Le but est de calculer efficacement P(O|λ) soit : ´ etant donn´ es les param` etres d’un mod` ele λ, quelle est la probabilit´ e d’observer la s´ equence O ? Cette probabilit´ e peut ˆ etre obtenue en sommant sur tous les chemins possibles Q la probabilit´ e P (O, Q|λ) :

P (O|λ) = X

Q

P (O, Q|λ)

= X

qT

· · · X

q2

X

q1

b

qT

(o

T

)a

qT−1qT

b

qT−1

(o

T−1

) · · · b

q2

(o

2

)a

q1q2

b

q1

(o

1

q1

(3.23) La complexit´ e de ce calcul est donc de : n

2|O|

∗ |O| o` u n est le nombre d’´ etats des chemins consid´ er´ es et |O| le nombre de vecteurs d’observations.

L’algorithme forward

(38)

L’id´ ee consiste ` a sommer toutes les informations au temps t = 1 d` es qu’elles sont connues, faire de mˆ eme ` a t = 2 et ainsi de suite. Nous d´ efissons

`

a t = 1 :

alpha

1

(j) = p(o

1

, q

1

= j|λ) = b

j

(o

1

j

(3.24) A t = 2, nous avons :

α

2

(j) = p(o

1

, o

2

, q

2

= j|λ) = b

j

(o

2

)

N

X

i=1

a

ij

α

1

(i) (3.25) A chaque nouveau temps jusqu’` a t = T , nous avons :

α

t

(j) = p(o

1

, . . . , o

t

, q

t

= j|λ) = b

j

(o

t

)

N

X

i=1

a

ij

α

t−1

(i) (3.26) Au final, au temps t = T , nous obtenons :

p(O|λ) = p(o

1

, . . . , o

t

, q

t

= j|λ) =

N

X

i=1

α

T

(i) (3.27)

Le caract` ere ’forward’ apparait clairement dans les ´ equations ci- dessus, l’it´ eration se d´ epla¸ cant dans les sens des temps croissants. La mˆ eme chose est r´ ealis´ ee en sens inverse avec l´ algorithme dit ’backward’. La com- plexit´ e de l’algorithme forward est fortement avantageuse en coˆ ut de calculs puisqu´ elle est de l’ordre de |O|n

2

L’algorithme backward

L’´ equation (3.23) peut ˆ etre tronqu´ ee par une r´ ecursion qui se d´ eplace en arri` ere dans le temps :

p(O|λ) = X

q1

π

q1

b

q1

(o

1

) X

q2

a

q1q2

b

q2

(o

2

) . . . X

qT

a

qT−1qT

b

qT

(o

T

) (3.28) La variable β s’´ ecrit dans ce cas :

β

t

(i) = p(o

t+1

, o

t+2

, . . . , o

T

|q

t

= i, λ) (3.29) L’´ equation 3.28 est alors calcul´ ee ainsi :

1. Initialisation

β

1

(i) = 1, 1 ≤ i ≤ N (3.30)

2. Propagation

β

t

(i) =

N

X

j=1

a

ij

b

j

(o

t+1

β

t+1

(i)) (3.31)

(39)

3.5 Le suivi 39

3. Terminaison

p(O|λ) =

N

X

i=1

π

i

b

i

(o

1

β

1

(i) (3.32)

Cet algorithme est utilis´ e pour la segmentation et l’entraˆınement mais en g´ en´ eral il ne l’est pas pour la reconnaissance ` a cause de son caract` ere anti- causal. Ensuite la variable ’forward-backward’ γ est d´ efinie ainsi :

γ

t

(j, k) = P (q

t

= i|O, λ) = P (O, q

t

= i|λ)

P (O|λ) (3.33)

L’expression de γ en fonction de α et β a ´ et´ e donn´ ee (´ equation (3.17)).

3.4.3 Apprentissage Haut niveau

L’apprentissage haut-niveau fonctionne de la mˆ eme mani` ere que l’ap- prentissage bas-niveau. Plusieurs types d’entraˆınement haut-niveau sont pos- sibles. Un premier consiste ` a ne r´ e-estimer que les probabilit´ es de transition haut-niveau, c’est ` a dire les transitions entre phon` emes et ` a laisser inva- riantes celles internes ` a chaque mod` ele bas-niveau. Les autres grandeurs utilis´ ees (mu, U, mixmat, Π) ´ etant laiss´ ees invariantes. Un deuxi` eme type d’entraˆınement plus cons´ equent consiste ` a pouvoir tout r´ e-estimer. Cela si- gnifie, entre autres, que l’on tient mieux compte dans ce cas des contextes des phon` emes, i.e. chaque mod` ele de phon` emes peut ˆ etre modifi´ e par ses plus proches voisins.

Remarque : nous n’avons pas parl´ e ici des g-states car ils servent uni- quement au suivi. De plus, comme dit pr´ ec´ edemment, nous ne pouvons pas les entraˆıner en haut-niveau de mani` ere satisfaisante (probl` eme des exemples erron´ es).

3.5 Le suivi

Le suivi est le but ultime de notre recherche. Le syst` eme que nous

cherchons ` a d´ evelopper doit r´ epondre ` a certains crit` eres de temps. Il doit

r´ epondre aux contraintes du temps r´ eel tout en restant assez robuste. Contrai-

rement ` a la reconnaissance de mots isol´ es ou inclus dans des phrases, nous

cherchons ` a suivre le plus finement et le plus rapidement possible les phon` emes

d’un flot de parole. Nous devons donc avoir une vitesse de calcul ´ elev´ ee et

(40)

une r´ eactivit´ e du mod` ele la plus grande possible. Pour r´ epondre a cette contrainte du temps r´ eel, il faut utiliser les algorithmes de calcul les plus adapt´ es et trouver quels sont les param` etres qui am´ elioreront la r´ eactivit´ e.

Nous avons trouv´ e dans la litt´ erature plusieurs fa¸ cons de r´ ealiser le suivi.

En voici deux qui sont fr´ equemment utilis´ ees :

3.5.1 L’algorithme Probabilit´ e ”Avant” (Forward Probabi- lity)

Cet algorithme est la premi` ere partie de l’algorithme Forward-Backward d´ ecrit plus haut. On d´ efini :

α

n

(j) = p(q

jn

, X

1n

) (3.34) repr´ esentant la probabilit´ e que le mod` ele HMM ait g´ en´ er´ e la s´ equence par- tielle X

1n

en se trouvant dans l’´ etat q

j

` a l’instant n. Etant donn´ e que (sans hypoth` eses particuli` eres) :

p(q

jn

, X

1n

) =

J

X

k=1

p(q

kn−1

, q

jn

, X

1n−1

, x

n

)

=

J

X

k=1

p(q

kn−1

, X

1n−1

)p(q

nj

, x

n

|q

n−1k

, X

1n−1

) (3.35) avec J le nombre d’´ etats total, cette probabilit´ e ”avant” peut ˆ etre calcul´ ee par la r´ ecurrence ”avant” :

α

n

(j) = X

k

α

n−1

(k)p(q

nj

, x

n

|q

n−1k

, X

1n−1

) (3.36) o` u la somme porte sur l’ensemble des pr´ ed´ ecesseurs possibles q

k

de l’´ etat q

j

. L’initialisation de cette r´ ecurrence est donn´ ee par :

α

1

(j) = Π

j

(3.37)

o` u Π repr´ esente la distribution initiale des ´ etats du mod` ele HMM. Dans cet algorithme, on prend en compte tous les chemins possibles pour arriver ` a un

´ etat pour calculer la probabilit´ e de cet ´ etat. Ceci demande ´ enorm´ ement de calcul et surtout la multiplication de probabilit´ es qui peuvent entrainer des probl` emes num´ eriques (underflow). Une autre solution, parfois consid´ er´ ee comme plus simple, consiste ` a ne prendre en compte que le meilleur chemin

`

a travers le mod` ele. Cette approche s’appelle l’approche Viterbi.

Références

Documents relatifs

L’estimation sur petits domaines et le traite- ment de la non-r´ eponse sont des exemples de domaines de recherche dans lesquels l’approche mod` ele a jou´ e un rˆ ole important

centr´ ees de variance σ 2 0 (mais ce ne sont pas n´ ecessairement

Ce r´ esultat important permet d’affirmer que si la matrice de Leslie d’un mod` ele dynamique (3) est primitive alors cette dynamique pr´ esentera, lorsque t augmente, un

Cepen- dant, si on ajoute une variable explicative dans un mod` ele, le R 2 ne peut qu’augmenter, le R 2 n’est donc pas adapt´ e pour comparer entre eux des mod` eles avec un

On s’int´ eresse au d´ elai d’apparition d’une infection localis´ ee au point d’insertion du cath´ eter chez des patients souffrant de maladie r´ enale et ayant un ´

Interpr´ eter les tests et conclure sur le d´ elai d’apparition d’une infection en fonction du sexe.. (d) R´ ealiser le test de l’effet sexe en stratifiant sur le type

Interpr´ eter les tests et conclure sur le d´ elai d’apparition d’une infection en fonction du sexe.. (d) R´ ealiser le test de l’effet sexe en stratifiant sur le type

Aujourd’hui on cherche ` a les g´ en´ eraliser ` a des structures de plus en plus complexes pour d´ etecter des d´ efauts soit lors d’un processus industriel (contrˆ ole de