Você está na página 1de 16

______________________ Captulo 10 ______________________ Modelos de Markov no observveis

A metodologia de reconhecimento de fala baseada nos modelos de Markov no-observveis (HMM - Hidden Markov Models) uma das mais utilizadas. A teoria dos HMM foi publicada por Baum em 1966 [Baum (66)], sendo a primeira aplicao em reconhecimento de fala proposta por Jelinek logo em 1969 [Jelinek (69)]. No entanto, s a partir de 1975 estas aplicaes comearam a ser reportadas com regularidade [Baker (75)], [Jelinek (75)], [Bahl (75)] e s na dcada de 80 apareceram na literatura um conjunto de artigos explicitando a teoria popular. bsica [Levinson (83)], [Juang (84)], [Rabiner (89)], [Rabiner (93)], que permitiu que esta metodologia se tornasse to

190

10 - Modelos de Markov no observveis

Neste captulo faremos uma breve introduo aos fundamentos dos HMM discretos e apresentaremos o princpio da sua aplicao no reconhecimento de sinais de fala.

10.1 Processo Discreto de Markov


Considere-se um sistema que num determinado instante de tempo se encontra no estado i de entre N estados possveis S1, S2, .... SN. A intervalos de tempo regulares o sistema evolui para outro estado ou eventualmente permanece no mesmo, em funo de uma probabilidade de transio entre estados. Designaremos os diversos instantes de tempo por t=1,2,.... e o estado no instante t por qt. A descrio probabilstica deste processo estocstico requer o conhecimento dos estados ocupados nos instantes passados, ou seja

P (q t = S j | q t1 = S i , q t2 = S k ,......)

1i,j,kN.

(10.1)

Num processo de Markov de primeira ordem a descrio probabilstica condicionada apenas ao estado no instante anterior, podendo ser representado atravs de uma matriz de transio entre estados A={aij}, independente do instante de tempo, em que cada elemento definido por:
aij = P (qt = S j qt1 = Si )

1i,jN.

(10.2)

Esta matriz verifica as restries estocsticas de definio de probabilidades, nomeadamente:


aij 0
ij

a
j =1

=1

(10.3)

Processo Discreto de Markov

191

Como exemplo, considere-se o modelo de Markov com 3 estados, para descrever de um modo simplificado o estado do tempo [Rabiner(89)]. Neste modelo, cada estado corresponde observao, uma vez por dia, das seguintes condies atmosfricas: Estado 1: Dia chuvoso; Estado 2: Dia nublado; Estado 3: Dia com sol; Assumindo que o estado do tempo num dia apenas depende do estado do tempo no dia anterior e que a matriz de transio de estados dada por:
0.4 0.3 0.3 A = {aij } = 0.2 0.6 0.2 , 0.1 0.1 0.8

(10.4)

obtm-se a seguinte cadeia de Markov, ilustrada na figura 10.1

Figura 10.1 Exemplo de Cadeia de Markov com 3 estados

Admitindo que o tempo num determinado dia de sol (estado 3), pode perguntar-se, por exemplo, qual a probabilidade de os 7 dias seguintes serem dias de sol-sol-chuva-chuva-sol-nublado-sol. Se definirmos a sequncia de observaes O correspondente sequncia de estados {S3, S3, S3, S1, S1, S3, S2, S3}, a probabilidade da sequncia O dado o modelo dada por:

192

10 - Modelos de Markov no observveis

P (O | Modelo) = P (S 3 | S 3 )P (S 3 | S 3 )P (S1 | S 3 ) P (S1 | S1 )P (S 3 | S1 )P (S 2 | S 3 )P (S 3 | S 2 ) . = a33 a33 a31a11a13 a32 a23 = 0.8 0.8 0.1 0.4 0.3 0.1 0.2 = 1.536 10 4

(10.5)

O processo descrito denominado de modelo de Markov observvel, uma vez que a cada observao corresponde um estado. Este modelo no entanto bastante restritivo e incapaz de ser utilizado em muitos problemas reais. Para tornar o modelo mais flexvel, associa-se a cada estado uma funo distribuio de probabilidade de observaes. Assim, cada estado pode gerar uma observao, de entre um conjunto, de acordo com esta distribuio. A mesma sequncia de observaes pode assim ser gerada, com probabilidades diferentes, atravs de sequncias diferentes de estados. A sequncia de estados que gera uma sequncia de observaes no conhecida, pelo que este modelo se denomina de no-observvel. Estes modelos encontram aplicaes na soluo de uma grande variedade de problemas. Para ilustrar melhor este duplo processo estocstico, considere-se um conjunto de N urnas, cada uma com M bolas de cores diferentes. Estas urnas esto colocadas por detrs de uma cortina, apenas visvel a um indivduo que as manuseia. Este indivduo, de acordo com determinado processo aleatrio, escolhe uma urna inicial e retira dela uma bola mostrando-a atravs da cortina. A cor da bola a nica observao para quem est na sala. Seguidamente, a bola colocada na urna de onde foi retirada e escolhida outra urna atravs de um processo aleatrio que depende apenas da ltima urna escolhida. Para este caso, os estados correspondem s urnas escolhidas e as cores das bolas s observaes, sendo a probabilidade de cada cor definida diferentemente para cada urna.

Elementos de um HMM

193

10.2 Elementos de um HMM


Um modelo de Markov no-observvel caracterizado atravs dos seguintes elementos: 1) O nmero N de estados. Cada estado denotado de S={S1,S2,...,SN} e o estado no instante t denotado por qt. 2) A distribuio de probabilidades inicial para cada estado ={i}
i = P ( q1 = S i )

1iN.

(10.6)

3) A distribuio de probabilidades de transio entre estados definida pela matriz A={aij} em que aij = P (q t+1 = S j | q t = S i ) 1i,jN. (10.7)

4) O nmero M de smbolos distintos observveis por estado. Estes smbolos denotam-se de V={V1,V2,....,VM}. Dado que neste caso existe um nmero finito de smbolos, o modelo representado denomina-se de modelo discreto. 5) A distribuio de probabilidade dos smbolos observveis para cada estado Sj , B={bj(k)} em que: b j (k) = P (vk no instante t | q t = S j ) 1jN,1kM. (10.8)

A especificao do modelo pode ser descrita atravs da notao abreviada, =(A,B,). (10.9)

194

10 - Modelos de Markov no observveis

10.3 Gerao de sequncias de smbolos


Dado um modelo definido por A, B, e , pode-se gerar uma sequncia com T observaes O={o1, o2, ....oT}, em que cada observao ot um smbolo de V, atravs das seguintes etapas: 1) Faz-se t=1 e escolhe-se um estado inicial q1=Si atravs da distribuio de probabilidades inicial ; 2) Gera-se uma observao ot em funo da distribuio de

probabilidades de smbolos do estado Si, isto ot=Vk, com probabilidade bi(k) definida pela matriz B; 3) Transita-se para novo estado qt=Sj de acordo com a distribuio de probabilidades de transio entre estados definida pela matriz A; 4) Se t > T a sequncia est gerada. Caso contrrio incrementa-se t e retorna-se ao ponto 2;

10.4 Os trs problemas bsicos dos HMM


Para a aplicao dos modelos de Markov no-observveis em reconhecimento, existem trs problemas a serem resolvidos: 1) Determinao da probabilidade de uma sequncia de observaes: Dada uma sequncia de T observaes O={o1, o2, ....oT} e o modelo , qual a probabilidade, P(O|), de esta sequncia ter sido gerada pelo modelo? 2) Determinao da sequncia de estados: Dada uma sequncia de T observaes O={o1, o2, ....oT} e o modelo , qual a sequncia de estados Q={q1, q2, ..., qT} mais provvel ?

Determinao da probabilidade de uma sequncia de observaes

195

3) Estimao de parmetros: Dada uma sequncia (ou conjunto de sequncias) de observaes O={o1 o2, ....oT}, de que forma se ajusta os parmetros do modelo =(A,B,) de modo a maximizar a

probabilidade da sequncia dado o modelo, P(O|) ?

10.5 Determinao da probabilidade de uma sequncia de observaes


O clculo da probabilidade de uma sequncia O dado o modelo, utilizada no reconhecimento. Por exemplo, no reconhecimento de fonemas, dever existir um modelo i que represente cada fonema. Para uma sequncia de observaes, dado como reconhecido o fonema correspondente ao modelo com maior probabilidade P(O|i), utilizando o mtodo de classificao do mximo a posteriori. Para o clculo desta probabilidade repare-se que, assumindo conhecida a sequncia de estados Q={q1, q2,.., qT}, a probabilidade da sequncia de observaes ter sido gerada pelo modelo dada por,
P (O | Q, ) = P (O | q t , ) = bq1 (o1 )bq 2 (o 2 )....bqT (o T ) , (10.10)
t =1 T

e por outro lado, a probabilidade da sequncia de estados O dado o modelo : . P (Q | ) = q1aq q 2 aq q .....aq 1 23 T 1qT (10.11)

A probabilidade conjunta da sequncia de observaes e da sequncia de estados dado o modelo resulta do produto dos dois termos anteriores,

P (O, Q | ) = P (O | Q, )P (Q | ) .

(10.12)

196

10 - Modelos de Markov no observveis

Finalmente, a probabilidade da sequncia de observaes dado o modelo resulta da soma, para todas as sequncias de estados possveis, desta probabilidade conjunta:
P (O | ) =

P (O, Q | ) .
todos os Q

(10.13)

O clculo de P(O|) atravs da equao 10.13 extremamente pesada computacionalmente, envolvendo um nmero (2T-1)NT multiplicaes e NT-1 adies. Mesmo para apenas trs estados e 10 observaes por estado, este valor de 1180979. Felizmente possvel calcular esta probabilidade de um modo eficiente, atravs de um processo recursivo [Baum(66)], a que se d o nome de algoritmo progressivo-regressivo (forward-backward procedure). Considerando a varivel progressiva t(i) definida como a probabilidade de observao parcial da sequncia {o1, o2, ... ot} at ao instante t, conjuntamente com a ocorrncia do estado Si no instante t, dado o modelo,

t (i) = P (o1o 2 .....o t , q t = S i | ) .

(10.14)

Esta varivel pode ser calculada recursivamente atravs de: 1) Inicializao:

1(i) = i bi (o1 )
2) Recurso:
N

1 i N.

(10.15)

t + 1(j) = bj (o t + 1 ) t (i)a ij
i =1

1 t T 1,1 j N .

(10.16)

A probabilidade da sequncia de observaes dada pela soma da varivel progressiva para todos os estados Si no instante final T,
P (O | ) = T (i) .
i =1 N

(10.17)

Determinao da probabilidade de uma sequncia de observaes

197

O clculo de P(O|) utilizando este mtodo recursivo necessita apenas de N(N+1)(T-1)+N multiplicaes e N(N-1)(T-1) adies, o que para N=3 e T=10 perfaz 165 operaes, contra as 1180979 necessrias para o clculo atravs da equao 10.13. Pode-se tambm considerar uma varivel regressiva (backward)

t(i), que representa a probabilidade de ocorrncia da sequncia parcial


de observaes entre t+1 e T, {ot+1ot+2,...oT}, dado o modelo e dado que ocorreu o estado Si no instante t

t (i) = P (o t+1o t+ 2 ...o T | q t = S i , ) .

(10.18)

Esta varivel pode ser calculada recursivamente atravs de: 1) Inicializao

T (i) = 1
2) Recurso

1 i N.

(10.19)

t (i) = t +1(j)a ij b j (o t +1 )
i =1

t = T - 1, T 2....1, 1 j N . (10.20)

e a probabilidade P(O|) dada por:


P (O | ) = 1 (i) i .
i =1 N

(10.21)

Repare-se que, a probabilidade P(O|) em qualquer instante t, pode ser tambm calculada com ambas as variveis progressiva e regressiva, atravs de:
P (O | ) = t (i) t (i) .
i =1 N

(10.22)

198

10 - Modelos de Markov no observveis

10.6 Determinao da sequncia de estados


Este problema prende-se com a determinao da sequncia de estados correspondente a uma dada sequncia de observaes. Tal como j referido, uma mesma sequncia de observaes pode ter sido gerada por diferentes sequncias de estados. Assim, a determinao da sequncia de estados correspondente a uma sequncia de observaes ter que obedecer a um determinado critrio. Critrios diferentes conduziro em geral a solues diferentes. Um dos critrios possvel escolher em cada instante t o estado com maior probabilidade. A probabilidade do estado Si estar ocupado no instante t dada por:

t ( i) =

t (i) t (i) (i) t (i) = N t , P (O | ) t (i) t (i)


i=1

(10.23)

sendo a melhor sequncia de estados utilizando este critrio dada por:

qt = arg max( t( i))


1 i N

1tT.

(10.24)

Embora este mtodo maximize o nmero de estados com maior probabilidade em cada instante, pode gerar uma sequncia de estados no vlida, bastando para isso que a probabilidade de transio entre dois estados seja zero. Uma outra soluo escolher a sequncia de estados que gera a sequncia de observaes em causa com maior probabilidade, P(Q|O,), que equivalente a maximizar P(Q,O|). Esta maximizao realizada de forma eficiente pelo algoritmo de Viterbi: 1) Inicializao:

Estimao de parmetros

199

1( i) = ibi( O1 )

1 i N,

(10.25a) (10.25b)

1( i) = 0.
2) Recurso:

1 i N.

t( j ) = max(bj ( ot ) t 1(i)aij )
1 i N

2 t T ,1 j N

, (10.26a)

t ( i) = arg max( t 1( i)aij )


1 i N

2 t T,1 j N

(10.26b)

3) Terminao:
P * = max( t(i))
1 i N

(10.27a)

* q* = arg max ( t(i)) . T 1 i N

(10.27b)

4) Escolha da melhor sequncia:


* * q t = t + 1q t + 1

t = T-1,T- 2,......,1 .

(10.28)

10.7 Estimao de parmetros


A determinao dos parmetros do modelo, de forma a maximizar a probabilidade P(O|), no tem uma soluo ptima conhecida. A soluo mais utilizada envolve a criao de um modelo inicial (por exemplo de um modo aleatrio) e um mtodo de reestimao iterativo, em que cada novo modelo gera a sequncia de observaes, com maior probabilidade que o modelo anterior. Utilizando o conceito de frequncia de ocorrncia, o novo modelo

= ( A , B , ) calculado a partir de (reestimao de Baum-Welch):

200

10 - Modelos de Markov no observveis

i =

nmero de vezes no estado Si no ins tan te t = 1 , ~ nmero total de ocupao es no instate t = 1


nmero de transies do estado Si para o estado Sj nmero total de transies do estado Si
nmero de vezes no estado Sj se observou vk nmero total de vezes no estado Sj

(10.29a)

ij =

(10.29b)

i( k ) =

(10.29c)

sendo os valores do lado direito destas equaes calculadas a partir do modelo presente . Foi provado por Baum que este procedimento melhora a probabilidade de observao da sequncia, ou seja:
P (O | ) P (O | ) .

(10.30)

A reestimao efectuada at ser atingido um determinado critrio de paragem, e.g., no existam melhorias considerveis entre duas iteraes. De forma a concretizar as equaes 10.29(a-c), define-se a varivel intermdia t(i,j), como a probabilidade conjunta de ocupar o estado Si no instante t e ocupar o estado Sj no instante t+1:
t( i, j ) = = t( i)aijbj( ot +1 ) t +1( j ) P( O | ) t( i)aijbj( ot +1 ) t +1( j ) i=1 j =1

(10.31)

t( i)aijbj( ot+1 ) t+1( j )

A probabilidade de ocupar o estado Si no instante t dado pela equao 10.23 pode ser calculada utilizando 10.31, somando t(i,j) para todos os j:
t( i ) =
N

t( i, j )
j =1

(10.32)

Aplicao dos HMM em reconhecimento.

201

As equaes de reestimao podem ento ser rescritas utilizando estas variveis auxiliares:
i = 1( i) ,

(10.33a)

t( i, j )
aij =
t =1 T 1 t =1

T 1

t( i )
T

(10.33b)

bj( k) =

t =1 Ot = vk T t =1

t( j )
. (10.33c)

t( j )

10.8 Aplicao dos HMM em reconhecimento.


No reconhecimento das baseado do em HMM, existem a modelos O probabilsticos entidades vocabulrio reconhecer.

reconhecimento efectuado determinando a probabilidade da entidade a reconhecer sido gerada por cada um dos modelos. Para a construo de um reconhecedor de sinais de fala utilizando HMM, deve-se inicialmente construir um conjunto de modelos, um para cada classe de sons (fonemas, palavras, etc.) a reconhecer, atravs dos seguintes passos que constituem a fase de treino: 1) definir o conjunto de classes de sons a reconhecer que corresponder ao nmero L de modelos a treinar; 2) escolher uma topologia (o tipo de modelo, o nmero de estados e o nmero de observaes por estado);

202

10 - Modelos de Markov no observveis

3) obter, para cada classe, um conjunto com dimenso razovel de dados de treino; 4) treinar os modelos utilizando, por exemplo, a reestimao de Baum-Welch; Para o reconhecimento de um som, comea-se por extrair a sequncia de observaes correspondente ao sinal de fala. Seguidamente calculada a probabilidade da sequncia de observaes, dado cada um dos modelos. Atribu-se sequncia de observaes a som (classe) associado ao modelo que obteve a mxima probabilidade.
P (O | j ) = max P (O | i )

1 i L.

(10.34)

O esquema de blocos do reconhecedor utilizando estes modelos apresentado na figura 10.2.


1

Extraco da Sequncia de Observaes

Som Reconhecido

Figura 10.2 Esquema de blocos de um reconhecedor de entidades isoladas.

As caractersticas do sinal de entrada que servem como observaes, obtidos trama-a-trama, so normalmente parmetros espectrais derivados de LPC tais como os cepstrum, a energia, e as respectivas variaes em relao trama anterior (delta cepstrum e delta energia). Sendo estes valores contnuos, necessrio proceder sua quantificao vectorial, tornando-os um conjunto finito de

Aplicao dos HMM em reconhecimento.

203

smbolos,

resultando

numa

degradao

da

percentagem

de

reconhecimento, a menos que se utilize um livro de cdigo bastante grande. Outra soluo para este problema a utilizao de modelos contnuos, onde as distribuies associadas s observaes so caracterizadas por uma mistura de funes densidade de probabilidade, normalmente com distribuio gaussiana:

bj( O ) =

m =1

cjm( O, jm, U jm )

1 j N,

(10.35)

em que O vector a ser modelado, cjm o peso ou coeficiente da

m-sima mistura no estado Sj. e (cjm, jm,Ujm), com mdia jm e


covarincia Ujm. A funo densidade de probabilidade da equao 10.34 pode ser usada, desde que com o nmero suficiente de misturas, para aproximar qualquer funo contnua. A equao da reestimao de

bj(k) dada pela equao 10.33c desdobra-se nas equaes para reestimar cjm, jm e Ujm [Rabiner (85)].
Nas aplicaes dos HMM para o reconhecimento de fala, no se usa normalmente modelos ergdicos (completamente ligados) mas sim modelos esquerda-direita, ou seja, modelos em que de um estado Si s possvel transitar para o estado Si+1, ou permanecer no mesmo estado, como mostra a figura 10.3.

Figura 10.3 Modelo Esquerda-Direita normalmente utilizado nas aplicaes de reconhecimento de fala

204

10 - Modelos de Markov no observveis

Esta topologia traz algumas simplificaes na estrutura dos parmetros do modelo, que se explicitam seguidamente. 1) A distribuio de estados inicial tem apenas um valor no nulo (igual a 1), correspondente ao estado S1 2) A matriz de distribuio das probabilidades de transio entre estados, tem, por cada linha, apenas dois valores no nulos. Os valores correspondentes a aii e a ai(i+1)

a11 0 0 0

a12 a 22

0 0

0 a 23 a33 0

0 0 , a34 1

(10.35)

sendo o ltimo estado um estado absorvente, s podendo transitar para si mesmo.

Você também pode gostar