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.
|