Republique Algerienne Democratique et Populaire Ministere de
l'Enseignement Superieur et de la Recherche Scientifique
Universite Abderrahmane Mira de Bejaia Faculte des Sciences
Exactes Departement d'Informatique
Mémoire de Master Recherche
Informatique SpécialitéRéseaux
et Systèmes Distribués
Th`eme
Algorithmes Evolutionnaires
dans les Systèmes de Parole
Présenté par : Mohamed Oulmahdi
Devant le jury composé de :
Mme
|
Rabiha Zeblah
|
Présidente
|
Université de Béjaia
|
M.
|
Abdennour Mekhmoukhe
|
Examinateur
|
Université de Béjaia
|
Mlle
|
Soraya Tighidet
|
Examinatrice
|
Université de Béjaia
|
Mlle
|
Zahira Benkhellat
|
Encadreur
|
Université de Béjaia
|
A mes parents
et à toute personne qui m'est chère.
Merci à tous ceux qui ont contribué de
près ou de loin à la réalisation de ce travail.
Résumé
La nature variable du signal de la parole fait que son
traitement, dans ses différents niveaux, soit une tâche
très difficile. Etant donné qu'il n'existe pas de méthodes
exactes pour traiter cette variabilité, les systèmes de parole
ont toujours recours à des méthodes d'approximation. Dans ce
travail, nous avons étudié les possibilités d'application
d'une famille de ces méthodes d'approximation connue sous le nom
d'Algorithmes évolutionnaires. Ce sont des méthodes qui reposent
sur le principe d'évolution et de sélection naturelles. Nous
avons réalisé une étude comparative entre deux
méthodes particulières de cette famille : les stratégies
d'évolution et la programmation génétique après
avoir proposé des possibilités de mise en oeuvre dans les
systèmes de parole pour chacune d'elle.
A l'issue de cette étude, nous avons constaté
que la puissance de chaque méthode se situe dans la catégorie des
problèmes à laquelle elle a initialement été
conçue. Les stratégies d'évolution offrent des
possibilités importantes en optimisation, et peuvent être
appliquées efficacement dans la phase de reconnaissance. La
programmation génétique quant à elle, peut
améliorer la qualité d'apprentissage et des traitements
linguistiques, vu ses performances en matière de développement
automatique des programmes.
Abstarct
The variable nature of the speech signal makes that its
treatment, in its different levels, is a very difficult task. Since exact
methods don't exist to treat this variability, the speech systems always have
resort to approximation methods. In this work, we studied the possibilities of
application of a family of these approximation methods known as evolutionary
algorithms. These are the methods that rest on the principle of natural
evolution and selection. We realized a comparative survey enters two particular
methods of this family : the evolution strategies and the genetic programming
after having proposed possibilities of implementation in the speech systems for
each of her.
At the end of this survey, we noted that the power of every
method is located in the category of the problems to which it has been
initially conceived. The evolution strategies offer important possibilities in
optimization, and can be applied efficiently in the phase of recognition. The
genetic programming as for her, can improve the quality of learning and
linguistics treatments, seen its performances concerning automatic development
of programs.
Résumé i
Abstract ii
Table des matières iii
Table des figures v
Introduction 1
1 Signal et Traitement de la parole 3
1.1 Généralités sur les signaux 3
1.2 Le signal vocal 4
1.2.1 Caractéristiques déterminantes 4
1.2.2 Informations véhiculées par la parole 5
1.2.3 Niveaux de complexité 6
1.3 Traitement de la parole 7
1.4 Niveaux de traitement 8
1.4.1 Niveau acoustique 8
1.4.2 Niveau phonétique 9
1.4.3 Niveau phonologique et morphologique 10
1.4.4 Niveaux syntaxique, sémantique et pragmatique 11
1.5 Processus de traitement 11
1.5.1 Prétraitement 12
1.5.2 Extraction des paramètres 13
1.5.3 Représentation du signal de la parole 14
1.6 Modèles de reconnaissance 15
1.6.1 Modèles markoviens 15
1.6.2 Modèles de classification 16
1.6.3 Modèles à comparaison dynamique 16
1.6.4 Autres modèles 18
1.7 Apprentissage 19
|
|
Table des matières
|
2
|
1.8 Traitements linguistiques de haut niveau
1.9 Conclusion
Algorithmes évolutionnaires
|
20
22
23
|
|
2.1
|
Principes d'inspiration
|
23
|
|
2.2
|
Cycle de base d'un algorithme évolutionnaire
|
24
|
|
2.3
|
Principales familles
|
24
|
|
|
2.3.1 Algorithmes génétiques
|
24
|
|
|
2.3.2 Programmation génétique
|
26
|
|
|
2.3.3 Stratégies d'évolution
|
26
|
|
|
2.3.4 Programmation évolutionnaire
|
26
|
|
2.4
|
Population et représentation des individus
|
27
|
|
2.5
|
Evaluation et Sélection
|
29
|
|
|
2.5.1 Sélection par roulette
|
29
|
|
|
2.5.2 Sélection par rang
|
30
|
|
|
2.5.3 Sélection steady-state
|
30
|
|
|
2.5.4 Sélection par tournoi
|
30
|
|
|
2.5.5 Elitisme
|
30
|
|
|
2.5.6 Sélection de seuil
|
31
|
|
2.6
|
Reproduction
|
31
|
|
|
2.6.1 Création et duplication
|
31
|
|
|
2.6.2 Mutation
|
31
|
|
|
2.6.3 Recombinaison
|
32
|
|
2.7
|
Application dans les systèmes de parole
|
32
|
|
2.8
|
Avantages et inconvénients
|
34
|
|
2.9
|
Conclusion
|
35
|
3
|
Stratégies d'évolution et Programmation
génétique
|
36
|
|
3.1
|
Stratégies d'évolution
|
36
|
|
|
3.1.1 Populations dans les SE
|
36
|
|
|
3.1.2 Evolution différentielle
|
37
|
|
|
3.1.3 Sélection
|
37
|
|
|
3.1.4 Mutation
|
37
|
|
|
3.1.5 Recombinaison
|
38
|
|
|
3.1.6 Auto adaptation
|
39
|
|
|
3.1.7 Mise en oeuvre dans les systèmes de parole
|
40
|
|
3.2
|
Programmation génétique
|
41
|
|
|
3.2.1 Population
|
41
|
|
|
3.2.2 Evaluation et sélection
|
42
|
3.2.3 Reproduction 43
3.2.4 Programmation génétique linéaire
46
3.2.5 Approches basées sur les graphes 47
3.2.6 Mise en oeuvre dans les systèmes de parole 47
3.3 Conclusion 48
4 Analyse comparative 49
4.1 Objectifs 49
4.2 Spécificité 50
4.3 Exploitation et exploration 53
4.4 Représentation des individus 55
4.5 Opérateurs de reproduction 57
4.6 Récapitulatif 58
4.7 Conclusion 59
Conclusion et Perspectives 60
Bibliographie 62
Table des figures
1.1
|
Classification morphologique des signaux
|
4
|
1.2
|
phonèmes du français, symboles de l'alphabet
phonétique international
|
10
|
1.3
|
Echelle de Mel
|
15
|
1.4
|
Exemple de graphe de décodage
|
17
|
1.5
|
Exemple de classification phonétique
|
17
|
1.6
|
Chemin optimal par DTW
|
18
|
1.7
|
Exemple de découpage syntaxique
|
21
|
2.1
|
Cycle de base d'un algorithme évolutionnaire
|
25
|
3.1
|
Schéma d'un croisement direct
|
39
|
3.2
|
Exemples de création par la méthode Full
|
42
|
3.3
|
Exemples de création par la méthode Grow
|
42
|
3.4
|
Différentes possibilités de Mutation
|
44
|
3.5
|
Recombinaison par échange de sous-arbres
|
44
|
3.6
|
Permutation
|
44
|
3.7
|
Encapsulation
|
45
|
3.8
|
Permutation
|
45
|
3.9
|
Permutation
|
46
|
4.1
|
Résumé récapitulatif de l'analyse
comparative
|
58
|
Depuis l'arrivée des premières
générations des ordinateurs, l'idée de les contrôler
à travers des claviers avec un jeu de caractère restreint a
toujours été remise en cause. Le rêve de communiquer avec
les machines de façon plus sophistiquée, plus naturelle et
spontanée n'a cessé de submerger l'esprit humain. Dans les
années 50, cette idée a commencée à devenir une
réalité, grâce à des réalisations qui ont
permis de contrôler le fonctionnement d'un ordinateur avec un nombre
très limité de commandes orales, qu'il comprenait.
Avec toute l'évolution que les systèmes de
parole ont connue depuis cette époque, les résultats obtenus sont
encore loin d'être idéal, et le domaine demeure un sujet de
recherche très actif. Les ordinateurs n'ont plus maintenant à
faire à des données exactes telles que les caractères et
les nombres, mais plutôt à des données de nature
très variable. Pour cette raison, tous les systèmes de paroles
doivent passer par des périodes d'apprentissage durant lesquelles ils
apprennent à faire face à ce problème de
variabilité, en utilisant le plus souvent des méthodes
statistiques et probabilistes. En fait, une étape d'apprentissage n'est
pas tout à fait suffisante, le problème doit encore être
affronté lors de la phase de reconnaissance pour estimer les
correspondances entre les données déjà apprises et les
nouvelles données. Il en résulte par conséquent un travail
important de calcul et d'optimisation.
Etant donné qu'il n'existe pas de méthodes
exactes plus efficaces, les systèmes de parole, quelque soit le
modèle qui leur est adopté, ont toujours recours à des
méthodes d'approximation (heuristiques) pour remédier à la
complexité du calcul. Une famille importante de ces heuristiques,
connues sous le nom d'Algorithmes évolutionnaires, a commencé
à émerger il y a une trentaine d'années, et a pratiquement
intégré tous les domaines scientifiques. Ces méthodes ont
suivi une nouvelle approche inspirée du processus d'évolution
naturelle, et se sont basées sur les principes d'évolution et de
sélection. Avec cette approche très simple et intuitive, ces
algorithmes ont pu fournir des résultats très intéressants
là où ils ont été appliqués. Toutefois, les
travaux sur les systèmes de parole qui sont fondés sur des
algorithmes évolutionnaires ne sont pas nombreux. Le présent
travail consiste en une analyse théorique des possibilités
d'ap-
plication de ces algorithmes dans les systèmes de
parole. Ces systèmes sont complexes et très compliqués; en
conséquence de quoi, un modèle directe basé sur un
algorithme évolutionnaire ne peut être défini. Nous
étudierons donc la façon par laquelle ces algorithmes peuvent
contribuer à l'amélioration de la qualité et de la
performance des systèmes de parole, que ce soit durant l'apprentissage
ou lors de a phase de traitement avec ses différent niveaux.
Ce document est divisé sur trois chapitres. Le premier
présente un état de l'art général sur les
systèmes de reconnaissance de la parole. Nous essayons de traiter d'un
maximum d'aspect afin de pouvoir identifier toutes les possibilités
d'application des algorithmes évolutionnaires. Nous traitons donc des
caractéristiques du signal vocal, de ses niveaux ainsi que de son
processus de traitement, de l'apprentissage et des traitements
linguistiques.
Le second chapitre expose, de façon
générale, les éléments de base des algorithmes
évolutionnaires. Nous tentons de discuter chaque élément
sans tenir compte d'une méthode particulière. A la fin, le
chapitre récapitule l'ensemble des travaux, que nous avons pu
réunir, sur les systèmes de parole qui ont utilisé des
algorithmes évolutionnaires.
Dans les deux derniers chapitres, nous effectuons une
étude comparative de deux méthodes particulières : les
stratégies d'évolution et la programmation
génétique. Dans le troisième chapitre, nous donnons une
présentation détaillée des deux méthodes, et dans
le dernier une analyse comparative. Dans le troisième chapitre aussi,
nous proposons des possibilités de mise en oeuvre, pour chacune des deux
méthodes, dans les différents modèles et niveaux de
traitement.
En traitant d'un ensemble important d'aspects relatifs au
traitement de la parole, et en choisissant deux types d'algorithmes
évolutionnaires largement différents, nous espérons
pouvoir couvrir un maximum de possibilités et de déceler les
différentes options que peut offrir les algorithmes
évolutionnaires pour les systèmes de parole.
1.1 Généralités sur les signaux
Un signal est la représentation physique de
l'information qu'il transmet de sa source à sa destination. La nature
physique du signal peut être de n'importe quelle grandeur mesurable
(ondes acoustiques, signale optique, magnétique ou
radioélectrique).
Les signaux peuvent être classés en de
différents types selon différents critères. Si l'on
considère la durée des signaux, on peut les diviser en des
signaux à durée limitée et des signaux à
durée illimitée. Ces derniers se décomposent à leur
tour en des signaux à énergie finie, à puissance moyenne
finie et des signaux causaux. Selon leur évolution, il existe des
signaux déterministes (périodiques, pseudopériodiques et
transitoires) dont l'évolution peut être parfaitement
décrite par un model mathématique, contrairement aux signaux
aléatoires dont le comportement est imprévisible dans le temps et
pour la représentation desquels on doit se contenter des observations
statistiques. Un autre mode de classification est selon la morphologie. On
distingue des signaux analogiques, quantifiés,
échantillonnés et numériques. Une dernière
classification est suivant la représentation spectrale par laquelle un
signal est classé par le domaine de variation de la fréquence
moyenne (basse fréquence, haute fréquence...).[143]
Le signal qui véhicule l'information est
fréquemment distordu. Cette distorsion peut prendre naissance à
la prise du signale ou durant la transmission. On est donc fréquemment
amené à filtrer le signal. Un filtre est un dispositif
susceptible de privilégier les composantes d'un signal dont les
fréquences sont situées dans un certain domaine, tout en
affaiblissant les autres. Les filtres peuvent aussi être utilisés
pour la mise en forme du signal. Ceci inclus toutes les modifications que l'on
peut faire subir à un signal pour faire apparaitre certaines
caractéristiques ou pour en masquer d'autres.
Les signaux primaires porteurs d'information sont pratiquement
toujours de type analogique (amplitude et temps continu)[143]. Un
système d'acquisition ou tout autres système traite des
données sous forme de suite de nombre discrets. Le rôle de
l'échantillonnage est de représenter le signal sous forme de
suite de valeurs ponctuelles en procédant à un découpage,
dans le temps, du signal.
FIGURE 1.1 - Classification morphologique des signaux
1.2 Le signal vocal
Le signal vocal correspond à une variation de la
pression de l'aire causée par le système articulatoire. Le
phénomène s'accompagne d'une propagation d'énergie entre
la source et le destinataire. Cette propagation est impossible dans le vide et
sa vitesse ne dépond que de la nature du milieu et de ses
caractéristiques physiques. Ces milieux ne transmettent que les ondes
dont les fréquences ont des valeurs bien précises : c'est le
phénomène d'amortissement.
Le signal vocal possède plusieurs
propriétés : il est produit par l'homme, il est très
variable du fait de la diversité phonétique et il est
modifié par l'environnement sonore. Ces propriétés font du
signal vocal un signal complexe, variable et souvent bruité.[113]
1.2.1 Caractéristiques déterminantes
Le signal vocal forme une résonnance lorsque les
fréquences du signal peuvent être modélisées comme
des multiples d'une fréquence de base appelée fréquence
fondamentale. Les différents multiples de cette fréquence sont
appelés des harmoniques.
Pour le signale vocale, la fréquence fondamentale est
celle à laquelle la glotte s'ouvre et se ferme
périodiquement.[82]
Chaque phonème contient un grand nombre d'harmoniques
dont les amplitudes relatives dépendent de la configuration du conduit
vocal. Ils présentent donc un timbre. Ce timbre est lié à
la position, à l'amplitude et la largeur de bande des maxima du spectre.
La production d'un phonème fait apparaître une ou plusieurs
résonnances qu'on regroupe sous le nom de formants. La position des
fréquences formantiques, pour un locuteur donné, peut varier
d'une élocution à l'autre, même dans le même
contexte. Mais elles varient beaucoup plus encor entre un locuteur et un
autre.
1.2.2 Informations véhiculées par la
parole
La parole transmet plusieurs types d'informations :
linguistiques, paralinguistiques mais aussi extralinguistiques. La transmission
d'informations linguistiques est le premier objectif de la parole. Cependant,
les informations paralinguistiques comme l'intonation modifient et ajoutent des
éléments utiles pour la compréhension. Les informations
dites extralinguistiques comme les variabilités dues aux locuteurs sont
souvent des facteurs qui perturbent les systèmes.[63]
Les informations linguistiques sont de plusieurs types. Un
message est composé de phrases, de mots. Chacun de ces mots peut
être décomposé en syllabes. La syllabe est une combinaison
de phonèmes dont le noyau est une voyelle parfois entourée de
plusieurs consonnes. Le phonème est la plus petite unité
segmentale distinctive. Le phonème n'est pas un élément
unique en lui même. Pour un même phonème, on pourra trouver
différentes variantes acoustiques appelées allophones. Il existe
donc des traits caractéristiques communs ou discriminants que l'on peut
exploiter dans la tâche d'extraction de caractéristiques.
Les informations paralinguistiques regroupent les composantes
du signal de parole qui ne sont pas à proprement parler des informations
linguistiques. Souvent, elles permettent une meilleure compréhension du
contexte linguistique. L'intonation est un exemple d'information
paralinguistique utile à la compréhension. Une phrase selon
qu'elle soit prononcée de manière déclarative ou
interrogative peut changer sensiblement de sens. Des variabilités dues
aux locuteurs sont également comprises dans les informations
paralinguistiques. L'état émotif, affectif et l'attitude du
locuteur sont des exemples de ces variabilités. Le niveau social ainsi
que l'accent régional sont également des informations
paralinguistiques. Par définition, les émotions ne sont pas
contrôlables par le locuteur. Quant aux autres informations
paralinguistiques comme le ni-
veau social, le locuteur ne contrôle pas ces informations
dans le cas d'une conversation naturelle.
De nombreuses autres informations dites extralinguistiques
sont présentes dans le signal de parole. Elles transmettent
essentiellement des caractéristiques propres aux locuteurs comme le
genre ou l'âge. L'environnement sonore, Les conditions de prise de son et
le canal de transmission sont des exemples d'informations
extralinguistiques.
1.2.3 Niveaux de complexité
La parole est un signal très complexe et son traitement
est un problème très difficile. Les sources de complexité
sont de natures différentes, elles peuvent être liées au
locuteur, à l'environnement sonore ou au signal lui-même.
Il y a d'abord le problème de la variabilité
intra et inter-locuteurs. Le système est-il dépendant du locuteur
ou indépendant du locuteur? Evidemment, les systèmes
dépendants du locuteur sont plus faciles à développer et
sont caractérisés par de meilleurs taux de reconnaissance que les
systèmes indépendants du locuteur étant donné que
la variabilité du signal de parole est plus limitée. Cette
dépendance au locuteur est cependant acquise au prix d'un
entraînement spécifique à chaque utilisateur.
Le système reconnaît-il des mots isolés ou
de la parole continue? Evidemment, il est plus simple de reconnaître des
mots isolés bien séparés par des périodes de
silence que de reconnaître la séquence de mots constituant une
phrase. En effet, dans ce dernier cas, non seulement la frontière entre
mots n'est plus connue mais, de plus, les mots deviennent fortement
articulés. Dans le cas de la parole continue, le niveau de
complexité varie également selon qu'il s'agisse de texte lu, de
texte parlé ou, beaucoup plus difficile, de langage naturel avec ses
hésitations, phrases grammaticalement incorrectes, faux départs,
etc.
La taille du vocabulaire et son degré de confusion sont
également des facteurs importants. Les petits vocabulaires sont
évidemment plus faciles à reconnaître que les grands
vocabulaires, étant donné que dans ce dernier cas, les
possibilités de confusion augmentent. Certains petits vocabulaires
peuvent cependant s'avérer particulièrement difficiles à
traiter; ceci est le cas, par exemple, pour l'ensemble des lettres de
l'alphabet, contenant surtout des mots très courts et acoustiquement
proches.
Le système est-il robuste, c'est-à-dire capable de
fonctionner proprement dans des conditions difficiles? En effet, de nombreuses
variables peuvent affecter significati-
vement les performances des systèmes de reconnaissance
bruits d'environnement, acoustique déformé et bruits
corrélés avec le signale de parole utile, systèmes
d'acquisition de différents caractéristiques, bande
fréquentielle limitée, etc.
1.3 Traitement de la parole
Les technologies de traitement de la parole recouvrent
différents domaines d'application. On distingue essentiellement la
synthèse vocale et la reconnaissance vocale. Cependant, dans la plupart
des applications courantes, ces deux techniques sont sou-vent
associées[72]. L'identification et la vérification du locuteur
font aussi partie du domaine de traitement de la parole.
La synthèse vocale peut être définie comme
la communication de la machine à l'homme. La synthèse vocale
recouvre tous les aspects liés à l'interprétation, par la
machine, du langage humain. Dans les applications de reconnaissance vocale on
distingue les systèmes de commandes vocales et les systèmes de
dictée.
Les systèmes de commande vocale permettent à
l'utilisateur de contrôler des équipements. Certaines applications
ne permettent que le contrôle par un nombre limités de mots ou de
courtes phrases. D'autres systèmes permettent à l'utilisateur de
s'exprimer par des phrases mais sont entrainés à repérer
certains mots de la phrase, mots qui se trouvent dans leurs dictionnaires
internes et sur lesquels ils basent leurs actions. On trouve aussi d'autres
applications beaucoup plus évoluées où l'on peut
s'adresser au système en langage naturel.
Les systèmes de dictée constituent le
problème le plus difficile à résoudre dans le domaine de
reconnaissance vocale[72]. Comme pour les systèmes de commande vocale,
il existe des systèmes de reconnaissance discrète dans lesquels
l'utilisateur doit parler avec de courtes poses entre chaque mot, et des
systèmes à reconnaissance continue qui permettent à
l'utilisateur de dicter son texte de façon continue et à une
vitesse de locution normale.
La vérification du locuteur consiste à
déterminer si un locuteur est bien celui qu'il prétend
être. Dans ce type d'applications, il s'agit donc de trancher entre les
deux hypothèses soit le locuteur est bien le locuteur autorisé,
c'est à dire celui dont l'identité est revendiquée, soit
nous avons affaire à un imposteur qui cherche à se faire passer
pour un locuteur autorisé. Les applications classiquement
envisagées pour la vérification du locuteur correspondent donc
à l'idée de "serrure vocale" qui peut être
utilisée,
par exemple, pour valider des transactions bancaires
effectuées par téléphone, ou pour compléter un
dispositif d'accès (à un bâtiment, un système
informatique, etc.)
L'identification du locuteur consiste à
reconnaître la voix d'un locuteur parmi une population (une base de
données) composée de N locuteurs connus. En identification, la
réponse apportée n'est plus de type binaire (acceptation ou
rejet) comme dans le cas de la vérification puisqu'il est
nécessaire de désigner un locuteur parmi un groupe. La sortie du
système correspond à l'identité du locuteur de la base de
référence qui est la plus "proche" du signal de parole inconnu.
Dans cette tâche, on fait l'hypothèse que le signal de parole
à identifier est prononcé par l'un des locuteurs de la base de
référence (identification en ensemble fermé)
Il est à noter que pour une identification en ensemble
ouvert, la combinaison des deux tâches précédentes est
nécessaire identification du locuteur le plus probable parmi les
locuteurs de la base des données, puis vérification que
l'échantillon inconnu a bien été prononcé par le
locuteur choisi dans l'étape d'identification.
Pour une application de vérification ou
d'identification, il est nécessaire de disposer d'une base de
données contenant des enregistrements de référence
correspondant à chacun des locuteurs autorisés. En pratique, on
ne conserve pour chaque locuteur que les paramètres utiles pour la
reconnaissance extraits de ses enregistrements de référence. Ces
informations constituent les données de référence du
locuteur.
1.4 Niveaux de traitement
L'information portée par le signal de la parole peut
être analysée de bien de façon. On en distingue
généralement plusieurs niveaux de description acoustique,
phonétique, phonologique, morphologique, syntaxique, sémantique
et pragmatique.[63]
1.4.1 Niveau acoustique
La parole apparait physiquement comme une variation de la
pression de l'air causée et émise par le système
articulatoire. L'étude acoustique de ce signal consiste à le
transformer dans un premier temps en un signal électrique (souvent
numérique) qui peut être soumis à un ensemble de traitement
acoustique qui visent à mettre en évidence les traits acoustiques
correspondant aux grandeurs perceptuelles formant, intensité et timbre.
Le signal est en suite échantillonné et pondéré par
une fenêtre de
pondération (souvent une fenêtre de Hamming). En
effectuant une transformée de Fourier à ces échantillons,
on peut séparer les sons voisés et non voisés selon la
structuration des fréquences, et les formants et les timbres selon la
forme générale des spectres (enveloppe spectrale).
On peut aussi séparer les sons voisés et non
voisés en représentant l'évolution temporelle du spectre
sous forme d'un diagramme à deux dimensions temps-fréquence
appelé spectrogramme, comme on peut représenter
l'évolution de la fréquence fondamentale.
1.4.2 Niveau phonétique
A ce niveau, ce n'est pas tant le signal qui importe que la
façon dont il est produit par le système articulatoire. La parole
peut être décrite comme le résultat de l'action volontaire
et coordonnée d'un certain nombre de muscles. L'alphabet
phonétique international associe des symboles phonétiques
(phonèmes ou unités phonétiques
élémentaires) aux sons de telle façon à permettre
l'écriture compacte et universelle des prononciations.
Ces différents symboles sont regroupés en trois
classes principale : les voyelles, les semi-voyelles (ou semi-consonnes)et les
liquides et les consonnes. La production de chaque classe de phonèmes
fait appel à un ensemble distingué d'éléments de
l'appareil articulatoire et chaque élément se trouve
réagir différemment d'un phonème à un autre. Les
traits acoustiques du signal de la parole sont évidemment liés sa
production. L'intensité du son est liée à la pression de
l'aire en amont. Sa fréquence, qui n'est rien d'autre que la
fréquence du cycle ouverture/fermeture des cordes vocales, est
déterminée par la tension des muscles qui les contrôlent.
En fin, son spectre est le résultat du filtrage du signal par le conduit
vocal.
Il est aussi important de noter qu'une bonne connaissance des
mécanismes de l'audition et des propriétés perceptuelles
de l'oreille humaine est aussi importante qu'une métrise des
mécanismes de production. En effet, tout ce qui peut être
mesuré acoustiquement ou observé par la phonétique
articulatoire n'est pas nécessairement perçu. La plage des
fréquences perçues par l'oreille humaine est bornée par
une limite supérieure proche de 16000 Hz, ce qui limite
considérablement la fréquence d'échantillonnage. En plus,
même dans l'intervalle de son domaine d'audition, l'oreille ne
présente pas une sensibilité identique à toutes les
fréquences. Enfin, les sons peuvent se chevaucher et un son peut donc en
masquer un autre. Ce chevauchement, appelé phénomène de
masquage, peut aider à réduire le débit binaire du signal
acoustique.
FIGURE 1.2 - phonèmes du français, symboles de
l'alphabet phonétique international
1.4.3 Niveau phonologique et morphologique
La phonologie est l'interface nécessaire entre la
phonétique et la description linguistique de niveau plus
élevé. Elle introduit la notion d'unités phonétique
du discours qui est la plus petite unité phonétique distinctive.
Ces unités constituent un ensemble structuré dans lequel chaque
élément est différent des autres, la différence
étant à chaque fois porteuse de sens contrairement aux niveaux
précédant où la parole est considérée comme
si elle ne portait aucune signification.
Les variations phonétiques articulatoires dues à
des différences régionales ou de la dynamique vocale ne donnent
pas naissance à de nouveaux phonèmes. Ces effets sont connus sous
le nom de réduction, assimilation et coarticulation[15]. Les
phénomènes coarticulatoires sont dus au fait que chaque
articulateur évolue de façon continue entre les positions
articulatoires. Au contraire, la réduction et l'assimilation prennent
leur origine dans des contraintes physiologiques et sont sensibles au
débit parlé. L'assimilation est causée par le recouvrement
de mouvements articulatoires et peut aller jusqu'à modifier un trait
acoustique du phonème prononcé. La réduction est
plutôt due au fait que les cibles articulatoire sont moins bien atteintes
dans le parler rapide.ces phénomènes sont en grande partie
responsables des traitements réalisés des signaux de la
parole.
La description phonologique de la parole doit rendre compte de
la durée, de la densité et de la fréquence fond mentale
des phonèmes. La durée des silences et des phones
détermine le rythme de la phrase, tandis que l'évolution de la
fréquence fondamentale constitue sa mélodie.
La suite des phonèmes prononcés correspond
à des mots choisis dans le lexique des mots de la langue. L'étude
morphologique étudie la façon dont les mots peuvent être
construit à partir de mots de base, et par conséquent, et
étant donné la richesse de la langue, réduire la taille du
vocabulaire.
1.4.4 Niveaux syntaxique, sémantique et
pragmatique
Toute suite de mots du lexique ne forme pas une phrase
correcte. En effet, la liste des phrases admises, bien qu'infinie, est
restreinte par leur syntaxe. Les grammaires ne servent pas qu'à dresser
les frontières entre les phrases régulièrement
construites, mais elles permettent également l'organisation
hiérarchique des phrases.
Bien que la syntaxe restreigne le nombre de phrases
acceptables, elle ne constitue cependant pas une limite exhaustive
d'acceptabilité. En effet, un nombre de phrase syntaxiquement correcte
ne sont pas toutes admissibles. L'étude des significations des mots, de
la façon dont ils sont liés les un aux autres fait l'objet de la
sémantique lexicale. Il s'agit principalement d'étudier les
problèmes d'ambiguïté. Notons que la différence entre
syntaxe et sémantique reste relativement floue, car il ne s'agit pas de
l'étude des conditions de vérité comme dans les
expressions logiques.
Le dernier niveau est le niveau pragmatique. Contrairement au
sens sémantique, que l'on qualifie souvent d'indépendant du
contexte, le sens pragmatique est définie comme dépendant du
contexte. Tout ce qui réfère au contexte dans lequel une phrase
s'inscrit et la relation entre le locuteur et son auditoire, a quelque chose
à voire avec la pragmatique. Son étendue couve l'étude de
sujets tels que les présuppositions, les implications de dialogue, les
actes de parole...
1.5 Processus de traitement
La reconnaissance de la parole est un processus complexe
composé de plusieurs étapes qu'on classe
généralement en trois phases : la phase de prétraitement
qui prépare le signale pour améliorer la qualité du
décodage, la phase de reconnaissance qui
constitue l'étape la plus importante et enfin la phase des
traitements linguistiques de plus haut niveau.
Les premiers succès en reconnaissance vocale ont
été obtenus dans les années 70 à l'aide d'un
paradigme de reconnaissance de mots par l'exemple. L'idée, très
simple dans son principe, consiste à faire prononcer un ou plusieurs
exemples des mots susceptibles d'être reconnus, à les enregistrer
et à les comparer avec le signale à reconnaître. Ce
principe est mieux adapté à la reconnaissance monolocuteur de
mots isolés et à petit vocabulaire. Mais dès que la taille
du vocabulaire devient importante, le principe devient inadapté, sans
prendre en compte la continuité de la parole et la variabilité
des locuteurs.
Pour remédier à ces manques, et concevoir un
système réellement multilocuteur et à plus grand
vocabulaire, il devient nécessaire de mener la reconnaissance sur base
d'unités de parole de plus petite taille (typiquement les
phonèmes). On ne se contente plus alors d'exemples de ces unités,
mais on cherche plutôt à en déduire un model qui sera
applicable à n'importe quelle voix.
1.5.1 Prétraitement
Les prétraitements débutent par un
échantillonnage des signaux, suivi d'une préaccentuation. Le
signal est divisé en fenêtres de longueur entre 20 et 30 ms. Le
signal final est obtenu en multipliant le signal par une fonction de
pondération. La préaccentuation consiste en un filtrage du signal
de la parole pour égaliser les graves et les aigues. D'autres
prétraitements, ayant pour but d'augmenter la robustesse, sont par fois
mis en oeuvre comme par exemple la normalisation des sons ou la soustraction
spectrale qui a pour effet d'éliminer les bruits additifs.
Le choix de la fenêtre est très important. Parmi
les fenêtres utilisées on trouve les fenêtres de Hamming,
Hanning, Blackman ou de Kaiser. Le choix de la fenêtre se fait le plus
souvent en fonction de l'application car les fenêtres présentent
différentes atténuations à des fréquences bien
précises. Cependant, il faut noter que la plupart des systèmes
sont directement conçus sur des fenêtres de Hamming. Les efforts
de conception sont consacrés à d'autres étapes comme
l'extraction des paramètres.[113]
La phase de reconnaissance est représentée par
l'ensemble des processus qui ont pour objet de faire passer le signal de sa
forme acoustique vers une forme linguistique constituée d'unités
phonétiques élémentaires et d'associer à ces
dernières les correspondances linguistiques appropriées. Ces
correspondances seront par la suite pas-
sées au module linguistique pour des traitements de
plus haut niveau. Ces traitements concernent l'analyse lexicale, syntaxique,
sémantique et pragmatique. Tous les traitements linguistiques ne sont
pas présents dans tous les systèmes de reconnaissance, selon le
domaine considéré et selon le besoin, le système peut
exclure un traitement ou un autre.
1.5.2 Extraction des paramètres
L'extraction des paramètres est l'objet principal de
l'analyse de la parole et c'est le passage obligé de toutes les
applications de traitement de la parole.[113]
En considérant le degré de connaissance
associé au signal, il existe des méthodes d'extraction non
paramétriques qui sont basées généralement sur une
représentation fréquentielle du signal sans tenir compte de sa
structure fine. Les méthodes paramétriques ou les méthodes
d'identification en revanche, sont fondée sur une connaissance des
mécanismes de production de la parole. Elles reposent sur un model.
Celui-ci repose sur un ensemble de paramètres numériques, dont
les niveaux de variation représentent l'ensemble des signaux couverts
par le model. Pour un signal et un model donné, l'analyse estime les
paramètres du model pour lui faire correspondre le signal
analysé.
Selon que l'on prenne en compte l'évolution
fréquentielle ou temporelle du signal de la parole, on distingue des
méthodes d'analyse spectrales et des méthodes d'analyse
temporelles. L'analyse spectrale est basée sur deux principe : le
premier est que le timbre de la parole dépend de la position, dans
l'échelle des fréquences, des formant qui sont liés aux
résonnances du conduit vocal, le deuxième est le fait que le
spectre du signal vocal présente une certaine stabilité pendant
plusieurs centièmes ou même dixièmes de secondes. On pourra
donc appliquer une transformée de Fourrier aux intervalles de
stabilité du spectre et pouvoir isoler les différentes
fréquences qui le composent. L'analyse peut être
réalisée en utilisant des filtres analogique (unique ou multiples
en parallèle) ou des filtres numériques. Les filtres
numériques présentent une précision plus
élevée et plus de possibilité de simulation mais avec un
prix de complexité considérable.
L'analyse temporelle utilise le fait que certains
évènement, comme la fermeture brusque du conduit vocal, sont
mieux caractérisée par l'évolution temporelle du signal
que par son spectre. La fonction d'autocorrélaton, le taux de passage
à zéro et la prédiction sont les principales techniques
d'analyse temporelle.
L'analyse prédictive est sûrement la plus
utilisée. Le conduit vocal, filtrant le signal d'excitation, peut
être assimilé à un filtre récursif : avec une bonne
approximation, le signal émis à un instant donné peut
être calculé à partir des valeurs qu'il a prises aux
instants antérieurs (exploitation de l'aspect redondant de la
parole).
Les analyses fréquentielles exigent d'être
effectuées sur une durée suffisamment langue. Il en
résulte qu'elles sont peu adaptées à l'étude des
phénomènes évoluant rapidement. La prédiction
élimine une part importante de la redondance que présente le
signal de la parole et fait, par conséquent, débarrasser
l'analyse des éléments n'apportant pas de nouvelles
informations.
1.5.3 Représentation du signal de la parole
Le codage prédictif linéaire Il
repose sur l'hypothèse de linéarité du processus de
production de la parole. Chaque échantillon peut être
prédit à partir d'une pondération linéaire d'un
nombre fini d'échantillons précédents, étant
donné que la forme du conduit vocale n'évolue pas rapidement.
Le codage prédictif linéaire est largement
utilisé en traitement de la parole notamment en transmissions. Le model
est de plus facile à mettre en oeuvre dans les systèmes à
temps réel. Ce model par définition ne prend pas en charge les
phénomènes non linéaire, et de plus, il n'est pas
optimisé pour la tâche de reconnaissance. En effet, des travaux
ont montré qu'il est possible de mettre en oeuvre une meilleure
représentation, et on fait naissance à des modèles plus
optimisés comme la prédiction linéaire perceptive, la
prédiction linéaire perceptive RASTH, le codage WLPC...
Le codage cepstrale la représentation
cepstrale est une représentation non paramétrique : elle ne fait
pas intervenir de model comme le cas du codage linéaire. On obtient le
cepstre en appliquent une transformée de Fourrier au signal, calculer le
logarithme du résultat, à qui on applique en fin une
transformée de Fourrier inverse.
Le cepstre possède plusieurs propriétés
intéressantes qui en font une représentation efficace. Parmi ces
propriétés, le logarithme qui permet par un procédé
de filtrage l'élimination des effets convolutifs dans le domaine
temporel. En effet, grâce à la fonction logarithmique, les bruits
deviennent additifs et une simple soustraction (soustraction cepstrale) permet
l'annulation de ces bruits.
Le codage MFCC (Mel Frequency Cepstral Coding)
C'est la technique de codage la plus utilisée en traitement
de la parole. Elle intègre la notion de bancs de filtres qui
sont déployés non par une échelle en Hz
mais sur une échelle non linéaire : l'échelle de Mel.
Cette échelle est issue de la connaissance sur la perception humaine. La
résolution perceptive des fréquences diffère selon qu'on
écoute des sons de basses ou de hautes fréquences.
Le codage MFCC représente la référence des
procédés d'extraction de caractéristiques, et toutes les
méthodes proposées doivent s'y comparer.[113]
FIGURE 1.3 - Echelle de Mel
1.6 Modèles de reconnaissance
1.6.1 Modèles markoviens
Dans le cadre des modèles markoviens, les unités
acoustiques sont modélisées par des chaînes de Markov
cachées. A chaque état du modèle est associée une
distribution de probabilité modélisant la
généralisation des modèles acoustiques via cet
état.[17]
L'ensemble des paramètres markoviens (états,
matrice de transition...) sont estimés lors d'une phase d'apprentissage.
Les différentes méthodes d'apprentissage permettent, à
partir d'un certain échantillon, de déterminer les
paramètres qui maximisent les probabilités de
génération des unités acoustiques.
Les modèles de reconnaissances markoviens utilisent, en
outre des paramètres habituels, des modèles de langage. Ils
permettent d'estimer la probabilité de production des mots en
connaissant leur historique. Lors de la phase d'apprentissage, on calcule
les probabilités d'apparition des unités à
partir des évènements observés, et de
généralise par la suite ces estimations à des
évènements qui n'ont pas été observés.
A la phase de reconnaissance, le système
génère un ensemble de mots de départ, dits
hypothèses, à partir des informations récoltées
lors de l'apprentissage. Cet ensemble sera modélisé sous forme
d'un graphe ou d'un treillis de mots. Le système explore ce graphe afin
de trouver le chemin qui maximisera la probabilité de correspondance.
Les modèles markoviens sont les plus utilisés
dans le domaine de reconnaissance vocale et constituent un domaine de recherche
très prometteur. Leurs principal problème est la
difficulté de leur intégrer des informations non acoustiques.
1.6.2 Modèles de classification
Dans ce type de modèles, la reconnaissance vocale est
considérée comme un problème de classification
automatique. La classification automatique consiste à attribuer une
parmi un ensemble de classes à chacun des objets à classifier. La
structure des classes et leurs nombre peuvent être connus avant la
classification ou déterminés automatiquement par le
système. Dans le premier cas, on parle de classification
supervisée. Elle repose sur un échantillon de prototypes qui
représentent chacun une classe. Les objets seront en suite
répartis selon les classes auxquelles ils appartiennent. Chaque
unité acoustique représente une classe. Les prototypes sont
constitués manuellement lors d'une phase d'apprentissage. Par la suite,
le modèle estime, pour chaque unité à reconnaître,
sa classe appropriée. Il existe plusieurs méthodes pour estimer
les correspondances phonétiques : les méthodes probabilistes
gaussiennes, les réseaux de neurones, la règle du proche voisin,
mesures de dissimilarité, etc.
La classification a largement été
appliquée à des problèmes similaires comme la
reconnaissance des formes et le recalage des images médicales. On
utilise généralement la méthode du plus proche voisin. En
reconnaissance vocale, c'est plutôt les mesures de dissimilarité
qui sont utilisées. Etant donné que les approches algorithmiques
de classification sont relativement anciennes, ce modèle permet de
profiter de tous les résultats théoriques et les avancées
des travaux en la matière.
1.6.3 Modèles à comparaison dynamique
La méthode DTW (Dynamic Time Warping) est une
méthode de résolution dynamique. Elle est basée sur le
principe de recalage temporel. Les images acoustiques des unités sources
et celles des unités à reconnaître ne sont pas parfaitement
identiques
FIGURE 1.4 - Exemple de graphe de décodage
FIGURE 1.5 - Exemple de classification phonétique
à cause de la différence dans les vitesses de
locution. Ce principe est pratiquement le même que celui utilisé
dans la reconnaissance des formes et il a largement été
utilisé pour le recalage des images médicales. Le modèle
utilise une mesure de différence entre les vecteurs sources et ceux du
mot à identifier pour tenter de trouver des correspondances
optimales.
L'algorithme commence par l'estimation locale des distances
entre les deux ensembles de vecteurs. Il utilise ensuite une méthode de
programmation dynamique pour obtenir un optimum global qui minimise la
différence accumulée entre les deux ensembles.
Dans ce type de modèles, on représente chaque
couple d'unités phonétiques dans une matrice dont les lignes
représente les vecteurs de l'unité de référence, et
les colonnes ceux de l'unité à reconnaître. Les
éléments de la matrice représentent les différences
locales entres les vecteurs. Le problème revient donc à trouver
un chemin optimal (minimal) entre le premier et le dernier
élément de la matrice.
FIGURE 1.6 - Chemin optimal par DTW
1.6.4 Autres modèles
La quantification vectorielle est une méthode
non-paramétrique qui permet de décrire un ensemble de
données par un faible nombre de vecteurs formant un dictionnaire
associé aux données. Le dictionnaire est en général
calculé de telle façon que la distance moyenne entre un vecteur
issu des données et son plus proche voisin dans le dictionnaire soit la
plus petite possible. La quantification vectorielle est une technique de
groupage qui est d'autant plus adaptée que les données
présentent naturellement des "points d'accumulation" autour desquels la
densité de vecteurs issus des données est importante. Compte tenu
de la nature du signal de parole, le choix d'un tel modèle
semble assez judicieux. En general, la quantification
vectorielle est realisee par une methode dite "spliting K-means" (optimisations
successives de dictionnaires de taille croissante) qui permet de contourner le
delicat problème de l'initialisation de l'algorithme de recherche
iterative des vecteurs du dictionnaire.
Le modèle de melange de distributions gaussiennes
(Gaussian mixture model (GMM)) consiste à supposer que la distribution
des donnees peut être decrite comme une somme ponderee de densites
gaussiennes multidimensionnelles. Ce modèle de melange est classique
dans le domaine de la reconnaissance de forme car il correspond à une
situation où les donnees appartiennent à un ensemble de classes
distinctes, avec une probabilite d'appartenance propre à chaque classe.
Le cas particulier considere ici est celui où dans chaque classe les
donnees suivent une loi gaussienne. Ce choix tient essentiellement au fait que
la loi gaussienne appartient à une famille de distributions dite
exponentielles pour lesquelles le problème de l'identification des
composantes du melange se trouve simplifie. Pour le signal de parole, ce
modèle ne paraît donc pas deraisonnable et il est d'autre part
assez proche de la caracterisation fournie par la quantification vectorielle.
La difference etant qu'avec la quantification vectorielle, on se contente de
mettre en evidence un certain nombre de "points d'accumulation" des
paramètres mesures, alors qu'avec le modèle de melange de
distributions gaussiennes, on cherche en plus à decrire la distribution
des paramètres mesures autours de ces points d'accumulation.
1.7 Apprentissage
Quelque soit le modèle considere, il doit
obligatoirement debuter par une phase d'apprentissage. L'apprentissage
automatique (Machine Learning) est un procede qui permet au système de
generaliser les connaissances qui a pu apprendre, grâce à des
donnees dejà traitees manuellement, à des donnees inconnues.
C'est une technique d'intelligence artificielle qui est appliquee dans une
large gamme de domaines, en premier lieu en classification.
Dans les systèmes de parole, l'apprentissage constitue
une phase cruciale. Pour chaque unite phonetique (mot ou phonème), le
système calcule une estimation à partir d'un echantillon de
donnees de reference. Le choix de cet echantillon est très important: il
faut à la fois minimiser la taille et generaliser la presentation. Ces
deux objectifs sont plus ou mois contradictoires. Si l'on choisi un ensemble
d'echantillons très petit, on risque d'avoir une mauvaise representation
comme reference. Ce qui entrainerait de mauvaises consequences lors de la
reconnaissance. De même, avec un ensemble très
grand, le problème peut devenir complètement
irrésolvable. Il convient donc de trouver un compromis.
Dans les modèles markoviens, le système apprend,
à partir d'un ensemble de mots donné, à prévenir
l'apparition d'un mot à partir des mots déjà apparus. Dans
les modèles de classification, l'apprentissage consiste à adapter
le système à classifier des phonèmes dont l'image
acoustique est légèrement différente de celle du prototype
source correspondant. Quant aux modèles à base de DTW,
l'apprentissage se préoccupe plutôt de surpasser les
décalages temporels dus aux variations de vitesses de locution.
1.8 Traitements linguistiques de haut niveau
Les traitements linguistiques ne sont pas tous disponibles
dans tous les systèmes de reconnaissance. Par exemple, dans les
systèmes de commande à mots isolés, aucun traitement
linguistique n'est nécessaire, voire n'est utile. Dans les
systèmes de dictée, une analyse lexicale et syntaxique est
incontournable; par contre, aucun intérêt ne serait apporté
par une analyse sémantique. Mais dans les applications de dialogue oral
par téléphone, toutes les analyses doivent être mises en
coopération pour qu'elle soit plutôt efficace.
Dans la plupart des systèmes, ces différents
niveaux d'analyse linguistique sont séquentiels et donc
indépendant de point de vue temporel. Cependant, une combinaison entre
eux peut s'avérer bénéfique. Par exemple, l'introduction
d'une analyse sémantique dans la phase de reconnaissance peut
améliorer la précision et lever l'ambigüité. Cette
technique est en quelque sorte implicitement introduite dans les modèles
markoviens dans lesquels, la probabilité de correspondance d'un mot ne
dépend pas seulement de son image acoustique, mais aussi de suite de
mots qui le précèdent.
Les applications de dialogue oral téléphonique
se répondent de plus en plus et couvre une grande variété
de domaines. Dans ce type d'applications, un module de compréhension
(d'analyse sémantique) est indispensable pour la traduction des phrases,
issues du module de reconnaissance et dont la nature est très
spontanée, à des commandes effectives.
Dans certaines applications, la compréhension
s'effectue suivant deux phases d'analyses séquentielles. La
première phase établie un découpage des phrases en groupes
syntaxiques (groupe nominal, groupe verbal, ...), et de leurs associer les
étiquettes sémantiques correspondantes. La phase suivante
effectue un rattachement sémantico-
pragmatique qui a pour but de relier les constituants minimaux
résultants de la première phase, et de définir les
dépendances entre eux.
D'autres modèles tels que les arbres de décision
sémantiques, le boosting ou les SVM, combinent les opérations de
reconnaissance et de compréhension en une seule phase. Les arbres de
décision sémantiques sont généralement les plus
utilisées. C'est une technique qui repose sur les grammaires
régulières. Les règles de la grammaire sont
constituées automatiquement à partir d'un corpus
d'entraînement.
Un des défis des applications de compréhension
orale, qui doivent souvent confronter, est l'aspect spontané de la
parole. Le problème se présente principalement dans les
hésitations, les fragments inutiles, les répétitions et
les déformations syntaxiques et sémantiques. Ces applications
doivent donc filtrer les phrases reconnues pour extraire ce qui est utile de ce
qui ne l'est pas.
FIGURE 1.7 - Exemple de découpage syntaxique
1.9 Conclusion
Dans ce chapitre nous avons passé en revu les
éléments essentiels intervenant dans le processus de traitement
de la parole. Nous avons d'abord illustré certains aspects du traitement
du signal de façon général ainsi que les
caractéristiques du signal vocal, en faisant apparaître en
particulier l'importance et la complexité de l'information qu'il
contient. Par la suite, nous avons présenté les différents
niveaux de traitement de la parole. Après avoir décrit de
façon général son déroulement, nous avons
détaillé, dans une certaine mesure, le processus de traitement de
la parole en décrivant les différents éléments qu'y
interviennent.
Dans une autre partie, nous avons traité des
modèles de reconnaissance. Nous avons essayé d'illustrer les
principaux modèles de reconnaissance et éventuellement certains
avantages et inconvénients. En fin nous avons survolé rapidement
la phase d'apprentissage et les traitements linguistiques, notamment les
problèmes relatifs à la compréhension de la parole
spontanée.
Il reste néanmoins plusieurs autres problèmes
d'importance capitale, en particulier ceux qui ont un rapport avec le processus
de décodage comme la détermination de la fréquence
fondamentale, la recherche des formants et la suppression des bruits de fond.
Ces problèmes ont le plus souvent une part intéressante dans la
complexité du domaine. Nous n'en dirons pas davantage dans ce
mémoire, une étude exhaustive ferait intervenir de nouveaux
concepts et dépasserait largement le cadre de ce travail.
Chapitre 2
Algorithmes évolutionnaires
Les algorithmes évolutionnaires regroupent un ensemble
d'algorithmes inspirés du processus d'évolution naturelle. Ces
algorithmes sont utiles pour la résolution de problèmes où
les algorithmes classiques d'optimisation, d'apprentissage ou de conception
automatique sont incapables de produire des résultats satisfaisants. Ils
appartiennent à la classe des méthaheuristiques qui, à
leur tour, font partie des méthodes heuristiques. Ce sont des
méthodes d'approximation qui fournissent des résultats de bonne
qualité, en sacrifiant éventuellement l'exactitude ou
l'optimalité de la solution, à des problèmes souvent
réputés difficiles pour lesquels on ne connait pas de
méthodes exactes plus efficace.
2.1 Principes d'inspiration
- Les individus d'une espèce à grande
fertilité ont plus de chance de survivre pour longtemps.
- Sous l'absence d'influence externe, la dimension d'une
espèce reste, en gros, constante. - Encore, sans influences externes, la
ressource de nourriture est limitée mais reste équilibrée
avec le temps.
- Les individus luttent pour la survie à cause de la
concurrence sur les ressources limitées.
- Il n'existe pas d'individus équivalents, notamment pour
les espèces à reproduction sexuelle.
- Les différences entre individus peuvent affecter leurs
aptitudes, et par conséquent, leur capacité de survie.
- Une bonne partie de ces variations est inhéritable.
- Les bons individus ont plus de chances de survivre et de
produire d'autes bons individus.
- Les individus qui survivent transmettront, probablement, leurs
caractéristiques
à leurs enfants.
- Les espèces évoluent lentement, et s'adaptent de
plus en plus à leur environnement.
2.2 Cycle de base d'un algorithme
évolutionnaire
Tous les algorithmes évolutionnaires font
évoluer un ensemble (population) de solutions (individus). La population
initiale est générée aléatoirement. En suite, Pour
chaque individus, on calcul le résultat d'une fonction
d'évaluation (fitness) mesurant le degré de leur adaptation.
L'utilité de chaque individu étant maintenant connue,
l'algorithme filtre la population courante en éliminant les individus
ayant obtenus un mauvais résultat lors du processus d'évaluation,
tout en préservant les autres. Après avoir
sélectionné les bons individus, ces derniers seront
combinés ou variés afin d'en produire de nouveaux. Les nouveaux
individus sont sensés être d'une qualité aussi bonne que
ceux de la génération précédente. Ils seront
passés à leur tour à la phase de sélection, et
ainsi de suite jusqu'à atteindre un des critères
d'arrêt.L'algorithme devrait tendre, de plus en plus, vers la solution
optimale. Le critère d'arrêt est le plus souvent relatif au nombre
de générations. Mais il peut cependant dépendre du
degré d'évolution (amélioration) de l'algorithme, de la
distance entre individus ou du facteur de temps.
2.3 Principales familles
2.3.1 Algorithmes génétiques
Les algorithmes génétiques sont les plus
populaires des algorithmes évolutionnaires. Ils impliquent
l'évolution d'une population de vecteurs de dimension fixe
composés de caractères, généralement des bits.
L'idée des algorithmes génétiques est vaguement
inspirée des chaînes d'ADN, qui composent tout organisme vivant.
Les AG sont utilisés dans le but de découvrir une solution,
généralement numérique, résolvant un
problème donné, et ce sans avoir de connaissance à priori
sur l'espace de recherche. Seul un critère de qualité est
nécessaire pour discriminer différentes solutions. Dans la
plupart des cas, ce critère, l'adéquation, est une mesure
objective qui permet de quantifier la capacité de l'individu à
résoudre le problème donné. Le processus de recherche
s'effectue en appliquant itérativement à une population de
solutions potentielles des opérations de variation
génétique (généralement le croisement et la
mutation), et des opérations de sélection naturelle
biaisées vers les individus les plus forts. En utilisant ce processus,
la population de solutions potentielles évolue dans le temps
jusqu'à ce
qu'un certain critère d'arrêt soit atteint. Dans
un contexte d'optimisation de fonctions à paramètres
réels, une variante importante des AG consiste à
représenter les individus directement par des vecteurs de nombres
réels.
FIGURE 2.1 - Cycle de base d'un algorithme
évolutionnaire
2.3.2 Programmation génétique
La programmation génétique est un paradigme
permettant la programmation automatique d'ordinateurs par des heuristiques
basées sur les mêmes principes dévolution que les
algorithmes génétiques : des opérations de variation
génétique et des opérations de sélection naturelle.
La différence entre la programmation génétique et les
algorithmes génétique réside essentiellement dans la
représentation des individus. En effet, la programmation
génétique consiste à faire évoluer des individus
dont la structure est similaire à des programmes informatiques. La
programmation génétique représente les individus sous
forme d'arbres, c'est-à-dire des graphes orientés et sans cycle,
dans lesquels chaque noeud est associé à une opération
élémentaire relative au domaine du problème. Plusieurs
autres représentations comme des programmes linéaires et des
graphes cycliques, ont été utilisées depuis. La
programmation génétique est particulièrement
adaptée à l'évolution de structures complexes de
dimensions variables.
2.3.3 Stratégies d'évolution
Les stratégies d'évolution représentent
les individus comme un ensemble de caractéristiques de la solution
potentielle. En général, cet ensemble prend la forme d'un vecteur
de nombres réels de dimension fixe. Les stratégies
dévolution s'appliquent à une population de parents à
partir de laquelle des individus sont sélectionnés
aléatoirement afin de générer une population de
descendants. Ceux-ci sont ensuite modifiés par des mutations qui
consistent à ajouter une valeur générée
aléatoirement selon une fonction de densité de probabilité
paramétrée. Les paramètres de la fonction de
densité de probabilité, nommés les paramètres de la
stratégie, évoluent eux aussi dans le temps selon les mêmes
principes que les paramètres caractérisant les individus. Pour
former la nouvelle population, des individus sont choisis parmi les meilleurs
individus des descendants, ou parmi les meilleurs individus des parents et
descendants. Les stratégies dévolution modernes peuvent aussi
intégrer une approche multi-échelle ou des stratégies
d'évolution sont imbriquées.
2.3.4 Programmation évolutionnaire
La programmation évolutionnaire a été
initialement conçue dans le but de faire évoluer des machines
à états finis et a été par la suite étendue
aux problèmes d'optimisation de paramètres. Cette approche met
l'emphase sur la relation entre les parents et leurs descendants plutôt
que de simuler des opérateurs génétiques d'inspiration
naturelle. Contrairement aux trois autres algorithmes évolutionnaires
classiques, la programmation évolutionnaire n'utilise pas une
représentation spécifique mais plutôt un
modèle évolutionnaire de haut niveau, jumelé
à une représentation et à un opérateur de mutation
directement appropriés au problème à résoudre.
Pour effectuer de la PE, une population de solutions
potentielles au problème est d'abord générée
aléatoirement. Chaque individu de la population produit un ensemble de
descendants résultant de mutations. Une opération de
sélection naturelle est alors appliquée afin de former une
nouvelle population. Le processus de mutation-sélection est
répété itérativement jusqu'à ce qu'une
solution acceptable soit trouvée. 1
2.4 Population et représentation des
individus
La population est la représentation de l'ensemble des
solutions possibles. Indépendamment, les individus sont des
éléments statiques qui ne peuvent pas s'adapter, c'est la
population qui forme donc l'unité d'évolution et d'adaptation.
C'est pour cette raison que la plupart des opérateurs de
sélection prennent en compte la totalité de la population. La
diversité d'une population est la mesure du nombre des
différentes solutions existantes. Il n'existe aucune façon de
mesurer la diversité d'une population, on se réfère
généralement au nombre d'aptitudes différentes, au
degré de cette différance ou au nombre d'individus
différents.[?]
A chaque itération d'un algorithmes
évolutionnaires, de nouveaux individus sont créés. A la
prochaine itération, les individus de la génération
précédente peuvent être conservés (avec de
mêmes ou de différentes chances que ceux de la
génération courante) ou tout simplement jetés. Les
algorithmes qui changent complètement de génération
(c'est-à-dire qui ne conservent que les nouveaux individus à la
prochaine itération) sont appelés algorithmes à
sélection générationnelle (Extinctive EA). Par contre,
ceux qui ne modifient qu'une partie de la population sont des algorithmes
à remplacement stationnaire ou préservatif (Préservative
EA). Dans ce cas la population de la prochaine génération est
constituée de la combinaison de la population courante et la nouvelle
génération.
Les algorithmes générationnelles à leur
tour peuvent être divisés en algorithmes à sélection
gauche ou droite. Dans le premier cas, les bons individus ne sont pas
autorisés à participer à la reproduction de la nouvelle
génération pour éviter une convergence
prématurée des individus. Contrairement, se sont les mauvais
individus qui n'ont pas le droit de participer à a reproductin pour
garantir une certaine qualité.
1. Résumé de Christian Gagné [26]
Il existe un autre type d'algorithmes évolutionnaires,
souvent appelés algorithmes élitistes(Elitist algorithms), qui
assurent qu'au moins une copie des meilleurs individus de la
génération courante sera présente dans la prochaine
génération. Les algorithmes évolutionnaires à
état stable (Steady-State EA ou SSEA) sont des algorithmes
préservatifs qi ont la particularité de produire un nombre
d'individus faible comparé au nombre d'individus qui ont
participés à leur production.
Le premier pas dans la définition d'un algorithmes
évolutionnaires est de lier le vrai monde au Monde des algorithmes
évolutionnaires. Il s'agit de définir une sorte de passerelle
entre le contexte original du problème et l'espace du problème
à résoudre où l'évolution aura lieu. Les objets qui
forment des solutions dans le contexte original sont appelés
phénotypes, et leurs représentations génotypes.
L'efficacité d'un algorithme dépend pleinement
du choix de codage. Trouver une structure de donnée et un codage
adéquat est dès lors un des objectifs les plus importants. En
organisant les données d'une certaine manière on favorise leur
traitement automatique efficace et rapide. Adopter une structure de
données appropriée pour un problème informatique peut
également contribuer à decomplexifier de manière
significative une application informatique et ainsi participer à la
diminution du taux d'erreurs.[142]
Il existe principalement trois types de représentations
dans l'ensemble des algorithmes évolutionnaires. La
représentation binaire est le cadre générale des
algorithmes génétiques classiques. Chaque individu est
représenté par un vecteur binaire où chaque
élément peut prendre la valeur 0 ou 1. Cette
représentation s'adapte bien à des problèmes où les
solutions potentielles ont une représentation binaires canoniques. Elle
s'applique aussi à des problèmes d'optimisation continus, mais il
est alors nécessaire d'adopter une technique de codage
approproiée.
Dans la représentation réelle, l'espace de
recherche est l'espace des réels ou un sous ensemble. Cette
représentation a été initialement introduite par les
stratégies d'évolution, mais son utilisation s'est rapidement
étendue aux autres types d'algorithmes évolutionnaires.
Le dernier type est celui utilisant une structure
arborescente. Ce type de codage est à la base de la programmation
génétique pour la représentation et l'évaluation
des instructions des programmes informatiques. Il a été en suite
utilisé comme une technique de codage supplémentaire dans les
algorithmes génétiques.
2.5 Evaluation et Sélection
Dans les approches classiques, l'évaluation d'un
individu ne dépend pas de celle des autres. Le résultat fourni
par la fonction d'évaluation va permettre d'accepter ou de refuser un
individu pour ne garder que les individus ayant le meilleur coût en
fonction de la population courante. Cette méthode permet de conserver
les individus performants et d'éliminer progressivement les individus
peu adaptés. C'est donc la fonction qui permet de mesurer le
degré d'aptitude d'un individu à son environnement. Dans
plusieurs applications pratiques, cette qualité est croissante avec la
qualité de solution, mais dans certains problèmes, notamment ceux
d'optimisation, cette qualité peut être décroissante.
Le fait que le processus d'évaluation soit individuel a
sûrement ses avantages : l'algorithme n'a besoin ni de conserver des
historiques ni de prendre en compte le reste de la population. Cela permet de
gagner en mémoire et d'être indépendant de la taille de la
population. Cette individualité permet en outre de profiter davantage
des possibilités de parallélisassion.
A mesure de ne sélectionner que les meilleurs
individus, ces derniers peuvent tendre à se regrouper et à se
ressembler. Dans ce cas, la population risque de se trouver dans un cas
très homogène et de ne plus évoluer. Plusieurs techniques
ont été proposées pour pouvoir échapper à ce
problème de diversification. Ces techniques, comme le scaling et la
sharing[86, 148], utilisent des principes tels que l'historique
d'évaluation pour tenter d'incorporer plus d'informations et de
refléter, par conséquent, de façon plus
générale, l'état globale de la population.
La sélection permet de filtrer la population courante,
en se basant sur la fonction d'évaluation, de telle façon
à permettre aux bons individus de survivre et de devenir des parents. Il
existe un bon nombre de méthodes de sélection dans la
littérature, nous présentons brièvement quelques unes
ci-dessous.
2.5.1 Sélection par roulette
Il s'agit de la méthode la plus courante. Les individus
parents sont sélectionnés proportionnellement à leur
performance. Meilleur est le résultat fourni par l'évaluation
d'un individu, plus grande est sa probabilité d'être
sélectionné. Le nombre de fois qu'un individu sera
sélectionné est égal à son évaluation
divisée par la moyenne de l'évaluation de la population totale.
Plus exactement, la partie entière représente le nombre de fois
qu'il sera sélectionné, et la partie flottante la
probabilité qu'il aura d'être
sélectionné à nouveau. On peut comparer
cette méthode de sélection a une roulette de casino sur laquelle
sont placés tous les individus de la population, la largeur
allouée a chacun des individus étant en relation avec leur valeur
d'évaluation. Ensuite, la bille est lancée et s'arrête sur
un individu. Les meilleurs individus peuvent ainsi être tirés
plusieurs fois et les plus mauvais ne jamais être
sélectionnés.
2.5.2 Sélection par rang
La sélection par roulette présente des
inconvénients lorsque la valeur d'évaluation des individus varie
énormément. La sélection par rang trie d'abord la
population par évaluation. Ensuite, chaque individu se voit
associé un rang en fonction de sa position. Ainsi le plus mauvais
individu aura le rang 1, le suivant 2, et ainsi de suite jusqu'au meilleur
individu qui aura le rang N, pour une population de N individus. La
sélection par rang d'un individu est identique à la
sélection par roulette, mais les proportions sont en relation avec le
rang plutôt qu'avec la valeur de l'évaluation. Avec cette
méthode de sélection, tous les individus ont une chance
d'être sélectionnés. Cependant, elle conduit à une
convergence plus lente vers la bonne solution. Ceci est du au fait que les
meilleurs individus ne diffèrent pas énormément des plus
mauvais.
2.5.3 Sélection steady-state
Le principe de base consiste à garder une grande partie
de la population à la génération suivante. A chaque
génération sont sélectionnés quelques individus,
parmi ceux qui ont les meilleures évaluations, pour créer un
ensemble d'individus enfants. Les individus ayant les évaluations les
plus faibles sont ensuite remplacés par les nouveaux. Le reste de la
population survit à la nouvelle génération.
2.5.4 Sélection par tournoi
Soit une population de m individus. On forme m paires
d'individus. Ensuite, il faut déterminer un nouveau paramètre,
à savoir la probabilité de victoire du plus fort. Cette
probabilité représente la chance que le meilleur individu de
chaque paire soit selectionné. En principe cette probabilité doit
être grande. A partir des m paires, on détermine ainsi m individus
pour la reproduction.
2.5.5 Elitisme
A la création d'une nouvelle population, il y a de
grandes chances que les meilleurs individus soient modifiés, et donc
perdus après les opérations de reproduction. Pour éviter
cela, on utilise la méthode élitiste. Elle consiste à
copier un ou plusieurs des
meilleurs individus dans la nouvelle génération.
Ensuite, on génère le reste de la population selon l'algorithme
de reproduction usuel. Cette méthode permet de ne pas perdre les
meilleures solutions.
2.5.6 Sélection de seuil
La sélection de seuil ou sélection
déterministe (truncation selection), sélectionne un nombre
d'individus inférieur à la taille de la population
supposée après sélection. Si la taille de la population
après sélection est s, alors la sélection de seuil choisi
un nombre k < s (généralement s/2 ou s/3) des meilleurs
individus et les insert autant de fois que nécessaire pour que la taille
maximale de la population soit atteinte. La sélection de seuil est
principalement utilisée dans les stratégies d'évolution de
type (u, A)-ES ou (u+ A)-ES. Récemment, lassig et
al.[?] a démontré que la sélection de
seuil est la stratégie de sélection optimale pour le croisement,
pourvu que la valeur de k soit judicieusement choisie.
2.6 Reproduction
Les algorithmes évolutionnaires utilisent les
informations recueillies dans les générations
précédentes pour créer l'ensemble des individus de la
prochaine génération. Les opérations associées sont
la création, la duplication, la mutation et la recombinaison (ou le
croisement).
2.6.1 Création et duplication
La création est la production brute d'un individu de
façon complètement aléatoire sans aucun modèle
préalable. C'est ce qui se passe lors de la génération de
la population initiale. Toutefois, le programme peut faire appel à la
création des générations qui suivent et ce afin de
préserver la diversité de la population. La duplication est
analogue à la division cellulaire. Elle est généralement
utilisée pour garantir la présence d'un nombre minimal de bons
individus en évitant leur disparition à force des mutations
successives.
2.6.2 Mutation
La mutation est un opérateur qui agit sur un seul
individu pour en produire un autre légèrement modifié.
C'est un opérateur purement aléatoire qui a pour rôle
d'éviter à l'algorithme de se retrouver dans des situations de
saturation et de préserver la
diversité de la population. Mais il peut cependant
constituer le principal, voir le seul, opérateur de reproduction.
Dans le cas du codage binaire, la mutation consiste à
inverser les bits d'un génotype avec une faible probabilité. La
mutation la plus employé dans les codages binaires est la mutation
stochastique qui inverse chaque bit indépendamment avec une certaine
probabilité relative à la taille du génotype. Un autre
type de mutation est l'inversion d'un seul bit choisi au hasard avec une
certaine probabilité.
La principale technique utilisée pour la mutation
réelle est l'ajout d'un bruit Gaussien aux différentes
composantes du vecteur. La difficulté de cette approche est l'ajustement
de l'écart-type du bruit généré. En effet, au
début de l'évolution d'une population, l'écart-type doit
être assez élevé pour générer de fortes
perturbations et ainsi explorer rapidement tout l'espace de recherche. Une fois
les pics de la fonction étudiée localisés, l'algorithme
doit être capable de déterminer avec précision les
solutions optimales.
2.6.3 Recombinaison
La recombinaison est utilisée pour créer de
nouveaux individus en combinant les éléments déjà
existant. Elle consiste à échanger un ou plusieurs fragments des
deux génotypes. Les croisements binaires les plus utilisés
opèrent sur un fragment, deux fragments ou sur tous les fragments
(croisement uniforme). Dans le cas de représentation réelle, il y
a deus manières de recombiner deux génotypes : choisir l'un des
deux individus (croisement discret ou par dominance), ou combiner
linéairement les deux (croisement intermédiaire ou
linéaire). Pour la représentation structurée comme le cas
des arbres binaires, la recombinaison se fait principalement par échange
de structures (sous arbres).
2.7 Application dans les systèmes de parole
Les algorithmes évolutionnaires ont été
appliqués avec succès dans de nombreux domaines d'optimisation
mono et multi-objectif, économie et finances, biologie, robotique,
médecine etc 2. Dans certaines applications, les algorithmes
évolutionnaires ont pu fournir des résultats qui n'ont jamais
été obtenus avec d'autres méthodes (le meilleur
résultat pour le PVC a été obtenu avec un algorithme
génétique).
2. Voir [148] pour une liste exaustive
Cependant, leur usage dans le domaine de traitement de la
parole est très restreint, notamment dans le processus de reconnaissance
proprement dit. Les résultats théoriques, à leur tour sont
pratiquement inexistants : aucun model évolutionnaire n'a
été définie pour le problème de reconnaissance. Les
algorithmes évolutionnaires sont utilisés soit comme des
méthodes d'optimisation pour d'autres modèles (comme le model
HMM), soit comme des model de traitement secondaires (comme l'adaptation au
locuteur). Et dans la plupart des cas, ce sont des algorithmes
génétiques qui sont utilisés.
Les premiers travaux ont porté sur l'adaptation des
systèmes aux variations phonétiques et à
l'amélioration de leur robustesse[11]. Des stratégies
d'évolution et des algorithmes génétiques ont
été hybridés avec des réseaux de neurones pour
augmenter la robustesse des systèmes de reconnaissance aux
variabilités dues à l'environnement. Les réseaux de
neurones font partie des réseaux adaptatifs non linéaires[115].
L'idée principale est d'utiliser un algorithmes évolutionnaires
pour se situer dans des espaces de recherche globaux et prometteurs, et
d'utiliser un réseau de neurone pour rechercher des optima locaux.
L'apport des algorithmes évolutionnaires était dans le fait que
la diversité de la population ainsi que sa taille sont les facteurs
clé pour une bonne adaptation aux environnements qui changent
rapidement.
D'autres travaux ont essayé d'adapter les
paramètres du modèle acoustique avant le début de la
reconnaissance avec un algorithme génétique[139]. Il s'agit
principalement de remédier aux problèmes relatifs aux changements
des paramètres du signal acoustique tels que la fréquence
d'échantillonnage et le débit binaire. Les paramètres du
signal à reconnaître ne sont pas nécessairement les
mêmes que ceux du signal d'apprentissage, et une adaptation devient
dès lors nécessaire. Le principe est d'associer à chaque
vecteur source une matrice de transformation, et à chaque
caractère d'un individu une probabilité de mutation. Ces
individus seront sélectionnés selon les taux de transformation
obtenu avec les vecteurs sources transformés, comparés au model
acoustique cible.
Dans les model a base de DTW, une idée consiste
à remplacer la programmation dynamique par un algorithme
génétique pour estimer les différences cumulées
entre les vecteur[155, 156]. La population est un ensemble de chemins qui
seront combinés et filtrés jusqu'à aboutir à un
chemin optimal.
Les techniques récentes de la vérification du
locuteur reposent de plus en plus sur des approches multi codeurs. Un
algorithme génétique a été mis en oeuvre pour
optimiser la complémentarité entre les codeurs.[22]
Un algorithme génétique a aussi
été utilisé en coopération avec un réseau de
neurones pour la segmentation et le regroupement du locuteur. Il s'agit
d'identifier les segments du signal produits par le même locuteur. Elle a
pour objectif de détecter les moments de changement du locuteur. Elle
est suivie d'une étape de regroupement qui consiste à
étiqueter les segments obtenus en fonction des locuteurs. Son domaine
d'intérêt est essentiellement dans l'indexation des documents
sonores.[29]
2.8 Avantages et inconvénients
Avantages
- Un large domaine d'application les algorithmes
évolutionnaires ont été utilisés avec succès
dans une large gamme de problèmes. Ceci est principalement dû au
fait de la simplicité et de l'intuitivité du processus de
l'évolution naturelle.
- Adaptés aux espaces de recherche complexes
contrairement aux algorithmes évolutionnaires, la définition des
autres méthodes heuristique à des problèmes complexes est
une tâche très difficile.
- Faciles à paralléliser le concept de
population et la faiblesse, ou voir la non existence, de dépendances
entre les individus rend la parallélisation très facile et permet
ainsi de réduire considérablement le temps d'exécution.
Inconvénients
- Complexité la simplicité de l'idée de base
des algorithmes évolutionnaires sera payée par une grande
consommation en termes de ressources.
- Difficulté d'ajustement de paramètres ceci
constitue le principal problème des algorithmes
évolutionnaires[150]. Certains algorithmes sont conçus pour
résoudre des problèmes spécifiques et leur adaptation sera
très difficile. Les autres algorithmes plus généraux
nécessitent un grand nombre de paramètre à ajuster. Par
ailleurs, les algorithmes évolutionnaires sont très sensible
à la fonction d'évaluation et un seul changement dans le
problème peut mener à un comportement tout à fait
différent.
- Nature heuristique la nature heuristique des algorithmes
évolutionnaires implique, par définition, qu'ils constituent des
méthodes d'approximation qui ne donnent aucune garantie d'exactitude ou
d'optimalité. En outre, il n'existe aucune façon de
prédire leurs temps d'exécution.
2.9 Conclusion
Nous avons présenté dans ce chapitre une vue
d'ensemble des algorithmes évolutionnaires, et de leur modeste
implication dans les systèmes de reconnaissance automatique de la
parole. Nous avons essayé dans un premier lieu de caractériser
les principes d'évolution naturelle desquels les algorithmes
évolutionnaire ont inspirés. Et après une
présentation de leur fonctionnement de base, nous avons
détaillé chacun de leurs composants principaux, en listant
éventuellement quelques exemples de fonctionnement.
Dans un deuxième lieu, nous avons
récapitulé, dans la mesure de possible, les travaux sur les
systèmes de parole dans lesquels les algorithmes évolutionnaires
ont contribué à l'amélioration de leur fonctionnement.
Nous avons vu que ces contributions étaient très restreintes, et
que dans la plupart du temps, elles étaient limitées à des
améliorations secondaires et n'utilisaient pour cela que des algorithmes
génétiques.
Plusieurs techniques et résultats concernant le
fonctionnement des différents éléments des algorithmes
évolutionnaires n'ont pas été décrits. Ceci est du
au fait que les plus grands apports des algorithmes évolutionnaires ont
concerné des problèmes d'optimisation et notamment des
problèmes d'optimisation multi-objective. Par conséquent, une
grande partie des travaux et résultats théoriques ont
été réalisés suivant cette optique, et ne peuvent
généralement apporter aucun intérêt aux
systèmes de reconnaissance.
Nous présentons ici une étude
détaillée de deux familles d'algorithmes évolutionnaires :
les stratégies d'évolution et la programmation
génétiques. Le choix des deux méthodes a été
dans l'objectif de réaliser une étude aussi
générale que possible des algorithmes évolutionnaires. Les
deux méthodes étant très différentes dans leurs
objectifs de base, dans la façon de représenter les individus et
dans leurs opérateurs de variation. Cela permet en outre de
déceler les avantages et les inconvénients de chacune. Nous
traiterons plus en détail de toutes ces différences et autres
dans le prochain chapitre.
3.1 Stratégies d'évolution
Les stratégies d'évolution (SE) sont
historiquement le premier type d'AE à avoir été
utilisé. Elles ont été introduites par Rechenberg en 1965
comme des heuristiques d'optimisation basée sur le principe d'adaptation
et d'évolution. Les SE utilisent usuellement des vecteurs de nombres
réels pour représenter l'espace des solutions. La mutation et la
sélection représentent les opérateurs fondamentaux de
reproduction et la recombinaison est moins commune. Le schéma
d'exécution générale des SE est semblable au
fonctionnement de base d'un AE.
3.1.1 Populations dans les SE
Les SE les plus simples sont les (1 + 1)-ES. Dans ce type de
population on reproduit un seul enfant à partir d'un seul parent et on
garde le meilleur entre eux. Les (p. + 1)- ES utilisent u parents pour produire
un seul fils. Lorsque les p. parents produisent plusieurs fils (A fils), on
parle des (p. + A)-ES. Généralement A est supérieur
à p.. Après
sélection, seulement les u meilleurs individus parmi
l'ensemble des parents et des fils seront conservés. Il est possible que
les u individus soient choisis uniquement parmi les fils (les parents seront
supprimés dans tous les cas), on parle alors des (u, A)-ES.
Dans les (u/p + A)-ES, un nouveau paramètre p est
introduit désignant le nombre de parents qui participeront à la
reproduction d'un seul individu. Dans le cas précédant, ce
paramètre valait implicitement 1. De façon analogue, les (u/p +
A)-ES sont des (u/p, A)-ES où les parents et les fils ont tous une
chance de survivre dans la prochaine génération. Un dernier type
est (u', A'(u, A)ã)-ES. Ce sont des SE emboitées
où A' fils sont crées et isolés pour y
générations d'une population de taille u'. Dans chaque des
ygénération, A fils sont créés, desquels u des
meilleurs individus passeront à la prochaine génération.
Après y générations, les meilleurs individus de chacune
des y précédentes générations seront
sélectionnés. Le processus recommence avec A' nouveaux
individus.
3.1.2 Evolution différentielle
L'évolution différentielle est une
méthode pour l'optimisation mathématique des fonctions
multidimensionnelles. Elle est très utile lorsque les paramètres
ne peuvent pas être codés comme des vecteurs réels.
L'idée principale derrière l'évolution
différentielle est l'utilisation d'un opérateur de recombinaison
ternaire pour la création de nouvelles générations. Le
nouvel individu est créé en ajoutant la différence entre
deux individu à un troisième individu. Cette méthode a
beaucoup évoluée depuis le model de base et plusieurs
amélioration lui ont été proposées.
3.1.3 Sélection
Le but de l'opérateur de sélection est de guider
la recherche vers des régions prometteuses. Contrairement aux autres
opérateurs de variation (mutation et recombinaison), la sélection
donne une direction à la recherche. Selon le type de population,
l'ancienne génération peut entrer comme candidate à la
sélection ou être éliminée dès le
départ. La préservation de la génération
précédente est recommandée lorsque l'espace de recherche
est non borné [?]. Dans le cas où l'espace est
borné et discret, et dans les problèmes d'optimisation notamment,
la sélection sans préservation est généralement
utilisée. Dans les deux cas, les SE utilisent la méthode
sélection de seuil.
3.1.4 Mutation
Usuellement, la mutation est l'opérateur de
sélection de base dans les SE. La structure de cet opérateur
dépend du problème à résoudre. Bien qu'il n'existe
aucune mé-
thodologie pour le définir, certaine règles ont
été posées en se basant sur une analyse des
implémentations réussies des SE et sur certaines
considérations théoriques. Etant donnée une
génération de départ, la première exigence est que
tout autre état doit pouvoir être atteint après un nombre
fini de mutation. La sélection exploite l'information de la fonction
d'évaluation pour guider la recherche vers des espaces prometteurs,
alors que la mutation explore cet espace de recherche. La mutation ne doit pas
utiliser toute l'information de valuation mais seulement celle de la population
parentale (initiale). La dernière règle exige que la langueur
moyenne du pas de la mutation doive s'adapter à l'environnement global
d'aptitude dans le but d'assurer l'évolution du système.
C'est-à-dire que les variations doivent être produites de telle
façon à ce qu'il y ait une possibilité
d'amélioration.
Il reste à noter que, bien que ces règles
donnent des grandes lignes pour orienter la définition des
opérateurs de mutation, leur importance peut varier d'un problème
à un autre. Comme les populations dans les SE sont souvent des vecteurs
de réels, la mutation consiste à ajouter un bruit gaussien en
évoluant au même temps son écart type.
3.1.5 Recombinaison
Au moment où la mutation agit sur un seul individu, la
recombinaison partage l'information de plusieurs parents. Contrairement aux
algorithmes génétiques où le croisement entre deux parents
produit deux fils, l'opérateur de recombinaison standard dans les SE en
produit un seul. Selon le type de la population, l'algorithme peut produire
plus d'un individu par recombinaison.
Comme il a été noté au chapitre
précédant, il existe deux types de recombinaison dans le cas des
représentations réelles : le croisement direct et la
recombinaison intermédiaire. Le croisement direct utilise un choix
aléatoire en deux phases. Dans la première phase, un sous
ensemble de la population, dont le cardinal est égal à la
dimension des vecteurs, est choisi aléatoirement. Dans la seconde phase,
et de façon aléatoire aussi, chaque vecteur i va contribuer d'un
élément d'ordre i pour former la ième composante du
fils.
Contrairement, la recombinaison intermédiaire utilise
l'information contenue dans l'ensemble de tous les parents pour la
création du fils. Cela se fait en calculant la moyenne des composantes
du rang i de tous les parents pour former la ième composante
du fils. Comme cette technique a été conçue pour des
espaces de vecteurs réels,
son utilisation dans des espaces discrets doit inclure des
procédures d'arrondissement probabilistes supplémentaires.
FIGURE 3.1 - Schéma d'un croisement direct
3.1.6 Auto adaptation
Après un certain nombre de générations,
la stratégie devient très lente et son taux d'évolution
devient très faible. Tout se déroule autour du paramètre
de mutation p. p étant l'écart type de la loi selon laquelle ce
paramètre évolue au cours des générations (le plus
souvent c'est la loi gaussienne). En choisissant une valeur de p trop petite,
on obtient une évolution très rapide, mais au pris d'une
efficacité très faible. Dans le cas contraire,
c'est-à-dire avec un p très grand, la mutation éloigne
largement la recherche de la région à laquelle appartient
l'optimum. Entre les deux extrémités il y a un intervalle de
valeurs pour lesquels on obtient une performance presque optimale. Cet
intervalle est appelé fenêtre d'évolution.
Une des méthodes les plus connues pour la
régulation du paramètre p, dans le cas des (1 + 1)-SE, est la
1/5th rule. Elle consiste à maintenir une valeur de p constante durant
un certain nombre de générations et estimer le taux de
réussite des mutations avec une telle valeur. Si le taux de
réussite est supérieur à 20%, on diminue la valeur de p,
dans le cas contraire, on l'augmente.
Le problème dans la 1/5th rule est qu'elle ne peut
être appliquée que pour les (1 + 1)-SE qui ne dépende que
d'un seul paramètre (p). L'auto adaptation est une technique plus
générale. L'idée de base est de lier l'évolution
des paramètres de la stratégie à
l'évolution des individus. A mesure qu'on effectue des
mutations et des recombinaisons, les individus évoluent et tendent vers
la solution optimale. En incluant les paramètres de la stratégie
dans ces évolutions, on espère qu'ils évoluent eux aussi
de façon positive et qu'ils tendent vers les paramètres
optimaux.
3.1.7 Mise en oeuvre dans les systèmes de parole
La reconnaissance dans les modèles Markoviens est
basée sur le graphe de décodage. Comme une exploration
complète serait irréalisable, plusieurs heuristiques
réduisant l'espace de recherche ont été utilisée
(généralement A*). Il est clair que les méthodes
évolutionnaires sont plus avantageuses lorsqu'il s'agit de
considérer de façon entière l'espace de recherche
(recherche globale).
Les algorithmes évolutionnaires ont déjà
été utilisés pour résoudre des problèmes se
présentant sous forme de graphes (problème du voyageur de
commerce). Le graphe sera codé sur une matrice carrée. Les lignes
et les colonnes représentent toutes les deux l'ensemble des mots
générés auparavant et les éléments de la
matrice représenteront les probabilités de transition. La
population est donc un ensemble de chemins dans ce graphe. Les chemins, et donc
les groupes de mots, qui seront conservés lors de la phase de
sélection sont ceux qui ont une plus grande probabilité de
corresponde à l'ensemble des mots à identifier.
Ce principe peut être appliqué de façon
similaire au problème de recalage temporel par DTW. Chaque couple
d'ensembles de vecteurs source-test sera codé sur une matrice dont les
éléments représentent les distances locales entre chaque
couple de vecteurs. L'algorithme génère un ensemble
aléatoire de chemins et le fait évoluer dans le but de parvenir
au chemin optimal entre les débuts et les fins des deux ensembles.
Pour les modèles de classification, la pluparts des
travaux pour leurs intégrer les algorithmes évolutionnaires ont
concerné le cas non supervisé, dans lequel l'algorithme doit
lui-même définir les classes. Toutefois, la classification
phonétique est sans doute une classification supervisée. En
effet, chaque unité phonétique correspond à une classe
dont les paramètres sont déterminés à la phase
d'apprentissage.
Chaque individu correspondra à une classification. Une
façon simple pour coder les classifications est de considérer le
continuum vocal entier comme un vecteur dont les éléments sont
les segments correspondants aux unités phonétiques. L'ensemble
des vecteurs acoustiques représentant ces unités sera donc
considéré comme une composante élémentaire. De
cette façon, chaque élément i d'un individu dans la
population
va correspondre à la composante i du continuum vocal,
et sa valeur à la classe phonétique à laquelle il
appartient. A chaque itération, la fonction fitness évalue le
degré de correspondance de l'ensemble de la classification au continuum
vocal en se basant sur la qualité de classification individuelle de
chaque unité phonétique. Avec cette évolution,
l'algorithme évitera de procéder à une
énumération complète des classifications possibles.
3.2 Programmation génétique
Le terme programmation génétique peut avoir deux
différentes significations. En premier, il peut être
utilisé pour regrouper tous les algorithmes évolutionnaires dont
la population est sous forme d'une structure de données arborescente.
Dans le deuxième cas, il est utilisé pour désigner tous
les algorithmes évolutionnaires qui font évoluer des programmes,
c'est-à-dire des algorithmes évolutionnaires dont la population
est constituée de programmes informatiques.
La programmation génétique a été,
à la base, conçue pour faire évoluer, de façon
automatique, des programmes informatiques. En programmation
génétique, certaines données en entrée et leurs
résultats correspondants en sortie sont déjà connus.
L'objectif est de trouver le meilleur algorithme, au sens de la performance,
qui, étant donné un ensemble de situations de départ,
fourni les résultats appropriés.
Compte tenu de l'apport de l'arborescence de la population
qu'elle manipule, l'utilisation de la programmation génétique
s'est vite propagée vers d'autres domaines tels que l'optimisation,
l'Ingegneri électrique, le data mining, la médecine, la
robotique, etc.
3.2.1 Population
La programmation génétique fait évoluer
une population constituée d'un ensemble d'arbres. La
génération de la population initiale est une étape
décisive et compliquée. L'espace de recherche étant
infini, il est très difficile de répartir plus ou moins
équitablement la population initiale sur l'espace de recherche de telle
sorte que cet espace soit au maximum parcouru. Pour générer cette
population initiale, la première chose à faire est de limiter la
profondeur de l'arbre, limitant ainsi l'espace de recherche et assurant une
convergence de l'algorithme.
Nous devrions donc disposer d'un ensemble initial d'arbre dont
la profondeur ne dépasse pas une certaine valeur maximal d. il existe
trois façon pour créer cette population. La méthode
full crée des arbres dont la profondeur a exactement la valeur
d.
la méthode grow, elle aussi, crée des
arbres dont la longueur ne dépasse pas d, mais qui peut être
inférieur. Un choix aléatoire décide si un noeud qui vient
d'être ajouter à l'arbre sera considéré comme une
feuille ou pas. La méthode ramped half-and-half, quant à
elle, est une méthode mixte. Pour chaque arbre à créer, un
nombre r est aléatoirement choisi entre 2 et d. En suite, l'arbre sera
créé soit avec la méthode full, soit avec la
méthode half avec r comme profondeur maximale. Cette méthode est
plus préférée comme elle produit des arbres de profondeurs
différentes et assure ainsi une plus grande diversité.
FIGURE 3.2 - Exemples de création par la méthode
Full
FIGURE 3.3 - Exemples de création par la méthode
Grow
3.2.2 Evaluation et sélection
Comme tout algorithme évolutionnaire, lorsqu'une
solution est générée, sa qualité d'adaptation est
évaluée. La façon de ce faire est très
dépendante du problème à traiter par l'algorithme. Ainsi,
pour un problème de classification, plus le nombre d'exemple bien
classés par le programme généré est
élevé, plus sa qualité sera grande. Pour un
problème de regression, un écart entre les valeurs
générées par le programme et les valeurs exemples est
calculé; et plus cet écart est élevé, mois la
qualité du programme sera bonne. Ainsi ces valeurs sont incomparables
entre elle.
Il existe trois représentations possibles de la valeur
d'évaluation pour remédier au problème
d'incompatibilité. La Représentation standardisées
considère que la meilleure
valeur possible est 0 et que toutes les valeurs sont
positives. La représentation normalisée est similaire à la
représentation précédente, mais les valeurs sont ici
comprises entre 0 et 1. En fin, la représentation ajustée est
similaire à la représentation normalisée, où le
meilleur score possible est 1.
La programmation génétique utilise souvent la
sélection par tournoi. Avec cette méthode, un ensemble
d'individus est sélectionné au hasard pour participer à un
tournoi de la meilleure aptitude. Normalement, la sélection passe sans
remplacement, c'est-àdire que tous les individus du tournoi doivent
être différents. En programmation génétique, deux
tournois se déroulent en parallèle pour produire les deux parents
d'un croisement. Avant que les vainqueurs subissent la variation, une copie de
chacun d'eux est conservée pour remplacer le plus mauvais perdant du
tournoi. L'avantage des tournois est qu'ils peuvent être lancés
indépendamment les uns des autres, et n'exigent pas d'informations
globales sur la population.
3.2.3 Reproduction
Mutation
Les individus peuvent subir de petites variations durant le
processus de reproduction de l'algorithme évolutionnaire. Une telle
mutation est habituellement définie comme la sélection
aléatoire d'un noeud, la suppression de ce noeud ainsi que ses
descendants, et finalement leur remplacement par un autre noeud. De cette
idée, trois opérateurs peuvent être dérivés :
le remplacement aléatoire de certains noeuds, l'insertion de nouveaux
noeuds et la suppression de certains noeuds.
Recombinaison
L'opérateur de recombinaison par défaut est
l'échange de sous-arbres. Un sousarbre est aléatoirement
sélectionné de chacun des deux parents, il est en suite
enlevé et transféré à l'autre partenaire. Si des
restrictions sont imposées sur la profondeur maxi-male de l'arbre, les
opérateurs de recombinaison doivent les respecter et ne pas les
dépasser. La recombinaison part de l'idée que les
caractéristiques des bons individus vont se propager dans la population,
et en s'intégrant dans de d'autres bons individus, ils
amélioreront leurs qualité. Cependant, la recombinaison peut
avoir des effets désastreux quant à leurs aptitudes.
Permutation
La permutation est un opérateur de reproduction unaire. Un
noeud est sélectionné au hasard et déplacé de
façon aléatoire dans l'arbre (généralement en
gardant le même
FIGURE 3.4 - Différentes possibilités de
Mutation FIGURE 3.5 - Recombinaison par échange de sous-arbres
FIGURE 3.6 - Permutation
parent), pour produire l'arbre fils. Le but principal est de
réarranger les noeuds des bons individus pour les rendre moins fragiles
à d'autres opérateurs tels que la recombinaison.
Encapsulation
L'idée de l'encapsulation est de rechercher des
sous-arbres potentiellement utiles et de les agréger en un seul noeud.
Cela permettra d'assurer leur regroupement et d'empêcher d'autres
opérateurs de reproduction de les séparer. L'encapsulation permet
en outre de faire propager le sous-arbre potentiel de façon
entière dans le reste de la population.
FIGURE 3.7 - Encapsulation
Emballage
L'emballage consiste à sélectionner au
début un noeud it de façon aléatoire dont au moins un fils
est libre, et de créer par la suite un autre noeud iii, en dehors de
l'arbre. On déplace maintenant le noeud it (et éventuellement
tous ses descendants) dans cet espace vide. En fin, on insert le noeud iii dans
la position qu'occupait le noeud it précédemment. Le but de cette
méthode est d'autoriser des modifications des noeuds qui ont une grande
probabilité d'être utiles.
FIGURE 3.8 - Permutation
Lifting
Le lifting est l'opérateur inverse de l'emballage. Il
consiste à faire monter un noeud dans l'arbre. On commence par la
sélection arbitraire d'un noeud de l'arbre. Ce noeud
va remplacer son parent qui sera supprimé avec tous ses
fils.
FIGURE 3.9 - Permutation
Sélection des noeuds
Dans la plupart des opérations de reproduction, aussi
bien dans la mutation que dans la recombinaison, certains noeuds dans l'arbre
doivent être choisis. Une bonne façon pour ce faire est
d'attribuer une probabilité de sélection équivalente
à tous les noeuds comme est le cas de la méthode de
sélection uniforme. Par conséquent, le poids de chaque noeud sera
défini comme le nombre des sous-arbres dont il est la racine (le nombre
de ses descendants). De cette façon, la probabilité qu'un noeud
soit choisi est l'inverse de son poids.
3.2.4 Programmation génétique
linéaire
La programmation génétique linéaire (ou
GPL pou Linear Genetic Programming) a été créée,
comme son origine, pour le développement automatique des programmes.
Comme la structure d'arbre n'est pas la seule façon de
représenter un programme, et comme tous les problèmes ne peuvent
pas être modélisés sous forme d'arbres, l'idée de la
programmation génétique linéaire est de représenter
les individus sous forme de séquences linéaires de vecteurs
réels. La différence entre cette représentation et celle
des stratégies d'évolution et certaines version d'algorithmes
génétiques, est que les individus ne sont pas des vecteurs de
réels, mais plutôt des séries de vecteurs de réels,
c'est-à-dire des vecteurs de vecteurs.
L'avantage de la programmation génétique
linéaire est que grâce à la structure linéaire de
ses individus, son champ d'application peut s'étendre à plusieurs
autres problèmes pour lesquels, une modélisation arborescente est
impossible ou inadéquate, et ce, en profitant de au même temps de
la richesse de la programmation génétique en opérateurs de
reproduction. Cependant, l'application de certains opérateurs devient
inefficace ou voir impossible, vu que leur puissance réside
essentiellement dans le fait
qu'ils sont dédiés à être
appliqués sur des arbres. Pour l'évolution des programmes
informatiques, le problème devient beaucoup plus compliqué. En
effet, le contrôle de flux du programme ne sera plus implicite comme est
le cas des arbres, mais il sera assuré par un mécanisme de sauts.
L'ajout ou la suppression d'un ou de plusieurs éléments modifiera
complètement la sémantique du programme.
Pour ces raisons, un nouvel opérateur été
défini. En biologie, Des protéines homologues sont des
protéines dont les gènes qui les codent ont une origine commune.
On reconnaît deux protéines homologues car elles ont des
structures spatiales proches et des séquences en acides aminés
qui présentent des similarités. Les fonctions de ces
protéines peuvent être plus ou moins semblables. En programmation
génétique linéaire avec le croisement habituel, il est
difficile à l'évolution d'établir une structure claire
entre les positions spatiales et les fonctionnalités. Le croisement
collant ressemble à l'homologie en n'autorisant l'échange que des
éléments se situant dans les mêmes positions spatiales. Il
choisit en premier une séquence d'éléments puis
l'échange avec la séquence qui se trouve à exactement la
même position dans le deuxième parent.
3.2.5 Approches basées sur les graphes
Plutôt que d'utiliser des structures arborescentes ou
linéaires, ces approches utilisent une structure de graphes. Il est
clair que la structure de graphe est plus générale, dans la
mesure où toutes les structures précédentes peuvent
être modélisées sous forme de graphes. En outre, la
représentation matricielle que permettent les graphes peut
s'avérer quelques fois très avantageuse. L'utilisation des
graphes prend tout son intérêt lorsqu'il s'agit d'optimisation. En
effet, la plupart des problèmes d'optimisation ont été
modélisés sous forme de graphes. L'avantage de cette approche est
que tous les opérateurs de reproduction en programmation
génétique sont toujours valables. Il reste seulement à
considérer ou pas les arcs perdus lors des transformations.
3.2.6 Mise en oeuvre dans les systèmes de parole
Pour appliquer la programmation génétique aux
modèles markoviens, deux solutions sont envisageables. La
première consiste à transformer le graphe de décodage en
un arbre de décodage. Par conséquent, le modèle ne
contiendra plus de cycle, et les sommets aux bouts des arcs supprimés
seront dupliqueés pour préserver les liens. Une fois l'arbre
conçu, ont construit à partir de lui, et de façon
aléatoire, un ensemble initial de sous-arbres représentant chacun
un chemin. Cet ensemble initial sera soumis aux opérateurs de variation
et de sélection jusqu'à aboutir à un chemin satisfaisant
au sens de l'optimalité.
La deuxième solution est d'utiliser le modèle
linéaire de la programmation génétique. Comme a
été le cas dans les stratégies d'évolution, on
considère la représentation matricielle du graphe de
décodage, et chaque vecteur va donc représenter un chemin.
Cependant, les opérateurs de variation de la programmation
génétique classique ne conviennent pas tous au modèle
linéaire et leur efficacité ne peut être garantie. Il est
donc préférable de conserver la première solution.
Il en sera de même pour les modèles de
classification et les modèles à comparaison dynamique, puisqu'une
représentation arborescente n'aura aucun intérêt.
Toutefois, la programmation génétique peut servir à
améliorer la qualité des classifiers, notamment si l'on utilise
des arbres de décision. La programmation génétique peut
contribuer à améliorer la classification. On commence par un
ensemble aléatoire d'arbre de décision, qu'on fait évoluer
au fur et à mesure des générations. L'évaluation
peut considérer soit la qualité de représentation des
unités phonétique par les règles de décision, soit
le degré de correspondance des unités à leur classes.
Cette idée peut être généralisée de la
même façon aux traitement liguistiques basés sur des arbres
de décision.
3.3 Conclusion
Nous avons effectué dans ce chapitre une étude
approfondie des les stratégies d'évolution et de la programmation
génétique. Nous avons traité des différentes
populations, des stratégies de sélection et des différents
opérateurs de variation ainsi que leurs caractéristiques.
Certains aspects relatifs aux différents composants ont aussi
été présentés. Par la suite, nous avons
proposé, pour chacune des deux méthodes, une mise en oeuvre dans
les différents modèles de reconnaissance évoqués au
premier chapitre.
Le dernier chapitre sera consacré à une analyse
comparative, dans laquelle nous discuterons des similarités et
différences, des avantages et inconvénients et des puissances et
faiblesses des deux approches.
Au chapitre précédent, nous avons eu une vue
assez large des stratégies d'évolution et de la programmation
génétique. Nous établissons ici une analyse comparative
quant à leurs éléments essentiels, leurs objectifs et
leurs efficacités dans les systèmes de parole. L'analyse sera
focalisée sur les éléments suivants l'objectif de
conception original, la spécificité, le compromis entre
l'exploitation et l'exploration, la représentation des individus et les
opérateurs de variation.
4.1 Objectifs
Contrairement à toutes les autres approches
évolutives qui se sont présentées comme des techniques
d'intelligence artificielle, les stratégies d'évolution ont
été conçues dès le départ pour
résoudre des problèmes d'optimisation. La structure des individus
en tant que vecteurs de réels, facilite le codage des solutions,
simplifie leur adaptation et élargie le domaine de couverture. Ainsi,
leur principe de développement n'est-il pas adapté à des
problèmes reposant sur l'intelligence artificielle tels que
l'apprentissage automatique. Les problèmes qui manipulent des
données variables ont souvent besoin d'un mécanisme d'adaptation
qui est assuré par une fonction d'apprentissage. Les stratégies
d'évolution ont été conçues pour travailler sur des
données exactes et ne peuvent assurer un travail d'apprentissage,
à moins qu'elles soient utilisées de façon secondaire
comme outils d'amélioration dans d'autres approches adaptatives telles
que les réseaux de neurones.
La programmation génétique dans sa version de
base, a suivi un nouveau paradigme de résolution. Au lieu de faire
évoluer des populations de solutions, elle fait évoluer des
programmes qui mènent à ces solutions, en se basant sur des
résultats déjà obtenus avec des réalisations
manuelles. La programmation génétique a donc été
développée dans cette optique conception automatique de
programmes. Contrairement aux stra-
tégies d'évolution, la programmation
génétique est très bien adaptée aux
problèmes ayant besoin d'une phase d'apprentissage. Au cours des
générations, le programme apprend à concevoir le chemin
par lequel les données en entrée parviennent aux données,
qui auraient déjà été calculées, en
sortie.
Pour ce faire, la programmation génétique doit
adopter un modèle de population qui conviendra le mieux à la
nature de ses individus : une structure arborescente. Il est naturel que ce
modèle ne pourra pas représenter tous les problèmes, et
c'est ici que se situe un des défauts majeurs de la programmation
génétique. En effet, l'élaboration d'un modèle
arborescent à un problème dont la nature ne l'est pas n'est pas
toujours une tâche facile, et ce n'est pas toujours possible.
On constate clairement que les objectifs de base de
développement de chacune des deux méthodes ont une influence
capitale sur leurs orientations structurelles, et par conséquent, sur la
nature des problèmes auxquels elles peuvent s'adapter, et aussi au
degré de facilité de cette adaptation.
Tous les systèmes de reconnaissance débutent par
une phase d'apprentissage, en utilisant généralement des
méthodes statistiques ou des réseaux de neurones, mais aussi des
arbres de décision. Si le modèle utilisé en apprentissage
est le même que celui utilisé en reconnaissance, comme est le cas
des modèles markoviens, il convient d'utiliser la programmation
génétique pour améliorer l'apprentissage, et donc pour
pouvoir mieux généraliser les connaissances acquises lors de
cette phase. Dans le cas contraire, c'est-à-dire si les modèles
ne sont pas les mêmes, la programmation génétique n'aura
plus aucune utilité. La phase de reconnaissance doit, dans ce cas, faire
appel à des méthodes d'approximation à chaque fois que
deux couples d'unités doivent être comparées. A cette
étape, Les stratégies d'évolution peuvent être
utilisées soit pour améliorer la précision des
comparaisons, soit pour réduire leurs nombre.
4.2 Spécificité
Tous les algorithmes évolutionnaires sont des
méthodes générales, c'est-à-dire qu'elles n'ont pas
besoin d'avoir, a priori, des connaissances sur le problème. Cette
faculté de généralisation n'est pas toujours avantageuse.
En effet, toute la puissance des méthodes spécifiques
réside dans le fait qu'elles utilisent des connaissances propres au
problème.
Selon certains, des mécanismes généraux
suffisamment puissant ont eux même la faculté de mener
efficacement la recherche sans disposer d'information spécifiques du
problème (contexte de boite noire). C'est notamment le
point de vue classique sur les algorithmes génétiques.
Malheureusement, de même qu'il ne peut pas exister de stratégie
avantageuse dans un jeu de hasard, il existe également des limitations
théoriques fondamentales qui ruinent les espoirs d'une méthode
aveugle dans le cas le plus général[91]. En fait, le
théorème "No Free Lunch" montre que pour les problèmes de
type boite noire, toutes les méthodes sont équivalentes et font
aussi bien, ou plutôt aussi mal, que l'énumération
aléatoire. Autrement dit, il n'existe pas de méthode surpassant
les autres sur tous les problèmes.
Selon un point de vue opposé, la puissance d'une
méthode générale est d'abord liée à son
aptitude à intégrer des connaissances spécifiques du
problème. La connaissance du problème la plus fondamentale
réside dans le codage du problème et dans le choix de la
population. L'importance du codage est cruciale. En effet, dans plusieurs
problèmes de référence (comme le problème du
voyageur de commerce) où différents codages ont été
proposés, les résultats étaient très variés.
Quoiqu'il n'existe pas de codage universellement efficace, un bon codage doit
permettre de restreindre l'espace de recherche et d'intégrer un maximum
de connaissances du problème.[91]
Une autre voix pour incorporer des connaissances
supplémentaires, afin de tenter d'améliorer l'efficacité,
est de les intégrer dans les opérateurs. Plus les
opérateurs d'une méthode utilisent des connaissances
spécifiques, plus cette méthode dispose de moyens potentiels pour
conduire efficacement la recherche. En contrepartie, l'intégration de
ces connaissances spécifiques (en supposant qu'elles soient
disponibles), nécessite un effort pour spécialiser ou adapter la
méthode. En général, une méthode offrant des
possibilités d'intégrer des connaissances du problème a
plus de chance de produire de bons résultats, mais demande un effort
d'adaptation ou de spécialisation. Au contraire une méthode
très générale qui prétend n'intégrer aucune
connaissance propre ne peut pas être compétitive.[148]
La capacité de spécialisation que peut offrir
une méthode d'adaptation doit se manifester comme une technique
d'adaptation, et non pas comme une configuration prévue dès le
départ pour un type de problème particulier. En effet, plus la
méthode est spécifique, plus son champ d'application se
restreint. Ces deux mesures sont plutôt contradictoires. Si la
méthode est conçue pour un type particulier de problèmes,
sa conception réalisée en conséquence et son
efficacité seront meilleures qu'une méthode plus
générale. Seulement, même si l'on peut appliquer la
méthode à d'autres problèmes qui ne faisaient pas l'objet
de sa conception au départ, les résultats ne seront pas aussi
bons que ceux ayant été obtenus pour des problèmes de sa
spécialité.
Les stratégies d'évolution ont adoptés un
modèle très général. Avec la représentation
réelle des individus, elles peuvent traiter n'importe quel
problème d'optimisation. On ne peut pas dire que le fait qu'elles soient
conçues pour des problèmes d'optimisation est un signe de
spécification, car le domaine d'optimisation est loin d'être une
limitation, sans compter le fait que pratiquement tous les domaines s'y
réfèrent. Il se peut cependant que la représentation
réelle soit un obstacle lors de la résolution de certains
problèmes dont la nature est aussi simple pour que des nombres
réels soient nécessaires.
Une des façons les plus importantes pour l'adaptation
dans les stratégies d'évolution est la fonction
d'auto-adaptation. En fait, nous verrons par la suite que l'apport de cette
fonction ne se résume pas à cette adaptation. En évoluant
les paramètres de variation, la stratégie permet de suivre en
permanence l'évolution de la population et d'adapter la variation en
conséquence; et comme cette population est sensée aller de mieux
en mieux, la qualité des connaissances incorporées devrait
être de plus en plus bonne. Par ailleurs le fait que l'adaptation ne soit
pas constante est un facteur très important. En effet, Dans la plupart
des méthodes, l'utilisation des informations spécifiques se fait
dans une phase d'initialisation en adaptant la représentation de la
population et les fragments de croisement au problème
considéré, et ces paramètres restent constants durant
toute le période d'exécution. Par contre, dans l'auto-adaptation,
ces paramètres évoluent avec l'évolution des individus. Il
se peut que les connaissances incorporées au lancement de l'algorithme
ne soient plus valides après un certains nombre de
génération.
En ce qui concerne la programmation génétique,
il est un peut plus difficile de juger de sa spécificité. Il faut
prendre en considération la différence de ses définitions,
et aussi le niveau de spécification considérée. Si l'on
tient au premier sens, la programmation génétique ne sera rien
qu'une stratégie d'évolution avec une structure de population
arborescente, avec, bien entendu, un ensemble d'opérateur
différent, mais ceci n'a pas d'influence. Le seul effet que peut avoir
cette structure est qu'elle limite le champ d'application aux problèmes
pouvant être modélisés sous forme d'arbres, et même
pour ceux-ci, un travail d'adaptation important peut devenir dans certains cas
nécessaire.
Si l'on considère maintenant la deuxième
définition, on peut voir les choses de deux angles différents.
D'un premier angle, la programmation génétique peut être
vue comme une méthode très spécifique, étant
donné qu'elle ne peut optimiser que des programmes informatiques.
Plusieurs opérateurs de variation relatifs à la programmation
génétique n'ont un intérêt que si la population
considérée est un ensemble de programmes. Dans le cas de
l'encapsulation par exemple, si le groupe de noeuds ne correspond pas à
une
fonction informatique (dans son sens le plus large),
l'opérateur n'aura pas d'intérêt car seules les fonctions
peuvent donner un sens à ce regroupement. Dans les autres cas,
l'encapsulation ne fera que pénaliser la diversité de la
population.
D'un deuxième angle, le fait d'optimiser un programme
qui résoud un problème, est plus général
qu'optimiser la solution du problème lui-même. Cette idée a
un intérêt remarquable de son caractère
généraliste. Si un programme donné est optimal, la
résolution du problème associé n'aura plus besoin
d'optimisation. Il suffit juste d'avoir un bon programme pour ne se soucier
plus de la qualité de la solution.
Comme il n'existe aucun modèle évolutionnaire
directe pour la reconnaissance, on a toujours recours à des
modèles d'optimisation pour l'estimation des ressemblances. Ces
modèles étant toujours précédés d'une phase
d'apprentissage. Le meilleur compromis est d'utiliser une structure
arborescente pour améliorer l'apprentissage, et de laisser les
stratégies d'évolution s'occuper de la reconnaissance. Notons en
fin qu'une fois que l'opération d'apprentissage a bien été
effectuée, et qu'une bonne paramétrisation a été
estimée, l'optimisation des correspondances phonétiques ne sera
qu'un apport supplémentaire.
4.3 Exploitation et exploration
Les notions d'exploitation et d'exploration se sont apparues
avec l'arrivée des algorithmes génétiques. L'exploitation
(ou intensification) insiste sur la capacité d'examiner en profondeur
des zones de recherche particulières, ou plus exactement utiliser des
individus pertinents pour en produire d'autres, c'est-à-dire les
exploiter. L'exploration, par contre, met en avant la capacité de
découvrir des zones de recherche prometteuses (diversification). Il est
donc très important d'examiner les algorithmes évolutionnaires en
fonction de ces deux notions.
Bien que ces deux notions soient tellement
complémentaires, il est quand même difficile de trouver un
compromis ente elles. Mais il est remarquable que la préoccupation
majeure des algorithmes évolutionnaires est la conservation de la
diversité de la population. Ceci est du au fait que le rôle de
l'exploration est plus important que celui de l'exploitation, dans la mesure
où le premier est fondamental est le deuxième est moins
essentiel. En effet, une bonne exploration de l'espace de recherche va
permettre, tôt ou tard, de tomber sur une solution potentielle. Il est
vrai qu'une exploration aveugle peut passer juste à coter d'une bonne
solution sans qu'elle s'en rende compte, mais les bonnes solutions ont tendance
à se regrouper. C'est à ce niveau là qu'intervient
l'exploitation pour concentrer la recherche autour de ces solutions
potentielles. Tout cela
explique comment le rôle de la fonction d'exploration
est fondamental. Il ne sert à rien de penser à exploiter des bons
individus si l'on ne peut même pas tomber sur eux. De plus, et comme il a
été discuté au chapitre 2, l'abus de l'exploitation va
mettre la population dans un état très homogène et
l'empêcher d'évoluer.
C'est pour cette raison que les méthodes
évolutionnaire ont souvent recouert au scaling et au sharing pour
empêcher le regroupement prématuré des bons individus. On
ajoute à tous ça le fait que la notion de "bon individu" est
très relative. En effet, si un individu est considéré
comme étant bon dans sa population en cours, ceci ne signifie en aucun
cas qu'il est le meilleur. Ce qui nous mène au problème classique
des heuristiques d'optimisation : le piège de l'optimum local.
Dans les stratégies d'évolution, l'exploitation
est représentée principalement par l'opérateur de
recombinaison, et l'exploration par l'opérateur de mutation. Les
stratégies d'évolution se basent principalement sur
l'exploitation, vu que la mutation est l'opérateur de reproduction
fondamental. La mutation, en ajoutant des bruits aléatoires, permet une
diversification aléatoire aussi de la population. De sa part la
recombinaison permet d'orienter la recherche vers des zones prometteuses. De
cette façon les stratégies d'évolution constituent un bon
exemple de méthodes équilibrant entre l'exploitation et
l'exploration.
Il est aussi important de noter que le maintient des fonctions
d'auto-adaptation a un impact sur la diversification. Il peut être
considéré comme un outil supplémentaire d'exploitation,
puisqu'il permet d'utiliser la qualité globale de la population pour
diriger la recherche.
Les opérateurs de création et de duplication,
quoiqu'ils sont beaucoup moins fréquents, peuvent contribuer à
leur tours au maintient de la stabilité globale de la population. Bien
que la création ne soit souvent utilisée que lors de la
génération de la population initiale, la méthode peut lui
faire appel comme outil secondaire de diversification. En associant la
recombinaison à la mutation, la reproduction sera toujours basée
sur des bons individus. La création permet d'introduire des
éléments complètement nouveaux, et de rediriger certaines
parties de la recherche vers des régions totalement nouvelles. La
duplication quant à elle, permet de garder une trace de quelques
individus potentiels, pour garantir leur présence dans les prochaines
générations. La duplication ne peut pas avoir d'effets
destructifs : si les autres opérateurs produisent des individus moins
meilleurs, la duplication portera un grand intérêt en étant
la seule à produire quelque chose de bon. Dans le cas contraire,
c'est-à-dire si les éléments dupliqués sont
mauvais, la sélection s'en occupera.
Pour la programmation génétique, la recherche
est plutôt orientée vers l'exploitation. Malgré que le jeu
d'opérateur soit plus important ici que tous les autres algorithmes, la
mutation est le seul qui offre des possibilités d'exploration. Cette
orientation s'explique par le fait que la programmation génétique
a été conçue pour le développement automatique de
programmes, et montre encore une fois comment l'objectif initial d'une
méthode influence son orientation. En effet, dans le cas d'une
population de programmes, la notion de fonction peut s'agir d'une seule
instruction comme de plusieurs. Cette idée de groupe potentiel
d'individus n'a de sens que dans les programmes informatiques. Lorsque la
recherche tombe sur fonction potentielle regroupant plusieurs instructions, il
est important de la faire propager dans toute la population de façon
entière. Dans le cas contraire, il y a un grand risque que ce groupe
soit découpé et perde toute sont efficacité. La
programmation génétique tient donc à profiter de
façon maximale des capacités potentielles des sous-programmes
d'individus qu'elle manipule avant de chercher à produire de nouveaux
individus. Il convient aussi de prendre en compte que la structure arborescente
de ses individus offre plus de possibilités de variation que les
vecteurs, notamment dans le cas des programmes informatiques. Il suffi en effet
d'une simple permutation entre deux arbres pour pouvoir changer radicalement la
sémantique du programme, et donc de donner naissance à un
individu tout à fait différent.
Pour conclure, nous dirons que le choix de la stratégie
de recherche a été effectué dans les deux méthode
de telle façon à ce qu'il soit le mieux convenable à la
nature des problèmes auxquels chacune d'elles a été
dédiée. Les stratégies d'évolution ont suivit une
stratégie favorisant l'exploration pour échapper au piège
de l'optimum local des problèmes d'optimisation. De son coté, la
programmation génétique a pris en considération la nature
générale de ses individus, et adopté une stratégie
de recherche basée sur l'exploitation. Il ne reste donc à dire
que l'usage approprié de l'une des deux méthodes impliquerait un
choix judicieux de la stratégie de recherche.
4.4 Représentation des individus
Le choix du codage des individus est une étape
décisive : tous les choix de conception qui suivent en
dépendront, notamment en ce ce qui concerne le choix des
opérateurs et de leurs priorités. La représentation doit
aussi être choisie de façon à ce qu'elle convient le mieux
à la nature des problèmes qu'elle est supposée traiter,
notamment si la méthode est spécifique. Si la méthode est
par contre générale, la représentation doit être
facile à adapter aux différents problèmes couverts par la
méthode.
Le codage réel dans les stratégies
d'évolution a été choisi à la fois pour faciliter
l'adaptation et augmenter la performance des opérateurs de reproduction.
En effet, les représentations binaires ne sont pas toujours
évidentes et réalisables. De plus, plus la valeur des individus
est grande, moins la valeur des bits sera importante. Ceci a une influence
négative sur la diversification. Si les chaînes binaires sont
très longues, le changement d'un ou deux bits par croisement ou mutation
(ce qui est généralement le cas dans les algorithmes
génétiques) n'entrainera pas déformations importantes, et
risque de saturer l'évolution du système. Par contre, un codage
réel est toujours efficace de ce point de vue, étant donné
que les opérateurs de reproduction qui lui sont associés sont
toujours réalisés à base des opérations
arithmétiques standards, qui ne dépendent pas de la valeur de
l'individu. Et même si les individus sont considérés comme
des suites de caractères indépendants, ces derniers auront
toujours une valeur plus significative.
Les techniques d'auto-adaptation dans les stratégies
d'évolutions reposent sur l'écart type de la distribution
gaussienne. Celui-ci repose de sa part sur l'évolution des individus. La
réalisation de cette chaîne efficace de dépendances
n'aurait pas pu être possible si l'on ne disposait pas d'un codage
réel. L'inconvénient de ces vecteurs est que la taille qu'ils
occupent en mémoire ne dépend pas de leurs valeurs, et les petits
nombres occupent autant de taille que les grands. Mais avec l'évolution
technologique actuelle, les problèmes de mémoire ne sont plus un
sujet de discussion. Néanmoins, la représentation binaire de
certains problèmes est par fois plus naturelle. De plus, les
opérations primaires sur les binaires (arithmétiques, logiques ou
de décalage) sont plus rapides de plusieurs cycles que les
opérations correspondantes aux réels.
Le modèle de population, basé sur les arbres, de
la programmation génétique est d'une nature très
spécifique. Ceci implique des efforts d'adaptation, si cette
dernière est déjà possible. En effet, tous les
problèmes ne peuvent pas se modéliser sous forme d'arbres. Et
même si cela est possible, le modèle résultant n'est pas
nécessairement efficace. Cependant, pour les problèmes dont
l'arborescence est une nature, cette représentation est
extrêmement efficace et aucun autre modèle ne peut la
conquérir.
la représentation des programmes, qui fait l'objet
principal de la programmation génétique, est un modèle
très naturel. Son efficacité se situe essentiellement dans le
fait que le contrôle de flux du programme est implicite et qu'il n'est
plus nécessaire de le définir. En choisissant l'ordre
d'évaluation de l'arbre (préfixée, infixée ou post
fixée), on défini automatiquement l'ordre du déroulement
du programme en parcourant l'arbre dans l'un de ces sens.
Les arbres ont aussi permis de définir un jeu
d'opérateurs de variation très riche, et des nouvelles notions
comme est le cas dans l'encapsulation. Il ne s'agit pas uniquement de la
convenabilité de ces opérateurs aux programmes informatiques,
mais à la structure elle-même, car même pour les autres
modèles de la programmation génétique, ces
opérateurs ne sont pas tous applicables et efficaces. Ces autres
modèles sont encore au stade d'expérimentation, et l'on ne
dispose pas de mesures sur leurs efficacités. En résumé,
on peut constater que les choix des codages ont suivit les objectifs originaux
des deux méthodes. Le codage réel reste toutefois plus performant
si l'on prenne en considération toutes les mesures
d'efficacité.
4.5 Opérateurs de reproduction
Au fil des sections précédentes, l'analyse des
opérateurs de reproduction a pratiquement été
effectuée. Ceci est tout à fait normal car les
éléments sont fortement liées et interdépendants.
Nous allons quand même donner un petit aperçu.
De façon générale, tous les
opérateurs dépendent de leurs opérandes, et les
opérateurs algorithmes évolutionnaires n'en font pas exception.
Cette idée est beaucoup plus claire dans le cas des arbres où
l'introduction d'une nouvelle structure de codage a mis en jour toute une
série de nouveaux opérateurs. Même pour les
opérateurs communs entre les différentes méthodes, leur
efficacité n'est pas toujours la même. Ceci a laissé les
algorithmes favoriser certains opérateurs par rapport autres. Le
croisement a été choisi pour les binaires et la mutation a
été choisie pour les réels. Pour les arbres de la
programmation génétique, les choses sont un peut
différentes du fait de la spécificité des
opérateurs. Entre un problème et un autre, la priorité
d'un opérateur peut augmenter ou diminuer, il se peut même que
l'opérateur ne soit complètement pas utilisé. Enfin, la
spécificité des opérateurs influence directement celle des
méthodes associées. Plus l'opérateur est
général, plus la gamme des problèmes auxquels il peut
être appliqué sera large, et plus la méthode sera donc
générale.
4.6 Récapitulatif
Au cours de cette analyse, l'idée qui ne cessait
d'émerger était le fait que les éléments d'une
méthode dépendent fortement de l'objectif de base de la
conception de la méthode. Les stratégies d'évolution ont
été créées comme des méthodes
d'optimisation. Compte tenu de la diversité du domaine de
l'optimisation, le modèle des stratégies d'évolution a
été choisi de telle façon à couvrir un maximum de
problèmes. La stratégie de recherche a été
orientée vers la diversification en vu de surpasser le problème
de l'optimum local. Et pour mieux convenir à la nature de ces
problèmes, elles ont adopté une représentation
réelle pour permettre une meilleure adaptation et une possibilité
de contrôler les paramètres de recherche. De même la
même façon, la conception de la programmation
génétique pour le développement automatique des programmes
explique le choix d'une structure arborescente pour représenter ses
individus, l'orientation vers l'exploitation et la spécificité de
ses opérateurs. Le tableau de la figure représente un
résumé récapitulatif de cette analyse.
Les problèmes de reconnaissance automatique de la
parole se présentent généralement sous forme de deux sous
problèmes : un sous problème d'apprentissage et un autre de
reconnaissance. Ce qui parait le plus convenable est de choisir un
modèle arborescent pour améliorer l'apprentissage, et d'utiliser
les stratégies d'évolution pour optimiser l'estimation des
correspondances.
Critère
|
Stratégies d'évolu-
tion
|
Programmation géné-
tique
|
Objectif
|
Optimisation
|
Programmation
|
Spécificité
|
Générale
|
Spécéfique
|
Stratégie de recherche
|
Exploration
|
Exploitation
|
Poplation
|
Vecteurs de réels
|
Structures arborescentes
|
Caractère des opérateurs
|
Généraux
|
Spécifiques
|
Systèmes de parole
|
Apprentissage
|
Reconnaissance
|
FIGURE 4.1 - Résumé récapitulatif de
l'analyse comparative
4.7 Conclusion
Dans ce dernier chapitre, nous avons élaboré une
analyse comparative des stratégies d'évolution et de la
programmation génétique en se basant sur la représentation
donnée dans les chapitres 2 et 3. Nous avons analysé l'objectif,
la spécificité, la stratégie de recherche, la
représentation des individus et les opérateurs de chaque
méthode. Nous avons à la fin réalisé que tout
était dépendant de l'objectif de base de conception.
Dans le cadre des systèmes de parole, étant
donné qu'il n'existe pas de modèle évolutionnaire pour
eux, la programmation génétique peut servir principalement
d'outil d'apprentissage et ptionnelement dans les traitements linguistiques, et
les stratégies d'évolution peuvent permettre d'optimiser la
reconnaissance.
Conclusion et Perspectives
Le défi le plus important que doivent lever les
systèmes de parole est la robustesse à la variabilité de
la parole. Cette robustesse est principalement à l'origine de la
complexité de ces systèmes. Nous avons essayé dans ce
travail de découvrir les possibilités de remédier à
ce problème de complexité des systèmes de la parole en
utilisant des algorithmes évolutionnaires.
Au cours de cette étude, nous avons, d'une part,
réalisé que les problèmes rencontrés dans les
systèmes de parole ne se restreignent pas à la phase de
reconnaissance, mais ils s'étendent à tout le processus de
traitement. Ceci nous a poussé à généraliser
l'étude de mise en oeuvre des algorithmes évolutionnaires
à toutes les étapes de traitement. D'autre part nous avons
constaté que le choix d'une méthode évolutionnaire doit se
focaliser principalement sur la nature des problèmes auxquelles elle a
initialement été conçu et celle du problème
à traiter. Tous les autres paramètres peuvent être
adaptés d'une façon ou d'une autre au problème
considéré. En fait, un choix judicieux effectué suivant
cette optique ne laisse généralement pas beaucoup de
paramètres à adapter.
A l'issue de cette analyse, la conclusion à laquelle
nous avons abouti est un compromis entre l'usage des deux méthodes. Les
stratégies d'évolution, avec leur nature très
adaptée aux problèmes d'optimisation, peuvent améliorer
les performances des opérations de reconnaissance. Que ce soit dans les
modèles markoviens, de classification ou à recalage temporel, les
stratégies d'évolution peuvent précieusement aider
à estimer les correspondances phonétiques. De sa part, la
programmation génétique, conçu à la base pour le
développement automatique des programmes, est parfaitement
adaptée à l'apprentissage automatique et aux traitements
linguistiques, notamment s'ils sont basés sur des arbres de
décision, à condition que les modèles utilisés dans
les deux phases soient les mêmes.
L'analyse précédente a été
réalisée suivant un raisonnement basé sur des remarques et
des résultats théoriques. Bien que cette analyse fourni une large
vision des possibilités d'application des algorithmes
évolutionnaires, et des grandes lignes pour orienter le choix d'une
méthode en dépit d'une autre, ses résultats ne peuvent pas
constituer des mesures définitives. En effet, ce qui peut paraitre bon
en théorie peut ne pas l'être en pratique. La complexité
des systèmes de parole implique la présence de plusieurs
paramètres qui peuvent influencer la qualité d'une
méthode. Cette analyse doit impérativement être
complétée par des tests pratiques faisant intervenir des
paramètres différents du coté des systèmes de
reconnaissances et des algorithmes évolutionnaires. De tels tests
nécessiteraient un grand travail de recueil d'information et
d'adaptation de paramètres, car les quelques environnements qui
réunissent les outils de traitement de la parole et ceux des algorithmes
évolutionnaires ne travaillent que sur des algorithmes
génétiques.
Bibliographie
[1] A. Amodio et G. Feng : Codage de la parole en bande
élargie basé sur la structure MBE. Institut de la
Communication Parlée / Université Sthendal, Deuxième
Colloque GRETSI, 1997.
[2] A. BOUZID et N. ELLOUZE : Caractérisation des
singularités du signal de parole. Institut Supérieur des
Etudes Technologiques / Ecole Nationale d'Ingénieurs de Tunis.
[3] A. Maddi, A. Guessoum, D. Berkani et O. Belkina :
Etude de la méthode des moindres carrés étendus et
application au signal de parole. 3rd International Conference - Sciences
of Electronic, Technologies of Information and Telecommunications,Tunisia,
2005.
[4] Abdillahi NIMAAN : Sauvegarde du patrimoine oral
africain : conception de système de transcription automatique de langues
peu dotées pour l'indexation des archives audio. Académie
d'Aix-Marseille - Université d'Avigon et des Pays de Vaucluse,
Thèse Doctorat, 2007.
[5] Agence d'Evaluation de la Recherche et de l'Enseigement
Supérieur - Section des unités de recherche : Rapport de
l'AERES sur l'unité : renoble Images Parole Signal Automatique
GIPSA-lab. INP Grenoble / Université Joseph Fourier /
Université Stendhal / CNRS, 2010.
[6] Alain Berro : Algorithme évolutionnaire pour
l'optimisation multiobjectif. Université de Toulouse,
Séminaire LAAS, 2008.
[7] Alexis Heloir, Sylvie Gibet, Nicolas Courty et Franck
Multon : Alignement temporel de séquences gestuelles
communicatives. Université de Bretagne Sud - Campus de Tohannic -
Laboratoire valoria / University Rennes 2 - LPBEM / Campus de Beaulieu / Campus
de Beaulieu - SIAMES project - IRISA , .
[8] Ali Sadiqui et Noureddine Chenfour :
Réalisation d'un système de reconnaissance automatique de la
parole arabe standard sur CMU Sphinx. Université Sidi Mohamed Dhar
de Fès, 2010.
(ITS) Swiss Federal Institute of Technology Lausanne (EPFL),
National Center of Competence in Research (NCCR)"Interactive Multimodal
Information Management (IM)2" / IDIAP Research Institute, Martigny.
[10] Anne Christophe, Christophe Pallier, Josian Bertoncini
et Jacques Mehler : A la recherche d'une unité : Segmentation et
traitement de la parole. Laboratoire de Sciences cognitives et
psychilinguistique, 1991.
[11] Anne Spalanzani : Algorithmes évolutionnaires
pour l'étude de la robustesse des systèmes de reconnaissance de
la parole. Université Joseph Fourier - CLIPS-IMAG, Thèse
Doctorat, 1999.
[12] Antoine Laurent : Auto-adaptation et reconnaissance
automatique de la parole. Université du Maine, Thèse
Doctorat, 2010.
[13] Arnaud MARTIN : La détection
Parole/Non-Parole dans les applications de reconnaissance vocale Environnements
bruités - Parole continue. Université de Bretagne Sud,
2002.
[14] Arnaud MARTIN : La détection
Parole/Non-Parole dans les applications de reconnaissance vocale Environnements
bruités -Parole continue. Université de Bretagne Sud,
2002.
[15] B.S. Atal and S.L. Hanauer: Speech analysis and
synthesis by linear prediction of speech wave. The Journal of the
Acoustical Society of America, 50 :637-655, 1071.
[16] Benjamin Chigier : Phonetic classifcation on
wide-band and telephone quality. NYNEX Science and Technology - Artificial
Intelligence Laboratory - Speech Technology Group.
[17] Benjamin LECOUTEUX : Reconnaissance automatique de
la parole guidée par des transcriptions a priori. Académie
d'Aix Marseille - Université d'Avigon et des Pays Vaucluse - Laboratoire
d'Informatique d'Avigon, Thèse Doctorat, 2002.
[18] Bernhard Omer : Genetic Algorithms for Neural Network
Training on Transputers. University of Newcastle upon Tyne - Department of
Computing Science, 1995.
[19] Brigitte Zellner Keller LAIP, IMM, Lettres :
Simulateur de parole et recherche fondamentale Exemple en prosodie.
Université de Lausanne - Laboratoire d'Analyse Informatique de la
Parole, 2002.
[20] Bruno Taconet, Abderrazak Zahour1, Saïd Ramdane et
Wafa Boussellaa : Classification des k-ppv par sous-voisinages
emboîtés. Université du Havre - Equipe GED /
Université de Sfax - REsearch Group on Intelligent Machines.
[21] C. Barras, M. J. Caraty et C. Montacié :
Contrôle Temporel et Sélection de l'Apprentissage pour les
Modèles de Markov Cachés. Université Paris 6 -
LAFORIA-IBP.
[22] C. CHARBUILLET, B. GAS, M. CHETOUANI et J.L. ZARADER :
Combinaison de codeurs par algorithme génétique : Application
à la vérification du locuteur. Université Pierre et
Marie Curie-Paris6 - Institut des Systèmes Intelligents et Robotique,
2007.
[23] Camille Besse : Heuristiques. Université
Laval - Département d'Informatique et de Génie Logiciel, 2006.
[24] Caroline Jacquier : Étude d'indices
acoustiques dans le traitement temporel de la parole chez des adultes
normo-lecteurs et des adultes dyslexiques. Université
Lumière Lyon 2 - Ecole doctorale : Neurosciences et Cognition,
Thèse Doctorat, 2008.
[25] Cebtre Hospitalier Saint-Anne - Paris : Reconnaissance
vocale : 95% des comptes rendus de radiologie réalisés dans la
journée grâce à SpeechMagic. Nuance, 2009.
[26] Christian Gagné : Algorithmes
évolutionnaires appliqués à reconnaissances des formes et
à la conception optique. Université Laval - Faculté
des études supérieures, Thèse PhD, 2005.
[27] Christian Raymond, Julien Fayolle1 : Reconnaissance
robuste d'entités nommées sur de la parole transcrite
automatiquement. Université Européenne de Bretagne,
INRIA,IRISA, 2010.
[28] Christophe Cerisara et Claire Gardent : JSynATS : un
analyseur syntaxique pour la reconnaissance automatique de la parole.
LORIA - Nancy, 2011.
[29] Christophe Charbuillet, Bruno Gas, Mohamed Chetouani et
Jean- Luc Zarader : Application d'un algorithme génétique
à la synthèse d'un prétraitement non linéaire pour
la segmentation et le regroupement du locuteur. Université Pierre
et Marie Curie - Groupe Perception et Réseaux Connexionnistes, Actes des
XXVIème journées d'études sur la parole, 2006.
[30] Claude Barras : Classification et reconnaissance de
la parole. LIMSI-CNRS, 2004.
[31] Claude Barras : Reconnaissance automatique de la
parole: vers l'indexation automatique d'archives sonores. LIMSI-CNRS,
2001.
[32] Cong-Thanh Do, Dominique Pastor, Abdeldjalil
Aïssa-El-Bey et André Goalic : Estimation des
caractéristiques géométriques des lèvres à
partir de signal de parole utilisant des techniques de déconvolution
aveugle. Telecom Bretagne.
[33] Cyrille Bertelle : Algorithmes
évolutionnaires. Université du Havre - LIH, 2005.
[34] Cécile Fougeron, Nicolas Audibert, Corinne
Fredouille, Christine Meunier, Cédric Gendrot et Olavo Panseri :
Comparaison d'analyses phonétiques de parole dysarthrique
basées sur un alignement manuel et un alignement automatique. Lab.
de Phonétique et Phonologie - Paris / Université d'Avignon /
Université Aix-Marseille - Laboratoire Parole et Langage,
Journées d'Etude sur la Parole, Mons : Belgique, 2010.
[35] Cédric Seren : Optimisation par Algorithmes
Génétiques de Protocoles Expérimentaux pour la Dynamique
du Vol. AIRBUS-FRANCE - Toulouse / ONERA-DCSD - Toulouse / Supaéro
- Toulouse.
[36] David E. Moriarty, Alan C. Schultz et John J. Grefenstette
: Evolutionary Algorithms for Reinforcement Learning. University of
Southern California, Information Sciences Institute / Navy Center for Applied
Research in Artificial Intelligence / Institute for Biosciences, Bioinformatics
and Biotechnology, Journal of Arti cial Intelligence Research 11 (1999)
241-276, 199.
[37] Denis Robilliard : Algorithmes
Génétiques/Evolutionnaires - pour l'analyse de sorties et le
calage de modèles. LIL - ULCO, 2005.
[38] Denis Robilliard : Programmation
Génétique. Université Littoral-Côte d'Opale -
Laboratoire d'Informatique du Littoral, 2007.
[39] Direction des Risques Professionnels et de la
Santé au Travail : Prévention des risques proffessionnels
dans les méétiers de la logistique - La reconnaissance
vocale. Caisse Régionnale D'assurance Maladie Phône-Alpes,
2006.
[40] Dominic Francisci : Algorithmes
évolutionnaires et optimisation multi-objectifs en Data Mining.
Université Nice Sophia Antipolis, Laboratoire Informatique, signaux et
systèmes, Rapport de recherche, 2002.
[41] Dragon Medical : Quand le logiciel de reconnaissance
vocale assiste le médecin. Nuance, 2009.
[42] ELhoussaine ZIYATI : Optimisation de requêtes
OLAP en Entrepôts de Données Approche basée sur la
fragmentation génétique. Université Mohammed V -
Faculté des Sciences Rabat, Thèse Doctorat, 2010.
[43] Elissa Pustka : Phonétique
articulatoire. 2009.
[44] Emmanuel Ferragne : Etude phonétique des
dialectes modernes de l'anglais des Iles Britanniques : vers l'identification
automatique du dialecte. Ecole doctorale Lettres, Langues, Linguistique et
Arts, Thèse Doctorat, 2008.
[45] Emmanuel Sapin : Approche évolutionniste de la
recherche d'automates cellulaires universels. Université de
Bourgogne, TSI. Volume X - n° X/2005, pages 1 à 28, 2005.
[46] Equipe du projet DSP : Reconnaissance vocale de noms
par DTW et génération DTMF sur un DSP. Traitement
numérique des signaux - Laboratoire : Projet DSP, 2008.
[47] Eric Denis Taillard : Programmation à
mémoire adaptative et algorithmes pseudoglouton Nouvelle perspectives
pour les métha-heuristiques. Université Versailles,
Habilitation à dériger des recherches, 1998.
[48] Eric Fragnière, Daniel Oberson et Hervé
Fischer : Modèles électroniques de l'oreille humaine pour la
reconnaissance de la parole. Ecole D'ingénieurs et d'Architecture
de Fribourg - Institut des Technologies industrielles, 2007.
[49] Etienne Tisserand, Jean-François Pautex et
Patrick Schweitzer : Analyse et traitement des signaux - Méthodes et
applications au son et à l'image. Dunod, Deuxiième
édition 2008.
[50] F. Debbeche et N. Ghoualmi-zine : Système
Acoustico-Anatomique pour l'Identification des Locuteurs par Localisation dans
un Espace de Locuteurs de Référence. University of Badji
Mokhtar, 2008.
[51] Fabian Rami : Module de reconnaissance vocale pour
l'asservissement d'une installation domotique de type "EIB". Ecole
Industrielle et Commerciale de Namur, Mémoire de Graduat en Informatique
Industrielle, 2006.
[52] Fabrice LEBEL : Systèmes de Trading boursier
et réseaux neuromimétiques Centre d'Etudes des Techniques du
Financement et d'Ingénierie - CETFI, International Finance Conference -
AFFI, 2006.
[53] Failler-Kahn François : Algorithmes
génétiques. Brique MOD, 2005.
[54] Fatima-Zohra Kettaf et Jean-Pierre Asselin de Beauville
: Des algorithmes évolutionnaires pour la classification
automatique. université ParisXI / Univer sité de Tours -
Laboratoire d'Informatique.
[55] G. Baudoin et J.F. Bercher : Eléments de
traitements du signal. Ecole Supérieure d'Ingénieurs en
Electronique et Electrotechnique, 1998.
[56] G. Pouchoulin, C. Fredouille, J.-F. Bonastre, A. Ghio et
A. Giovanni : Analyse Phonétique dans le Domaine Fréquentiel
pour la Classifcation des Voix Dysphoniques. Université d'Avignon -
Laboratoire Informatique d'Avignon.
[57] G. Pouchoulin, C. Fredouille, J.-F. Bonastre, A. Ghio et
A. Giovanni : Analyse Phonétique dans le Domaine Fréquentiel
pour la Classifcation des Voix Dysphoniques. Université d'Avignon -
Laboratoire Informatique d'Avignon.
[58] Garmin : Garmin nüvi 865T.
Communiqué de presse à effet immédiat, 2009.
[59] Ghazi Bouselmi, Dominique Fohr, Irina Illina et
Jean-Paul Haton : Reconnaissance de parole non native fondée sur
l'utilisation de confusion phonétique et de contraintes
graphèmiques. Projet Parole, LORIA-CNRS & INRIA.
[60] GIPSA Laboratoire : Grenoble Images Parole Signal
Automatique - Prospective 2007- 2010. INP Grenoble / Université
Joseph Fourier / Centre National de la Recherche Scientifique /
Université Stendhal - Grenoble 3, 2005.
[61] Grégory Beller : Analyse et Modèle
Génératif de l'Expressivité Application à la Parole
et à l'Interprétation Musicale. Ecole Nationnale
d'Informatique, Télécommunications et Electronique (EDITE)de
Paris, Thèse Doctorat, 2009.
[62] Guillaume Gravier, François Yvon, Bruno Jacob et
Frédéric Bimbo : Sirocco, un système ouvert de
reconnaissance de la parole. Campus Universitaire de Beaulieu
- IRISA/INRIA Rennes / ENST Paris - Dpt. INFRES / LIUM -
Université du Maine, XXIVèmes Journées d'Étude sur
la Parole - Nancy, 2002.
[63] Guy Almouzni : Traitement de la parole. EISTI,
2010 - 2011.
[64] Guy Almouzni : traitement du signal. EISTI,
2010-2011 .
[65] GZ SPEECH : Reconnaissance vocale
intégrée avec le SpeechReport SDK. 2010.
[66] H. DAASSI GNABA, M. ZBAKH, J. LOPEZ KRAHE :
Combinaison de reconnaissance de la parole, reconnaissance des
émotions et tête parlante codeuse en LPC pour les personnes
sourdes et malentendantes. Université Paris 8 - Laboratoire
Technologies, Handicaps, Interfaces et Multimodalités, STH. n°
spécial Réhabilitation auditive, pages 1 à 15.
[67] H. Ezzaidi : Discrimination Parole/Musique et
étude de nouveaux paramètres et modèles pour un
système d'identification du locuteur dans le contexte de
conférences téléphoniques. Université du
Québec, Thèse Doctorat, 2002.
[68] H.-G. Beyer, K. De Jong, C. Reeves and C. Reeves :
Theory of Evolutionary Algorithms. Dortmund / Fairfax / Coventry,
Ceminar, 13 - 18 / 01 / 2002.
[69] Hans-Heorg Beyer and Hans-Paul Schwefel : Evolution
strategies A comprehensive introduction. University of Dortmund -
Department of Computer Science XI, Natural Computing 1 : 3-52, 2002, Kluwer
Academic Publishers, 2002.
[70] Hassan Ezzaidi, Jean Rouat et Ivan Bourmeyster :
Reconnaissance Automatique de Parole en Français pour Milieu
Difficile : Exemple de Détection de Double Parole pour le
Radiotéléphone en Mains Libres. Université du
Québec à chicoutimi - Canada / Alcatel Mobile Phones - Paris -
France.
[71] Hervé Bourlard : Traitement de la parole.
Swiss Federal Institute of Technology - IDIAP Research Institute - Martigny,
2005.
[72] Hervé Haut : Reconnaissance vocale - Les
systèmes de dictée continue. Revue TECHN, N° 29,
2005.
[73] Hiba KHELIL et Abdelkader BENYETTOU : Application du
Réseau de Neurones Gamma à la Reconnaissance de la Parole.
Université des Sciences et Technologie d'Oran - Laboratoire SIMPA
(SIgnal IMage PArole), 4th International Conference : Sciences of Electronic,
Technologies of Information and Telecommunications - Tunisia, 2007.
[74] I. Nouiri, F. Lebdi et N. Lamaddalena : Algorithmes
évolutionnaires pour l'optimisation des débits sur les
réseaux hydrauliques à la emande. Institut National
Agronomique de Tunisie / Laboratoire des Sciences et Techniques de l'Eau,
Options méditerranéennes, Series B, n°52.
[75] Isabelle Lebond, Michel Legris et Basel Solaiman :
Classification et segmentation d'images sonar pour le recalage à
long terme. ENSIETA - Laboratoire ETEA / ENST Bretagne - Laboratoire
ITI.
[76] J. Idier, H. Piet-Lahanier, G. Le Besnerais et F.
Champagnat : Traitement numérique du signal. Notes de cours,
2004.
[77] J. Jedruszek : La reconnaissance de la parole.
Revue des Télécommunication d'Alcatel - 2000.
[78] Jamal-Eddine ROUGUI : Indexation de documents audio
: Cas des grands volumes de données. Université de Nante -
Ecole Doctorale Sciences et Technologie de l'Information et de
Matériaux, Thèse Doctorat, 2008.
[79] James L. Crowley: Traitement du Signal - Le Filtrage
Numérique. Notes de cours, 2000 - 2001.
[80] James L. Crowley : Traitement du Signal -
Numérisation des Signaux. Notes de cours, 2001 - 2002.
[81] Jan Cernocky, Geneviève Baudoin, Dijana
Petrovska-Delacretaz et Gerard Chollet : Vers une analyse
acoustico-phonétique de la parole indépendante de la langue,
basée sur ALISP. Institut de Radioélectronique, FEI VUT,
Brno, République Tchèque / Département Signaux et
Télécommunications, ESIEE, Paris, France / CNRSLTCI, ENST, Paris,
France.
[82] Jean Guibert : La parole - Compréhension et
Synthèse par les ordinateurs. Presses Universitaires de Frances,
1979.
[83] jean hennebert : Traitement de la Parole - Signal de
parole : Production - Perception - Analyse. Université de Fribourg
Suisse, 2007.
[84] Jean Louchet, Maud Guyon, Marie-Jeanne Lesot et Amine
Boumaza : L'algorithme des mouches dynamiques - Guider un robot par
évolution artificielle en temps réel. Ecole Nationale
Supérieure de Techniques Avancées / INRIA Rocquencourt, ECA -
1/2001. Apprentissage et évolution, pages 115 à 130, 1001.
[85] Jean Michel Renders : Algorithmes
génétiques et réseaaux de neurones. Hermès,
1995.
[86] Jean-François Bonastre : L'authentification
biométriquevocale. Laboratoire d'Informatique d'Avgon, 2005.
[87] Jean-Marc Alliot et Nicolas Durand : Algorithmes
génétiques. 2005.
[88] Jean-Philippe Rennard : Genetic Algorithm Viewer :
Démonstration d'un algorithme génétique. 2008.
[89] Jean-Pierre Gazeau : Analyse en ondelettes en
traitement du signal et de l'image. Notes de cours, 2004 - 2005.
[90] Jean-Sébastient Lacroix et Stéphane Terrade :
Algorithmes Génétiques. MTH 6414, 2004.
[91] Jerome Boudy : Traitement du signal pour les terminaux
" mains-libres " en milieu automobile : Reconnaissance de Parole.
INT-EPH-Evry, 2003.
[92] Jin-Kao Hao, Philippe Galinier et Michel Habib :
Méthaheuristiques pour l'optimisation combinatoire et l'affectation
sous contraintes. Université d'Angers - LERIA / Ecole des Mines
d'Alès - LGI2P / LIRMM, Revue d'Intelligence Artificielle - Vol: No.
1999, 1999.
[93] Jonathan Goldwasser, Gian Luca Rattacaso, Huan Alexandre
Bui Manh et Eyal Szombat : Co-évolution des Stratégies pour
le Jeu du Dilemme du Prisonnier Itéré. Rapport de recherche,
2002.
[94] Jérémie Decock : Les algorithmes
éevolutionnistes utilisées dans le cadre des neurosciences
computationnelles. UPMC, 2010.
[95] Jérôme Goulian : Analyse linguistique
détaillée pour la Compréhension Automatique de la Parole
spontanée. Conférence TALN 2000, Lausanne, 16-18 octobre
2000.
[96] L. Rabiner and R.W. Shafer: Digital Processing of
Speech Signals. Prentice-Hall Inc., Englewood Cliffs, New Jersey, 1978.
[97] L. Tamine et M. Boughanem : Un algorithme
génétique spécifique à une reformulation
multi-requêtes dans un système de recherche d'information.
Université Paul Sabatier - IRIT - SIG, 2001.
[98] L.Gacôgne : Optimisation multicritère
de contrôleur flou par une stratégie d'évolution approchant
la zone de Pareto. Université Paris VI - LAFORIA CNRS / Institut
d'Informatique d'Entreprise.
[99] Laetitia LEYRIT et Thierry CHATEAU : Association de
classifieurs pour la sélection de variables Application à la
reconnaissance de piétons. LASMEA - UMR, Journée
Détection et Reconnaissance d'Objets dans des Images, 2007.
[100] Lauren Millot : Traitement du signal audio
visuel. Louis Lumière - Ecole Nationale Supérieur, Dunod,
2008.
[101] Laurence Cnockaert : Analyse du tremblement vocal et
application à des locuteurs parkinsoniens. Université Libre
de Bruxelle, Thèse Doctorat, 2007.
[102] Laurent Simon : Algorithmes
Génétiques. Université Orsay Paris 11 - LRI - CNRS,
2006.
[103] Lionel Delphin-Poulat et France Télécom :
Reconnaissance de la parole dans le cadres des Systèmes de
Transports Intelligents Cas de l'automobile. Orange - Division R&D,
2006.
[104] Louis-Jean Boe, Frédéric Bimbot,
Jean-François Bonastre et Pierre Dupont : Des évaluations des
systèmes de vérification du locuteur à la mise en cause
des expertises vocales en identification juridique. Université
Stendhal - Institut de la Communication Parlée / Univers Rennes -
Institut de Recherche en Informatique et Systèmes Aléatoires,
Université d'Avignon et des Pays de Vaucluse - Laboratoire Informatique
d'Avignon / Université Jean Monnet - Saint Etienne - Département
de Mathématiques, 2000.
[105] Manuel SAMUELIDES : Réseaux neuronaux et
Apprentissage. SUPAERO - Département de Mathématiques
Appliquées, 2004.
[106] Marc Schoenauer : Les algorithmes
évolutionnaires. Equipe TAO - INRIA Futurs - France, 2005.
[107] Marco TESSARI, Jérôme POUILLER, Franck
TETZLAFF et Céline BUGAUD : Traitement Numérique de la Parole
- Implémentation d'une calculatrice vocale. EPITA, 2004.
[108] Markus Brameier : On Linear Genetic Programming.
University of Dortmund, PhD Thesis, 2004.
[109] Matthieu Quignard : Bilan de recherches en TAL
à Nancy. Séminaire ICARI, 2010.
[110] Messaoud Benidir : Théorie et traitement du
signal - Présentation des signaux et des systèmes. Dunod,
2002.
[111] Michel Terré : Traitement Numérique du
Signal. Ecole Nationale Supérieure de Techniques Avancées,
2008.
[112] Michel VACHER, Anthony FLEURY, Francçois PORTET,
Jean-Francçois SERI-GNAT, Norbert NOURY : Reconnaissance des sons et
de la parole dans un Habitat Intelligent pour la Santé :
expérimentations en situation non contrôlée.
1Laboratoire d'Informatique de Grenoble,2Laboratoire TIMC-IMAG .
[113] Mohamed CHETOUANI : Codage neuro-prédictif pour
l'extraction de caractéristiques de signaux de parole.
l'Université Pierre & Marie Curie, Thèse Doctorat, 2004.
[114] Mohammad AKBAR et Jean CAELEN : Parole et traduction
automatique : le module de reconnaissance RAPHAEL. Universitd Joseph
Fourier.
[115] Naomi Yamaguchi : Transcription phonétique
et analyse phonologiqueavec PHON. Outils et Recherches pour les Corpus
d'Acquisition du Langage, Laboratoire de Phonétique et Phonologie et
Structures Formelles du Langage, 2010.
[116] Nathalie Camelin : D2codage conceptuel et
Classification automatique dans les applications de Dialogue Oral
t2l2phoniques. 2004.
[117] NGUYEN Quoc Cuong : Reconnaissance de la parole en
langue Vietnamienne. Institut National Polytechnique de Grenoble -
Laboratoire CLIPS-IMAG, Thèse Doctorat, 2002.
[118] Nicolas Audibert : EWIz : capture, analyse percpective
et acoustique de parole effective. Université Stendhal,
Mémoire DEA, 2004.
[119] Nicolas Bredeche : Algorithmes Evolutionnaires.
Notes de cours, 2007.
[120] Nicolas Dumay : Rôle des indices
acoustico-phonétiques dans la segmentation lexicale : Etudes sur le
français. Université libre de Bruxelles - Laboratoire de
Psychologie Expérimentale, Thèse Doctorat, 2006.
[121] Nicolas Moreau Bases de Traitement du Signal.
TELECOM PARIS - Ecole Nationale Supérieure des
Télécommunications, Notes de cours, 2007.
[122] Nicolas Obbin et Jean-Philippe Goldman :
Préparations des corpus dans Rapsodie - Présentation des
outils de segmentation EasyAlign et IrccamAlign. Université de
genève - IRCAM, 2009.
[123] Nikolaus Hansen and Andreas Ostermeier : Completely
Derandomized Self-Adaptation in Evolution Strategies. University of Berli,
Evolutionary Computation 9(2) : 159-195, Massachusetts Institute of Technology,
2001.
[124] Nuance Communications France : La
Vérité sur la Reconnaissance Vocale. 2007.
[125] Nuance : La reconnaissance vocale SpeechMagic.
2009.
[126] Olga Roudenko : Application des Algorithmes
Evolutionnaires aux Problèmes d'Optimisation Multi-Objectif avec
Contraintes. Ecole polytechnique, 2004.
[127] Olivier Teytaud, Sylvain Gelly, Nicolas Bredeche et
Marc Schoenauer : Apprentissage statistique et programmation
génétique : la croissance du code est-elle
inévitable?. INRIA Futurs - Laboratoire de Recherche en
Informatique - Equipe TAO, 2005.
[128] P.Nayman : Certains aspects du traitement du
signal. LPNHE Paris, Cours DEA, 2003.
[129] Pascal Seppecher : Stratégies
évolutionnaires dans un modèle macroéconomique dynamique
et complexe peuplé d'agents hétérogènes, autonomes
et concurrents. Université de Nice Sofia Antipolis, 2010.
[130] Patrice COLLEN : Techniques d'enrichissement du
spectre des signaux audionumériques. Ecole Nationale
Supérieure des Télécommunications, Thèse Doctorat,
2002.
[131] Pavan Kumar Naraharisetti, Iftekhar A. Karimi ans
Rajagopalan Srinivasana : Optimal Supply Chain Redesign using Genetic
Algorithm. Institute of Chemical and Engineering Sciences / National
University of Singapore - Department of Chemical & Biomolecular
Engineering, 17th European Symposium on Computer Aided Process Engineering,
Elsevier B.V, 2007.
[132] Philippe lacome, Christiane Prins, Marc Servaux :
Algorithmes de graphes. Eyrolles, Seuxième Edition, 2003.
[133] Philippe Martin : Analyse phonétique et
prosodique. UniversitéParis 7 Denis Diderot - UFR Linguistique,
2009.
[134] Philips : Augmenter sa productivité de 40 %
grâce à la technologie de reconnaissance vocale de Philips.
Cas Prartique, 2004.
[135] Pierre Schwartz : Application d'un algorithme
génétique au problème du voyageur de commerce.
2008.
[136] R. ANDRE-OBRECHT et N. PARLANGEAU : Apport d'une
segmentation statistique du signal de parole dans un système de
décodage acoustico phonétique basé sur les
connaissances. Université Paul Sabatiel - Institut de Recherche en
Informatique de Toulouse, JOURNAL DE PHYSIQUE IV - Colloque C5 -
supplément au Journal de Physique III - Volume 4, 1994.
[137] R. BULOT et A. BETARI : Reconnaissance automatique
des occlusives de l'arabe standard. G.I.A. Luminy-Marseille, Journal de
physique IV - Colloque C5 - supplément au Journal de Physique III -
Volume, 1994.
[138] R. Rozman and D. M. Kodek : Improving speech
recognition robustness using nonstandard windows. EUROCON'2003,
International Conference on Trends in Communications, 2003.
[139] Redouane TLEMSANI, Nabil NEGGAZ et Abdelkader BENYETTOU
: Amélioration de l'Apprentissage des Réseaux Neuronaux par
les Algorithmes Evolutionnaires : application à la classification
phonétique. Université des Sciences et de la Technologie
d'Oran - Laboratoire SIgnal-IMage-PArole, 3rd International Conference:
Sciences of Electronic, Technologies of Information and Telecommunications,
2005.
[140] Rodolphe Le Riche : Quoi de neuf dans les algorithmes
génétiques? - Un bilan de 15 ans d'optimisation
évolutionnaire. CNRS / Ecole des Mines de St Etienne.
[141] S. Bausson : Filtrage Adaptatif - Codage/transmission
de la parole. UFR-SITEC Ville d'Avray, 2009.
[142] SALIM CHITROUB : Combinaison des classifieurs : Une
approche pour la l'amélioration de la classification d'images
multisources/multidates de télédétection.
Université des Sciences et Technologie Houari Boumediene, - Laboratoire
de traitement du signal et d'image, Télédétection, 2004,
vol. 4, n°3, p. 289-301, Contemporary Publishing Intenational.
[143] Serge DOS SANTOS : Cours de traitement du signal.
Ecole Nationale d'Ingénieurs du Val de Loire, 2008-2009.
[144] T.Dumartin : Rappels Traitement du Signal. Notes
de cours, 2004 - 2005.
[145] Terry Jones : Evolutionary Algorithms, Fitness
Landscapes and Search. University of Waterloo - Computer Science, PhD
Thesis, 1995.
[146] Thomas Pellegrini : Transcription automatique de
langues peu dotées. Université Paris-Sud - Ecole Doctorale
d'Informatique de Paris-Sud - Laboratoire d'Informatique pour la
Mécanique et les Sciences de l'Ingénieur, Thèse Doctorat,
2008.
[147] Thomas STYGER, Bernard GABIOUD et Eric KELLER :
Méthodes informatiques pour l'analyse de paramètres primaires
en parole pathologique. CALAP 12, 1993.
[148] Thomas Vallée et Murat Yildizoglu :
Présentation des algorithmes génétiques et de leurs
applications en économie. Université de Nantes /
Université Montesquieu Bordeaux IV, 2003.
[149] Thomas Weise : Global Optimization Algorithms - Theory
and Application. Free Book, 2009.
[150] Tobias BLICKLE : Theory of Evolutionary Algorithms and
Application to System Synthesis. Swiss Federal Institut of Technologie -
Zurich, PhD Thesis, 1996.
[151] Van-Bao Ly, R. Blouet, S. Renouard, S. Garcia-Salicetti,
B. Dorizzi et G. Chollet : Vérification de l'Identité par Les
Données Biométriques. Intl. Conf. RIVF'04, 2005.
[152] Yann COOREN : Perfectionnement d'un algorithme
adaptatif d'Optimisation par Essaim Particulaire. Applications en génie
médical et en électronique. Université Paris 12 Val
de Marne, Thèse Doctorat, 2008.
[153] Yannick Estève : Traitement automatique de la
parole : contributions. Académie de Nantes - Université du
Maine, Habilitation à dériger des recherche, 2009.
[154] Yves Laprie : Analyse spectrale de la parole.
Notes de cours, 2009.
[155] Yves-Paul Nakache, Philippe Gournay et Geneviève
Baudoin : Codage de la prosodie pour un codeur de parole à
très bas débit par indexation d'unités de taille
variable. Ecole Supérieure d'Ingénieurs en Electrotechnique
et Electronique / Thomson-CSF Communications / Département Signaux et
Télécommunications, ESIEE, 2000.
[156] Zahira BENKHELLAT et Ali BELMEHDI : Utilisation des
Algorithmes Génétiques pour la Reconnaissance de la Parole.
Université de Bejaia - Algérie, 5th International Conference :
Sciences of Electronic, Technologies of Information and Telecommunications,
2009.
[157] Zahira BENKHELLAT : Utilisation des Algorithmes
Génétiques pour la Reconnaissance de la Parole.
Université de Bejaia - Algérie, Mémoire Magistère,
2005.
[158] Zied Hajaiej, Kais Ouni et Noureddine Ellouze :
Paramétrisation de la Parole basée sur une
Modélisation des Filtres Cochléaires : Application au RAP.
Ecole Nationale d'Ingénieurs de Tunis - Laboratoire des Systèmes
et Traitement du Signal.
[159] Zied MNASRI, Fatouma BOUKADIDA, Noureddine ELLOUZE :
Analyse/Synthèse de parole par modélisation sinusoïdale
et recouvrement addition. Ecole
Nationale d'Ingénieurs de Tunis, 3rd International
Conference : Sciences of Electronic, Technologies of Information and
Telecommunications March 27-31, 2005 - TUNISIA.
Résumé: La nature variable du
signal de la parole fait que son traitement, dans ses différents
niveaux, soit une tâche très difficile. Etant donné qu'il
n'existe pas de méthodes exactes pour traiter cette variabilité,
les systèmes de parole ont toujours recours à des méthodes
d'approximation. Dans ce travail, nous avons étudié les
possibilités d'application d'une famille de ces méthodes
d'approximation connus sous le nom d'Algorithmes évolutionnaires. Ce
sont des méthodes qui reposent sur le principe d'évolution et de
sélection naturelle. Nous avons réalisé une étude
comparative entre deux méthodes particulières de cette famille :
les stratégies d'évolution et la programmation
génétique après avoir proposé des
possibilités de mise en oeuvre dans les systèmes de parole pour
chacune d'elle. A l'issue de cette étude, nous avons constaté que
la puissance de chaque méthode se situe dans la catégorie des
problèmes à laquelle elle a initialement été
conçue. Les stratégies d'évolution offrent des
possibilités importantes en optimisation, et peut être
appliquée efficacement dans la phase de reconnaissance. La programmation
génétique quant à elle, peut améliorer la
qualité d'apprentissage et des traitements linguistique, vue ses
performances en matière de développement automatique des
programmes.
Mots clés: Systèmes de parole,
Algorithmes évolutionnaires, Stratégies d'évolution,
Programmation génétique.
Abstract: The variable nature of the speech
signal makes that its treatment, in its different levels, is a very difficult
task. Since exact methods don't exist to treat this variability, the speech
systems always have resort to approximation methods. In this work, we studied
the possibilities of application of a family of these approximation methods
known as evolutionary algorithms. These are the methods that rest on the
principle of natural evolution and selection. We realized a comparative survey
enters two particular methods of this family : the evolution strategies and the
genetic programming after having proposed possibilities of implementation in
the speech systems for each of her. At the end of this survey, we noted that
the power of every method is located in the category of the problems to which
it has been initially conceived. The evolution strategies offer important
possibilities in optimization, and can be applied efficiently in the phase of
recognition. The genetic programming as for her, can improve the quality of
learning and linguistics treatments, seen its performances concerning automatic
development of programs.
|