R EVUE DE STATISTIQUE APPLIQUÉE
T. B ROUARD M. S LIMANE
J.-P. A SSELIN DE B EAUVILLE G. V ENTURINI
Apprentissage d’une chaîne de Markov cachée. Problèmes numériques liés à l’application à l’image
Revue de statistique appliquée, tome 46, n
o2 (1998), p. 83-108
<http://www.numdam.org/item?id=RSA_1998__46_2_83_0>
© Société française de statistique, 1998, tous droits réservés.
L’accès aux archives de la revue « Revue de statistique appliquée » (http://www.sfds.asso.fr/publicat/rsa.htm) implique l’accord avec les condi- tions générales d’utilisation (http://www.numdam.org/conditions). Toute uti- lisation commerciale ou impression systématique est constitutive d’une in- fraction pénale. Toute copie ou impression de ce fichier doit contenir la présente mention de copyright.
Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques
http://www.numdam.org/
83
APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
PROBLÈMES NUMÉRIQUES LIÉS
À L’APPLICATION À L’IMAGE
T.
Brouard,
M.Slimane,
J.-P. Asselin deBeauville,
G. Venturini Laboratoired’Informatique,
Ecoled’Ingénieurs
enInformatique
pour l’IndustrieUniversité de Tours, 64, Avenue Jean Portalis, 37200 Tours (France)
Rev.
Statistique Appliquée,
1998, XLVI (RÉSUMÉ
Cet article traite de la résolution des
problèmes numériques
liés àl’apprentissage
deschaînes de Markov cachées. Ces
problèmes
ayant une forteprobabilité d’apparition
lors del’emploi
de ces modèles pourl’analyse
desimages numériques
nous avons choisi d’illustrernos
approches
sur cechamp d’application.
Les solutions que nous proposons sont des extensions des méthodes derescaling
basées sur un seul vecteur d’observations au cas deplusieurs
vecteursd’observations. Les tests que nous avons réalisés
justifient pleinement
ces solutions par une diminution trèsimportante
des valeurs deprobabilité
voisines de zéro.Mots-clés : Chaînes de Markov cachées,
apprentissage d’images, underflow
ABSTRACT
This paper deals with
solving
numericalproblems
that appear whenlearning
hiddenMarkov models. These
problems
have ahigh probability of appearing
whendealing
withimage processing,
and we have therefore used this domain to illustrate ourapproach.
The solutionthat we propose consists in
extending rescaling technique
forsingle
vector of observations tomultiple
vectors. The tests that we haveperformed justify
this solution and show that less lowprobability
values are obtained.Keywords :
Hidden Markov models, picturelearning, underflow
1. Introduction
Les chaînes de Markov sont des outils de modélisation très utilisés dans de nombreux
domaines,
en reconnaissance des formesplus particulièrement.
Le modèlestandard peut être étendu aux « chaînes de Markov cachées »
(CMC)
pourlesquelles
onpeut distinguer
deuxcomposantes principales :
lesobservations, qui
sont observables et les états cachés inobservables. Achaque
état caché d’une CMC est associé une distribution deprobabilités
d’émission desymboles
observables. Apartir
d’une suite observée de telssymboles
il estpossible d’apprendre (ou d’estimer)
lesparamètres
84 T. BRO UARD, M. SLIMANE, J.-P. ASSELIN de BEA UVILLE, G. VENTURINI
d’une CMC
susceptible
deproduire
cette suite avec une forteprobabilité.
Le nombrede
«degrés
de liberté»(paramètres) important
de cetype
de processusstochastique
est un facteur
prépondérant
pourjustifier l’emploi
des CMC pour la modélisation de processusstochastiques complexes
tels que : la reconnaissance de laparole [15],
la modélisation du
langage [14],
la reconnaissance de caractères manuscrits[3],
letraitement du
signal [20]
oul’analyse
desimages [12][17][21].
Il existe de nombreuxalgorithmes d’apprentissage
desparamètres
d’une CMCqui
sontbasés,
engénéral,
sur des méthodes de
gradient tel,
parexemple,
quel’algorithme
de Baum-Welch. Un certain nombre de travaux récents visent à améliorer lesperformances
de ces méthodesitératives en faisant
appel
à uneexploration parallèle
del’espace
desparamètres [25] [4].
La mise en oeuvre, dans tous les cas, de cesalgorithmes d’apprentissage
estsouvent délicate et difficile à cause des nombreux
problèmes numériques
rencontrés.En
effet,
ces méthodesreposent
sur desproduits
deprobabilités qui
ont degrandes
chances de s’annuler dès que le nombre de facteurs du
produit augmente.
Dans cet article on propose une méthode de«rescaling»
dontl’objectif
estprécisément
d’éviterces
problèmes lorsque
le nombre de facteurs en cause devientgrand
ou trèsgrand.
Afin d’illustrer le
comportement
de cesalgorithmes
on lesapplique
àl’apprentissage d’images numériques, problème qui,
par nature,génère
desproduits
deprobabilités
degrande
taille. La suite de cet article estorganisée
comme suit : leparagraphe
2rappelle
les
principales
définitions et lesproblèmes
à résoudre pour mettre en oeuvre une CMC.Les
paragraphes
3 et 4présentent
lesproblèmes numériques
rencontrés et les solutionsqui
ont étéproposées
dans lepassé.
Dans leparagraphe
5 on propose uneadaptation
des CMC et des
algorithmes d’apprentissage
traditionnels au contexteparticulier
de
l’image numérique.
Leparagraphe
6présente
notreapproche
desproblèmes numériques
del’apprentissage
d’une CMCappliqué
àl’image.
Leparagraphe
7contient des résultats
numériques comparant
nos méthodes de«rescaling
vectoriel»avec les
approches classiques
pourquelques images.
Enfin la section 8 contient unebrève conclusion.
2. Chaînes de Markov cachées
(CMC) :
définitions 2.1.Définitions formelles
Une chaîne de Markov cachée est une chaîne de Markov stationnaire
générant
un processus
stochastique
à deuxcomposantes :
unecachée,
l’autre observable. Lacomposante
cachée est la réalisation q =(ql ,
92?... ?qT )
d’une suite de variables aléatoiresQ
=(Qi, Q2,... QT )
oùles qi prennent
leurs valeurs dans l’ensemble S de N classes(les états).
La suite observable o =(01,
02, ...,OT)
est la réalisation du processus aléatoire(01, 02,
... ,OT)
où les oiprennent
leurs valeurs dans l’ensemble V de M classes(les symboles).
Lapropriété
de Markovs’applique
sur lacomposante
cachée :Et l’on a pour cette
composante
lespropriétés
suivantes :2022 loi initiale :
2022 matnce cte transition :
85
APPRENTISSAGE D’UNE CHAINE DE MARKOV CACHEE.
Les éléments d’une CMC sont donc :
2022 N : le nombre d’états du modèle. Les états forment l’ensemble
S =
tsli 821
...,1 SNI-
e M : le nombre de
symboles
différentsgénérés
par la CMC. Cessymboles
forment l’ensemble V
= {v1, v2, ... vM}.
e Matrice de distribution des
probabilités
de transition : A ={aij}.
Cettematrice est de dimension N x N. Le terme
générique
aijdésigne
laprobabilité
detransiter d’un
état si
vers un état si . La matrice eststochastique,
i. e. la somme de tousles aij d’une
ligne
de la matrice estégale
à 1.e Matrice de distribution des
probabilités
degénération
dessymboles :
B
= bj (v).
Cette matrice est de dimension N x M. Le termegénérique bj(v) désigne
la
probabilité
pour que la CMC se trouve dans l’état si etgénère
lesymbole
v. Lamatrice B est
stochastique.
e Matrice de distribution des
probabilités
initiales : II ={03C0i }.
Cette matrice est de dimension 1 x N. Le termegénérique
7ridésigne
laprobabilité
que la CMCse situe dans l’état si à l’instant initial. La matrice II est
stochastique.
En
résumé,
la CMC est définie par letriplet
de matrices noté À =(A, B, II) .
2.2.
Exemple
Considérons un lancer de
pièce
de monnaie. Nousdisposons
de troispièces (biaisées).
Le lanceur ne nous informe pas de lapièce qu’il
achoisie,
et pour une même observationdonnée,
lessymboles (pile
ouface) peuvent
êtregénérés
tour à tourpar la
pièce
une deux et trois. Une chaîne de Markov cachée modélisel’expérience
dela manière suivante. On considère
qu’un
état modélise unepièce,
et que cet étatpeut produire
deuxsymboles : pile
et face. On admet alors que l’onpeut
passer d’un état àun autre
(c’est-à-dire changer
depièce)
suivant certaines lois deprobabilités,
et quechaque pièce possède
sa propre distribution deprobabilités
pourgénérer
lessymboles pile
et face. Laséquence
de(pile-face)
esttoujours
observable(matrice B),
mais laséquence
d’étatsqui
aengendré
cetteséquence
n’est pas observable(matrice A).
Ondit alors
qu’elle
est cachée.2.3. Problèmes
fondamentaux
liés aux CMCTrois
types
deproblèmes
seposent
en relation avecl’emploi
d’une CMC :2.3.1. Problème d’évaluation
Evaluation de la
probabilité
degénérer
une observation : étant donnés uneobservation notée o de
longueur
T et une CMC notéeA,
ils’agit
d’évaluer laprobabilité
avec
laquelle
la CMC Àpeut engendrer
l’observation o notéeP(o|03BB).
Cette valeurpeut
bien sûr être calculéedirectement,
mais leproblème
est résolu parl’algorithme
Forward
qui
permet le calcul avec unecomplexité
bien inférieure(N2T opérations)
au lieu de
2T NT opérations
pour le calcul direct.86 T. BRO UARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
Exemple
d’observation :(avec P=pile
etF=face) :
o = PPPFFPFFPPPFPP FIGURE 1Exemple
de chaîne de Markov cachée : modélisation d’un lancer avec 3pièces
de monnaie2.3.2. Problème du meilleur chemin d’états
Trouver le chemin d’états
optimal :
étant donné une observation notée o et uneCMC notée
À,
déterminer le chemin d’étatsnoté q
leplus probablement
suivi lors de lagénération
de l’observation o par la CMC A. Cequi
se noteP(qlo, A)
maximal. Ce chemin est déterminé parl’algorithme
deViterbi, qui
faitappel
à destechniques
deprogrammation dynamique.
2.3.3. Problème
d’optimisation supervisée
d’une CMCOptimisation supervisée
du modèle : étant donné une observation notée o, déterminer le modèle 03BB d’architecture connue tel que saprobabilité
degénérer
l’observation o soit maximale. Plusieurs
algorithmes
existent dans ce domaine dont le«k-segmental
means»[18]
etl’algorithme
de Baum-Welch. Lepremier
réestimeles valeurs du modèle en faisant un
simple comptage
en association avecl’algorithme
de
Viterbi,
alors que le second utilise ungradient.
87 APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
2.3.4. Problème
d’optimisation non-supervisée
d’une CMCOptimisation non-supervisée
du modèle : étant donné une observation notée o,déterminer le modèle 03BB d’architecture inconnue tel que sa
probabilité
degénérer
l’observation o soit maximale. Nous proposons dans ce domaine un
algorithme génétique hybride appelé
GHOSP utilisantl’algorithme
de Baum-Welch[10].
3. Problèmes
numériques
liés àl’optimisation
L’optimisation
d’un modèle de Markov caché parl’algorithme
de B aum-Welch nécessite le calcul de variables notées03B1t(i)
et03B2t(i).
Ces variables sont définiescomme suit :
Ces variables sont
interprétées
de la manière suivante :. at
(i)
est laprobabilité
que la chaîne de Markov cachée Agénère
l’observationpartielle
0102 ... ot-1ot et que cette chaîne soit dans l’état si à l’ instant t(Qt
est lavariable aléatoire modélisant l’état caché de la chaîne à l’instant
t).
e
(3t (i)
est laprobabilité
que la chaîne de Markov cachée 03BBgénère
l’observationpartielle
ot+1 ... OT et que cette chaîne soit dans l’état si à l’instant t.Le calcul de
03B1t(i)
et03B2t (i)
est réalisérécursivement,
sous forme deproduits
deprobabilités.
Cesproduits
tendent d’autantplus
vite vers zéro que les termesqui
lescomposent
sont nombreux. Le nombre de ces termes est directement lié à lalongueur
de l’observation que l’on veut faire
apprendre
à la CMC.Ce
phénomène
estappelé underflow.
Il se traduit par le faitqu’au
delà d’uncertain
point
les nombres deviennenttrop petits
pour êtremanipulés
par la machine.Le calculateur considère que ces nombres sont nuls et entraîne des
imprécisions,
voiredes erreurs de calcul lors de divisions par
exemple.
Dans l’état
actuel,
une CMC nepeut
pasapprendre
une observation«trop longue».
Dans lapratique,
onpeut
estimer lalongueur
limite àquelques
dizaines desymboles,
suivant lesproblèmes.
Leproblème
est encoreplus
difficile dans le cas del’apprentissage d’images, présentant
unegrande quantité
de données.4. Solutions
classiques
auproblème
de l’underflowClassiquement
on résout leproblème
de l’underflow dansl’algorithme
deBaum-Welch par des méthodes
(dites
de«rescaling»)
introduisant des facteurs de cor-rection
(appelés
facteurs derescaling).
Le castypique ([18][13])
consiste à normaliser les valeurs des03B1t(i)
et03B2t(i).
Oncorrige
ensuite l’effet de cette normalisation lors de la réestimation desparamètres
de la CMC. L’inconvénientmajeur
estl’augmentation significative
du coût en nombred’opérations
desalgorithmes.
Une seconde méthode[12]
consiste àremplacer
lesprobabilité conjointes (P(o102 ...
Ot,Qt =
si|03BB))
par88 T. BROUARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
les
probabilités
aposteriori (P(Qt
= si10102
... ot,A»
dans les calculs des variables Forward(at(i»
et Backward(03B2t(i)).
Nous ne nous intéresserons iciqu’aux
seulesméthodes de
rescaling
car la secondeapproche
n’estqu’une approximation
de lathéorie.
4.1.
Rappel
des relations de base[18]
4.1.1.
Variable forward
Ces coefficients sont
regroupées
dans la matrice ce. Uneligne
d’indice t est associée ausymbole
derang t
dans l’observation. Une colonned’indice j
est associéeà l’état caché sj. A l’intersection de cette
ligne
et de cettecolonne,
on trouve lecoefficient
03B1t(j).
4.1.2. Variable backward
Ces coefficients sont
regroupées
dans la matrice{3 .
Uneligne
d’indice test associée ausymbole
derang t
dans l’observation. Une colonne d’indice i est associée à l’état caché si . A l’intersection de cetteligne
et de cettecolonne,
on trouve lecoefficient
03B2t (i).
4.2.
Rescaling
de la matrice aLa méthode
proposée
par Rabiner[ 18]
consiste à calculer uneligne
de la matricea
puis
à normaliser celle-ci de telle sorte que la somme des éléments de cetteligne
soit
égale
à 1. Pourchaque ligne
d’indice t de cette matrice on introduit donc uncoefficient de normalisation ct définit par :
89
APPRENTISSAGE DUNE CHAÎNE DE MARKOV CACHÉE.
A la
première itération,
on calculeai (i)
== 1I"i .bi(o1)
Vi E 1... NOn
peut
alors calculer le coefficient de normalisation de lapremière ligne
cl :On normalise alors la
première ligne
de a pour obtenir les coefficients1 (i) :
A la seconde
itération, (sans rescaling)
on a :Posons :
ce
qui
donne :Puis on normalise ces valeurs :
Pour le terme
général ât+ 1 (j)
on a :NB. Dans la suite de
l’exposé,
on note :90 T. BRO UARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
4.3.
Modification
du calcul deP(o|03BB)
Soit
En utilisant le
rescaling,
on a :D’où:
D’après
la définition durescaling,
on a :D’où :
Donc
l’expression
deP(o|03BB)
estégale
àO CT.
4.4.
Rescaling
de la matrice03B2
L’ordre de
grandeur
des03B2t (i)
étant sensiblement le même que celui des cet(i),
les mêmes coefficients de
rescaling
leur sontappliqués.
Celapermet également
den’induire
pratiquement
aucune modification dans les formules de réestimation desaij, bj(ot) et 03C0i.
La démonstration du calcul de
t (i)
est sensiblement la même que celle det(i).
Sans
rescaling ,
on a :91
APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
Ce
qui
devient avecrescaling :
Posons :
D’où,
enremplaçant {3T(i) :
La normalisation de ces coefficients donne alors :
Le terme
général i3t+1 (i)
est donné par :NB. Dans la suite de
l’exposé,
on notee les valeurs sans
rescaling
sont notées at(i), 03B2t (i),
aij,bj (0t),
03C0ie les valeurs avec
rescaling
sont notéesât (i), 1 ot (i)
- e
les réestimations desparamètres
sansrescaling
de la CMC sont notéesaij, bj(ot),03C0i
. les réestimations des
paramètres
avecrescaling
de la CMC sont notéesraij,rbj(ot),r03C0i
92 T. BROUARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
4.5. Formules de réestimation des
paramètres
d’une CMCdans le cas d’un seul vecteur d’observations
Dans la formule
(26),
la sommation n’est effectuée que pour les indices t~ {1,..., T}
pourlesquels
ot - vs d’ou la notation t = 1 A(ot - vs )
pour la valeur initiale de l’indice de la somme. Ces relations sont difficilementapplicables lorsque
lalongueur
d’une observation devient trèsgrande (de
l’ordre dequelques
milliers à
quelques
dizaines demilliers).
La raison est liée à la correction du calcul deP(o|03BB).
Eneffet,
laprobabilité
d’une observation est :où ct
désigne
le coefficient de normalisation pour lesymbole
derang t
dansl’observation. Les
probabilités
étantpetites,
les coefficients de normalisation ct sontgrands. Lorsque
T est trèsgrand,
leproduit
des coefficients ct devient tellementgrand
que laprécision
en machine est insuffisante pour lereprésenter.
Le calculateur assimile alors ce nombre à l’infini. Un nouveauphénomène apparaît : l’overflow.
Nous proposons ci-dessous une solution nous
permettant
la résolution de l’underflowen évitant celui de l’ overflow.
5. Solution vectorielle du
problème
de l’underflow -Application
àl’image numérique
L’apprentissage
d’uneimage (en apprenant
les niveaux degris
despixels) produit
des observations de trèsgrande
taille cequi implique,
comme on l’a vuci-dessus des
problèmes
de calcul.93 APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
Deux orientations sont alors
possibles :
1)
coderl’image
différemment(par exemple
en ladécoupant
en zones et encodant la bande passante de
chaque
zone[11]).
2)
poser leproblème différemment,
defaçon plus adaptée
àl’image
et introduirede nouveaux outils.
Nous allons
présenter
la secondeapproche.
Nous introduirons enpremier
lieu une architecture de CMC mieux
adaptée
à la modélisation del’image.
Puisnous décrirons une méthode
d’apprentissage
encorrespondance
avec la nouvelle architecture. Cette méthodepermet
de contourner defaçon
efficace lesproblèmes
del’underflow et
d’ overflow,
avec un coût de calcul bien moindre.5.1. Les modèles de Markov cachés
pseudo-2D
Ces modèles ont été
appelés
modèles de Markov cachéspseudo-2D (CMC p2D)
parAgazzi et
al.[1]
dans leurs travaux sur la reconnaissance de mots-clés.La dénomination
«pseudo-2D»
vient de leur architecture dont les états ne sont pascomplètement
connectés entre eux. Leuremploi
sejustifie
par le fait que ces modèles sont mieuxadaptés
à la modélisationd’images [23][26] comparé
aux chaînes deMarkov cachées
ergodiques
ougauche-droite [18].
Nous utilisons donc cetype
de modèle afin de déterminer l’architecture de la CMCp2D
la mieuxadaptée
àl’image
que l’on désire
apprendre,
sachant que l’on détermine par la suite une architecture de CMCéquivalente (cf.
5.1.2Passage
d’une CMCp2D
vers uneCMC).
5.1.1. Présentation des CMC
p2D
Une CMC
p2D
est une chaîne de Markov(CM) composée
de« super-états ».
Lefonctionnement de cette CM est
régi
par deux matrices : A et II.Chaque super-état représente
une CMC.Globalement, chaque
CMC est associée à unerégion
del’image,
et la CMC
p2D gère
la transition d’une CMC àl’autre, permettant
ainsi la constitution del’image
enjuxtaposant
les différentesrégions
modélisées par les CMC. Pour cetteraison,
les CMCp2D
sont des modèles associés à un sens debalayage
del’image (généralement
de lagauche
vers la droite et de haut enbas) [18].
L’architecture des modèles
pseudo-2D peut
se déduire assez facilement de la structure del’image.
Lafigure
2 montre uneimage simple
et une architecture de CMCpseudo-2D possible. L’image
estdécoupée
en 5 bandes verticales à chacunedesquelles
on associe unsuper-état. Chaque
bande verticale est ensuite parcourue de haut en bas en associant àchaque
transition de niveau degris
un état caché d’une CMC.5.1.2.
Passage
d’une CMCp2D
vers une CMCL’architecture
plus complexe
des CMCp2D
nécessite l’introduction de nou-veaux
algorithmes
d’évaluation etd’apprentissage.
Pour contourner ceproblème,
onutilise des
algorithmes
de passage d’une CMCp2D
vers une CMCéquivalente.
Onobtient alors une
CMC,
cequi permet
la réutilisation desalgorithmes
des CMC.Deux méthodes de passage d’une CMC
p2D
vers une CMC(avec
et sans introduction94 T. BRO UARD, M. SLIMANE, J.-P. ASSELIN de BEA UVILLE, G. VENTURINI
FIGURE 2
Exemple d’image («hl »)
et d’architecture deCMC pseudo-2D
associéed’états cachés
fictifs)
sont décrites dans[22]
et[8].
A titred’exemple,
nous donnonsici le
principe
de celle que nous utilisons.L’idée de base est d’éliminer la notion de
super-état
enreportant
les transitionss’y
rattachant sur les états de début et de fin des CMC concernées. Parexemple,
la transition du
super-état
1(constitué
de la CMC1)
vers lesuper-état
2(constitué
de la CMC
2)
estremplacée
par une transition du dernier état caché de la CMC 1vers le
premier
état caché de la CMC 2. Demême,
laprobabilité
de rester dans lemême
super-état
se traduit par unprobabilité
de passer du dernier état caché vers lepremier
état caché de la même CMC. Lesprobabilités
associées à ces transitions sont réévaluées parl’algorithme
deBaum-Welch,
et neposent
donc aucunproblème
de calcul. La
figure
3 donne unexemple
de transformation d’une CMCp2D
en uneCMC. La
figure
du hautreprésente
la CMCp2D.
Lafigure
du bas donne la CMCéquivalente.
On remarquera laprésence
de transitions entre le dernier état de la CMCprécédente
et lepremier
état de la CMC suivante(notées p1).
Notonségalement
lestransitions de
rebouclage
sur lesuper-état (notées p2).
5.2.
Apprentissage
simultané deplusieurs
vecteurs d’observationsPrécédemment,
les données étaient soumises ausystème
sous la forme d’un seul vecteur d’observations rassemblant toutes les données del’image.
Maintenant elles vont êtreprésentées
sous forme deplusieurs
vecteurs d’observations construits selon laprocédure
suivante : ondéplace
une fenêtred’échantillonnage
surl’image.
Achaque position
de la fenêtre on va constituer un vecteur. Ce vecteur estsimplement
réalisé enjuxtaposant
les valeurs des niveaux degris
de la zone contenue dans lafenêtre, ligne
par
ligne. Ainsi,
une fenêtre de 5 x 3pixels engendrera
àchaque position
surl’image
un vecteur de 5 x 3 == 15
valeurs, composé
de lajuxtaposition
de 5lignes
de 3pixels.
On
peut également permettre
un recouvrementpartiel
des fenêtres. Cettetechnique permet
de réduire l’effet dudécoupage
arbitraireimposé
par ledéplacement
de lafenêtre. D’autre
part
elleaugmente
artificiellement le nombre de données à soumettre à la CMC.95
APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
FIGURE 3
Transformation
d’uneCMC pseudo-2D
en une CMCLa
phase d’apprentissage
consiste à soumettre l’ensemble de ces vecteurs aumodèle. Un
algorithme
de Baum-Welchadapté
à cette situation[9]
vaoptimiser
les
paramètres
du modèle(voir ci-dessous). Remarquons qu’il
nes’agit
pas ici de faireapprendre
à la CMC une sorte de vecteurprototype.
Il ne faut pas oublier que l’architecture de la CMC est detype gauche droite,
mais que des retours en arrière sont autorisés sur certains groupes d’états. Cela revient à direqu’un
groupe d’états(un
superétat)
vaapprendre
un certain groupe de vecteurs.Ainsi,
un super état se trouve associé à une zone del’image.
C’estl’algorithme d’apprentissage qui
détermine la frontière entre les groupes de vecteurs.5.3. Notations
Une observation o est constituée de K vecteurs
oi,
chacun delongueur rB
On
applique
le calcul des03B1t(i) et des 03B2t+1 ( j )
àchaque vecteur
d’observations0 .
Cequi
conduit donc au calcul de03B1kt(i), 03B2kt+1(j),
et deP(okIÀ).
5.4. Réestimation de la matrice II
On considère maintenant la
probabilité
de commencer dans l’état si sachant les K vecteurs d’observations. On propose ici d’estimer cetteprobabilité
par la moyenne.Il
serait,
biensûr, possible d’adopter
d’autresstratégies
telles que, parexemple,
laprobabilité maximum,
ou laprobabilité médiane,
ou laprobabilité
modale...96 T. BRO UARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
Soit
Il vient alors :
On
peut
vérifier que la matrice obtenue eststochastique.
Il suffit de calculer lasomme des éléments de la matrice réestimée en tenant
compte
du fait que :5.5. Réestimation de la matrice A
On considère les variables
03BEt(i,j)
et03B3t(i)
définies dans[18] :
On étend alors ces
expressions
en introduisant les K vecteurs :97 APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
La réestimation est obtenue en sommant sur les K vecteurs de l’observation.
Les nouveaux termes sont donc :
On
développe
le numérateur et le dénominateur :La matrice A obtenue est
stochastique.
5.6. Réestimation de la matrice B
En tenant
compte
des mêmes remarquesqu’au paragraphe
5.5 le termegénéri-
que est donné par la relation :
On
développe
le numérateur et le dénominateur avec :ce
qui
donne :98 T BRO UARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
La matrice B obtenue est
stochastique.
5.7.
Algorithme
de Baum-Welch avec vecteurs d’observationsCet
algorithme implémente
les formules de réestimation d’une CMCprésentées
en
(29), (38)
et(41).
Ils’appuie
sur le calcul des variables Forward(12)
et Backward(23).
Notations
employées
dansl’algorithme :
K : nombre de vecteurs dans l’observation o
~ Nombrelteration : nombre d’itérations à effectuer
~
a
etk
matrices03B1,03B2
etprobabilité P( olÀ)
associées à un vecteur d’observationso
~
calcul-forward-backward() :
fonctionqui
calcule les K matricesce k (renvoyées
dans un tableau de matrices notéa),
les K matricesj3k (renvoyées
dansun tableau de matrices noté
/3),
et les K valeursP(ok|03BB) (renvoyées
dans un tableaude valeurs noté
P) d’après
une CMC À et une observation o. Elle utilise la relationvue en 5.4 pour calculer et renvoyer la valeur de
P(o|03BB).
Algorithme :
Baum-Weich avec vecteurs d’observationsDébut
compteur ~ 1 ;
P(o|03BB) ~ 0;
Tant que
((compteur Nombrelteration)
et(P(o|03BB) 1» faire
/* calculer les
Qk, j3k
etP(ok|03BB)
*/P(oIÀ)
~ calcul-forward-backward(À,
o, a,j3, P)
99
APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
/* réestimer les
paramètres
du modèle *//*
recopier
la CMC réestimée À* dans la CMC courante À */03BB ~ 03BB*
/* incrémenter le nombre d’itérations */
compteur ~ compteur -)-1 ;
Fin tant que
Renvoyer (03BB*);
Fin
6.
Rescaling appliqué
aux formules de réestimation d’une CMCavec vecteurs d’observations 6.1. Notations
2022 les valeurs sans
rescaling
sont notées03B1kt(i), 03B2kt(i), aij,bj(ot),
03C0i2022 les valeurs avec
rescaling
sont notéeskt(i), kt(i)
2022 les coefficients de
rescaling
sont notésCkt, Dt
2022 les réestimations des
paramètres
sansrescaling
de la CMC sont notéesaij,bj(ot),03C0i
2022
les réestimations desparamètres
avecrescaling
de la CMC sont notéesraij,rbj(ot),r03C0i
100 T. BROUARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
6.2. Réestimation de la matrice 1-I
L’équation (29)
devientaprès
introduction deskt (i), kt (i) :
On a les relations suivantes :
Compte
tenu des relations(43)
et(44), l’équation (42)
devient :En considérant que :
on se ramène à :
Nous devons introduire un facteur correctif dans
(47)
afin de retrouverl’équation
de réestimation
(29). Ici,
le facteurdépend
dechaque
observation. D’où enappliquant
cette méthode :
La matrice obtenue est
stochastique.
101
APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
6.3. Réestimation de la matrice A
L’équation (38)
devientaprès
introduction deskt (i), kt (i) :
Considérant les
équations (43)
et(44),
il vient :On
simplifie
cetteéquation
en considérant que :Ce
qui
donne :Il suffit de
corriger l’expression
ensupprimant
le facteurP(ok|03BB)-1
del’équation (49)
car ce facteurapparaît
naturellement à cause durescaling.
Cequi
102 T BRO UARD, M. SLIMANE, J.-P. ASSELIN de BEA UVILLE, G. VENTURINI
donne :
La matrice obtenue est
stochastique.
6.4. Réestimation de la matrice B
L’équation (41)
devientaprès
introduction deskt (i), kt (i) :
Considérant les
équations (43)
et(44),
il vient :On
simplifie
cetteéquation
en considérant que :Ce
qui
donne :103 APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
Il suffit de
corriger l’expression
ensupprimant
le facteurP(ok|03BB)-1
del’équation (54)
car ce facteurapparaît
naturellement à cause durescaling.
Il fautégalement
introduire un facteur pourcorriger
l’effet durescaling
sur lesproduits
kt(j) · kt(j).
Cequi
donne :La matrice B obtenue est
stochastique.
7.
Application
àl’apprentissage d’images
Nous
présentons
ici une illustration des méthodesprésentées précédemment
à
l’apprentissage d’images.
Nous avons réalisé ces tests sur desimages (100
x100
pixels,
256 niveaux degris). Chaque image
est transformée en observation de deux manières. Lapremière
consiste à former un seul vecteur avec tous lespoints
de
l’image.
La seconde consiste à échantillonnerl’image
par une fenêtremobile, générant
ainsi un vecteur àchaque
nouvelleposition
de la fenêtre. Dans lepremier
cas, on obtient un seul vecteur de 10000 valeurs. Dans le second cas nous avons obtenu 400 vecteurs de 25 valeurs chacun
(les
fenêtres avaient une taille de5x5,
et surchaque
axe on
peut
former 100/5 = 20fenêtres).
Puis nous avons traité ces observations par chacun desalgorithmes d’optimisation.
Lapremière
observation(l’unique
vecteur de10000
valeurs)
a été fournie à deuxalgorithmes :
Baum-Welch sansrescaling (BWSR)
et Baum-Welch avec
rescaling (BWAR).
Le second ensemble d’observations(les
400vecteurs de 25
valeurs)
a été fourni auxalgorithmes
de Baum-Welchadaptés
auxvecteurs d’observations sans
rescaling (BWvoSR)
et avecrescaling (BWvoAR).
On a
préalablement
déterminé une CMCpseudo-2D d’après l’image, puis
converticelle-ci en CMC. Cette CMC sert de
point
dedépart
pour lesquatre algorithmes.
Nous avons
paramétré l’algorithme
de construction de la CMCp2D
pour avoir peu d’états cachés(La
CMC obtenuecomporte
neuf étatscachés).
A l’issue de ces tests nous avons
compté
dans la matrice a le nombre de valeurssupérieures à un
certain seuil(respectivement 10-2
et10-4)
car laprobabilité P (0 1 A)
est calculée à
partir
des coefficients de cette matrice. Les valeurs inférieures à ce seuil sont considérées comme nulles. On obtient ainsi deux classes. Lapremière
est celledes valeurs de
probabilités
nulles(inférieures
au seuil de10-2
ou10-4)
et la secondeest celle des valeurs non-nulles. Les tableaux et les
graphiques
suivantsprésentent
lesrésultats obtenus pour 6
images
enappliquant
lesquatre algorithmes.
Le tableau 1 donne pour chacune des six
images
testées lepourcentage
de valeurs non-nulles(supérieures
au seuil de10-2)
contenues dans la matrice a à l’issue del’optimisation
avec chacun desquatre algorithmes.
Le tableau 2 donne les mêmesrenseignements
au seuil de10-4.
Dans cedernier,
on constate,qu’en
moyenne
l’emploi
del’algorithme
de Baum-Welch sansrescaling
avec un seul vecteur104 T. BROUARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
FIGURE 4
Schématisation du test de
comparaison
réalisé105
APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
TABLEAU 1
Pourcentage
de valeurs non-nulles dans la matrice apour
chaque algorithme (au
seuil de10-2).
TABLEAU 2
Pourcentage
de valeurs non-nulles dans la matrice apour
chaque algorithme (au
seuil de10-4)
d’observations ne fait
apparaître
dans la matrice a que 0.7% de valeurs non nulles.L’ajout
d’unetechnique
derescaling porte
ce résultat à 97.19%.L’emploi
de latechnique
des vecteurs d’observations sansrescaling
obtient un résultat(11.96%),
bien que très
faible,
nettement meilleur parrapport
à la méthode de base(sans rescaling,
ni vecteursd’observations). L’ajout
de latechnique
derescaling
donneun résultat sensiblement
équivalent
à la méthodequi n’emploie qu’un
seul vecteurd’observations
(97.05%). Soulignons
ici le fait que les méthodesqui n’emploient qu’un
seul vecteur d’observations n’ont puapprendre
la CMC. Les deuxalgorithmes
sont en effet
sujet
auproblème
d’overflowévoqué
auparagraphe
4.5. Par ailleurs, ilest facile de constater sur les
figures
5 et 6 que lerescaling produit
des résultatsplus
stables en fonction des
images
que les méthodes sansrescaling.
Notonségalement qu’entre
les seuils de10-2
et de10-4,
lephénomène d’amplification
reste encoretrès
marqué.
106 T BROUARD, M. SLIMANE, J.-P. ASSELIN de BEAUVILLE, G. VENTURINI
FIGURE 5
Pourcentage
de valeurs non-nulles dans la matrice 03B1 dans le cas d’uneoptimisation
avec et sans
rescaling (cas
avec un seul vecteur d’observationsà
gauche
et cas avecplusieurs
vecteurs d’observations àdroite)
au seuil de10-4.
FIGURE 6
Pourcentage
de valeurs non-nulles dans la matrice a dans le cas d’uneoptimisation
avec
et sansrescaling (cas
avec un seul vecteur d’observationsà
gauche
et cas avecplusieurs
vecteurs d’observations àdroite)
au seuil de10-2.
8. Conclusion
Dans cet article on a
présenté
lesprincipaux problèmes numériques
rencontréslors de la mise en oeuvre des chaînes de Markov cachées. On montre,
plus parti- culièrement,
que ces difficultés ont de fortes chances de seproduire lorsque
l’ondésire utiliser cet outil pour la modélisation ou
l’apprentissage d’image numériques.
Constatant que ces
problèmes
n’avaient pas reçu,jusqu’à aujourd’hui,
de solutionsatisfaisante nous avons
proposé
dans ce travail des méthodes et desalgorithmes
derescaling
desprobabilités susceptibles
d’être utilisés pour le traitement desimages numériques.
Lesexpérimentations
réalisées sur siximages
montrent les améliorationsremarquables
obtenues par cetteapproche
parrapport
à des solutionsplus classiques
basées soit sur un seul vecteur d’observations soit sur des
algorithmes
sansrescaling.
107 APPRENTISSAGE D’UNE CHAÎNE DE MARKOV CACHÉE.
9.
Bibliographie
[1]
AGAZZIO.,
KUOS.S., (1994), Keyword spotting
inpoorly printed
documentsusing pseudo-2D HMMs,
IEEE Transactions onpattern recognition
and ma-chine
intelligence,
vol.16(8),
pp 842-848.[2]
ALANIT.,
GUELLIFH., (1994),
Modèles de Markov cachés - théorie ettechniques
de base - Partie1, Rapport
de recherchen°2196, INRIA,
57 p.[3]
ANIGBOGUJ.-C., (1992),
Reconnaissance de caractèresimprimés
multifontes à l’aide de modèlesstochastiques
etmétriques,
Thèse dedoctorat,
Université deNancy I,
156 p.[4]
ASSELIN de BEAUVILLEJ.-P.,
SLIMANEM.,
VENTURINIG.,
LAPORTE J.-L.,
NARBEYM., (1996),
Twohybrid gradient
andgenetic
searchalgorithms
forleaming
hidden Markovmodels, Proceedings
of the International Conferenceon Machine
Learning (ICML’ 96),
Bari(Italy),
pp 5-12.[5]
ASKARM.,
DERINH., (1981),
A recursivealgorithm
for theBayes
solution ofthe
smoothing problem,
IEEE Transactions on AutomaticControl,
vol.26(2),
pp 558-561.
[6]
BAUML.E.,
EAGONJ.A., (1967),
Aninequality
withapplications
to statistical estimation forprobabilistic
functions of Markov processes and to a model forecology,
Bull. Amer.Soc.73,
pp 360-363.[7]
BAUML.E., (1972),
Ainequality
and associated maximizationtechnique
in sta-tistical estimation for
probabilistic
functions of Markov processes,Inequalities 3,
pp 1-8.[8]
BROUARDT.,
SLIMANEM.,
ASSELIN de BEAUVILLEJ.-P., (1996),
Lesmodèles de Markov cachés
pseudo-2D, Rapport
Internen° 176,
LIEIII, Tours, 26 p.
[9]
BROUARDT.,
SLIMANEM.,
ASSELIN de BEAUVILLEJ.-P., (1996),
Intro-duction aux modèles de Markov cachés du 1er ordre
(2ème Partie), Rapport
Interne n°
178,
LIEIII, Tours,
68 p.[10]
BROUARDT.,
SLIMANEM.,
VENTURINIG.,
ASSELIN de BEAUVILLEJ.-P., (1997), Apprentissage
du nombre d’états d’une chaîne de Markov cachée pour la reconnaissanced’images, 16ème Colloque
GRETSI sur le Traitement duSignal
et desImages, Grenoble,
pp. 845-848.[11]
CHENJ.-L.,
KUNDUA., (1994),
Rotation and gray scale transform invariant texture identificationusing
waveletdecomposition
and hidden Markovmodel,
IEEE Transactions onpattern analysis
and machineintelligence,
vol.16(2),
pp 208-215.
[12]
DEVIJVERP.A.,
DEKESELM., (1988), Champs
aléatoires de Pickard et modélisationd’images digitales,
Traitement duSignal,
vol.5(5),
pp 131-150.[13]
DOURSC., (1989),
Contribution à l’étude dudécodage acoustico-phonétique
pour la reconnaissance