2.3 Modelos de Markov n~ao observaveis
2.3.4 Os problemas elementares dos HMMs
S~ao geralmente identi cados como tr^es os problemas elementares dos HMMs de cuja resoluc~ao depende a sua aplicabilidade. As tr^es secc~oes seguintes descrevem esses proble- mas e apresentam as respectivas soluc~oes.
A formulac~ao seguinte costuma ser apresentada na literatura para observac~oes dis- cretas. Esta tradic~ao tem na maior parte dos casos, intuitos didacticos, uma vez que a maioria dos trabalhos actuais utiliza na pratica observac~oes contnuas e consequentemente func~oes de probabilidade contnuas.
O problema da avaliac~ao
Seguidamente, descreve-se o designado problema da avaliac~ao ou do teste do mo- delo. Dada uma sequ^encia de observac~oes O = fo1o2:::oTg, pretende-se calcular a probabilidade Pr(Oj) de esta sequ^encia ter sido produzida pelo modelo . Quando se disp~oe de varios modelos, a soluc~ao deste problema permite decidir qual deles tem maior probabilidade de ter produzido determinada sequ^encia para efeitos de classi cac~ao ou reconhecimento.
Para calcular a probabilidadePr(Oj) directamente, enumeram-se todas as sequ^encias possveis de estados S com comprimento T (o numero de observac~oes). Uma sequ^encia
xa de estados S 2S tem a seguinte probabilidade Pr(Sj) = s1TY;1
t=1astst+1: (2.15)
A probabilidade da sequ^encia de observac~oes O ter sido gerada a partir dessa sequ^encia de estados e dada por
Pr(OjS) = YT
t=1bst(ot):
A probabilidade conjunta deO e S ocorrerem simultaneamente e dada por Pr(OSj) =Pr(OjS)Pr(Sj):
50 Modelos de Markov n~ao observaveis Assim, a probabilidade de O dado o modelo e dada por
Pr(Oj) =X
S
Pr(OjS):Pr(Sj) (2.16)
=X
S
s1bs1(o1):YT
t=2ast;1stbst(ot):
Para efectuar este calculo s~ao necessarias (2T;1)NT multiplicac~oes eNT ;1 adic~oes no total de 2NT ;1 operac~oes. Mesmo valores relativamente pequenos de N e de T n~ao permitem que este calculo seja praticavel. Uma forma de analisar este calculo e o de que a cada instantet existemN estados possveis de atingir. Como so existemN estados, todas as sequ^encias de estado possveis t^em de passar repetidamente nestes N estados, qualquer que seja o comprimento da sequ^encia. Esta analise permite reduzir muito o numero de operac~oes anteriores conforme se explicara de seguida.
Considere-se a probabilidade de obter a parte da sequ^encia de observac~oes gerada ate ao instante t, quando nesse instante se chegou ao estadoi com o modelo
t(i) =Pr(o1o2:::otst=ij)
em que a probabilidade t(i) e designada por progressiva (\forward"). Estas probabilida- des podem ser calculadas por induc~ao pelas seguintes express~oes:
1(i) =ibi(o1) 1 i N
t(j) = bj(ot)XN
i=1 t;1(i)aij 2 t T 1 j N: (2.17) Por m, obtem-se a pretendida probabilidade da sequ^encia de observac~oes
Pr(Oj) =XN
i=1 T(i):
Esta forma de calculo de Pr(Oj) e designada por algoritmo progressivo. O numero de operac~oes necessarias e agora deN(N+1)(T;1)+N multiplicac~oes e deN(N;1)(T;1) adic~oes no total de 2N2(T;1)+N operac~oes. Tendo em conta queN e em geral inferior a 10 e que T e muito superior a 2, em geral na casa das centenas, veri ca-se que a economia de calculo e aproximadamente da ordem deN(T;2) vezes menos operac~oes com o algoritmo progressivo quando comparado com o calculo directo (ex: para os valores tpicos de N=5 e T=100 obtem-se aproximadamente 31068). De forma semelhante, pode-se considerar
Aplicac~ao dos HMMs no reconhecimento de fala 51 a probabilidade de obter as T;t ultimas observac~oes ate ao nal da sequ^encia no instante T, a partir da observac~ao ot produzida no instantet pelo estado i:
t(i) =Pr(ot+1ot+2:::oTst=ij):
A probabilidadet(i), designada por regressiva, (\backward") pode ser calculada por induc~ao com as seguintes express~oes:
T(i) = 1 1 i N e t(i) =XN
j=1aijbj(ot+1)t+1(j) 1 t T ;11 i N: (2.18) Obtem-se de novo a probabilidade da sequ^encia de observac~oes
Pr(Oj) =XN
i=1ibi(o1)1(i)
designando-se este procedimento por algoritmo regressivo. Os algoritmos progressivo e regressivo podem ser utilizados na resoluc~ao dos outros dois problemas elementares segui- damente apresentados.
O problema da descodicac~ao
O problema da descodi cac~ao e habitualmente enunciado como o segundo problema dos modelos HMM. Dada uma sequ^encia de observac~oes O=o1o2:::oT e um modelo , pretende-se determinar a sequ^encia de estados S = s1s2:::sT subjacente. Trata- se portanto de recuperar a informac~ao escondida pelo modelo. Excluindo-se os modelos degenerados, n~ao existe uma soluc~ao correcta para este problema. Existem contudo varios criterios razoaveis que podem ser seleccionados de acordo com o m em vista. A utilizac~ao tpica destas soluc~oes prende-se com o estudo da estrutura do modelo, segmentac~ao do sinal, obtenc~ao de estatsticas para cada estado, etc. O criterio mais utilizado consiste em escolher a sequ^encia mais provavel de estados. Ou seja, maximizarPr(SjO) o que e equivalente a maximizar Pr(SOj). Determina-se a probabilidade mais alta de, ao m das primeiras t observac~oes, ter ocorrido uma sequ^encia de estados que terminou no estado i:
t(i) = maxs
1s2:::st;1Prs1s2:::st;1st=io1o2:::otj]: Por induc~ao obtem-se
t(j) = max1
iN t;1(i)aij]:bj(ot) 2 t T1 j N: (2.19)
52 Modelos de Markov n~ao observaveis Para se obter a melhor sequ^encia de estados, e necessario tomar nota dos argumentos que maximizam a express~ao anterior num vector que se representa por
t(j) = arg max1
iN t;1(i)aij] 2 t T 1 j N:
Desta forma estabelece-se um algoritmo que e iniciado com 1(i) =ibi(o1) 1(i) = 0: No nal determinam-se os valores optimizados:
Pr(SOj) = max1
iN T(i)]
sT = arg max1
iN T(i)]
st =t+1(st+1) t =T ;1T ;2:::1:
As ultimas duas express~oes permitem determinar a melhor sequ^encia de estados, a que determina a melhor probabilidadePr(SOj). Este algoritmo e conhecido pelo nome de algoritmo de Viterbi.
Como se viu, o algoritmo progressivo, ou o regressivo, pode ser utilizado para o calculo da probabilidade Pr(Oj) que e igual a soma de Pr(SOj) (equac~ao 2.16) para todas as sequ^encias possveis de estados S 2 S. No reconhecimento de fala substitui-se ha- bitualmente Pr(Oj) pelo valor de maxS2S Pr(OSj)], determinado pelo algoritmo de Viterbi. A experi^encia mostra que os resultados obtidos podem n~ao ser iguais, espe- cialmente nos procedimentos de estimac~ao dos par^ametros dos HMMs. Nesses casos, o algoritmo progressivo, ou o regressivo, pode ser mais robusto do que o de Viterbi. Con- tudo, os resultados obtidos s~ao em geral muito semelhantes e o algoritmo de Viterbi e mais e ciente em termos computacionais, em particular se se tomarem os logaritmos das express~oes anteriores (convers~ao dos produtos em adic~oes). Ao mesmo tempo, determina a sequ^encia mais provavel dos estados, a qual pode ser necessaria se se pretender uma segmentac~ao explcita do sinal. Estas vantagens fazem do algoritmo de Viterbi um dos mais usados nos sistemas de reconhecimento de fala.
O problema da estimac~ao ou do treino do modelo
O mais difcil dos problemas basicos dos HMMs e o do ajuste dos par^ametros destes modelos de forma a satisfazer determinado criterio. Dada uma sequ^encia de observa- c~oes O = o1o2:::oT, pretende-se estimar os par^ametros de = (AB() de forma a
Aplicac~ao dos HMMs no reconhecimento de fala 53 maximizar a probabilidadePr(Oj). Esta forma de optimizac~ao e conhecida pela designa- c~ao de criterio da maxima verosimilhanca (MV)5:
MV = argmax Pr(Oj):
N~ao existe um procedimento conhecido para determinar analiticamente os par^ametros do modelo que conduzem ao maximo global MV. Pode-se, no entanto, escolher AB e ( por forma a que Pr(Oj), seja localmente maximizada. Para tal s~ao utilizados procedimentos iterativos, tal como o metodo do gradiente ou o algoritmo de Baum-Welch, tambem designado de reestimac~ao. Este ultimo foi utilizado no presente trabalho para a estimac~ao dos par^ametros dos HMMs.
A formulac~ao do algoritmo de reestimac~ao seguidamente apresentada refere-se ao caso dos HMMs contnuos, ou seja, em que as probabilidades de observac~ao s~ao func~oes de probabilidade contnuas. Utiliza-se tambem a designac~ao CHMMs, (\continuous hidden Markov models"). Neste caso, as express~oes de probabilidades de observac~ao condicionais ou conjuntas, Pr(O:::) devem ser substitudas por func~oes densidade de probabilidade na forma f(O:::). Para que estas func~oes possam ser estimadas de forma consistente e necessario considerar algumas restric~oes. A forma mais geral de representac~ao de uma func~ao densidade de probabilidade, para a qual o algoritmo de reestimac~ao tem sido formulado, e a de uma mistura (subsecc~ao 2.2.7) nita de M componentes da forma
bj(ot) = XM
k=1cjkN(otjk&jk) 1 j N (2.20) em quecjke o coe ciente ou peso dak-esima componente no estadoj eN e qualquer fun- c~ao densidade log-c^oncava ou elptica (gaussiana por exemplo). Pode demonstrar-se que um estado com uma mistura de densidades de probabilidade de observac~ao e equivalente a um conjunto deM estados, cada um deles com apenas uma destas densidades (Rabiner e Juang, 1993).
Sem perda de generalidade, assume-se que N e gaussiana com vector de medias jk e matriz de covari^ancia &jk para ak-esima componente no estado j. Os pesos das compo- nentes satisfazem a seguinte restric~ao estocastica
M
X
k=1cjk= 1 cjk01 j N1 k M
5Deve-se referir o facto de existirem outros criterios possveis (Franco e Serralheiro, 1991). Contudo, o criterio MV tem sido o mais utilizado no reconhecimento de fala, dispondo dos metodos mais robustos em termos numericos.
54 Modelos de Markov n~ao observaveis de forma a que a func~ao densidade de probabilidade seja normalizada adequadamente,
isto e Z 1
;1
bj(o)do= 1 1 j N:
Considere-se as0s1 = s1 para maior simplicidade. A densidade de probabilidade de se observar O para uma sequ^encia de estadosS no modelo vem expressa por
f(OSj) = YT
t=1ast;1stbst(ot)
= XM
k1=1 M
X
k2=1
M
X
kT=1 T
Y
t=1ast;1stbstkt(ot)]cs1k1cs2k2csTkT:
Considera-se: )T como o produto cartesiano de ordem T de ) =f12:::Mg K 2 )T um conjunto de ndices kt das gaussianas N(otstkt) e dos respectivos pesos cstkt
associados a uma sequ^encia de estados S. Assim, e possvel considerar a densidade de probabilidade (Huang et al., 1990):
f(OSKj) =YT
t=1ast;1stcstktN(otstkt&stkt)
e a partir desta express~ao determinar a densidade de probabilidade conjunta de observac~ao de O
f(Oj) = X
S2S
X
K2Tf(OSKj):
Considere-se agora a func~ao auxiliar de Baum (Kullback e Leiber, 1951 Baum et al., 1970)
Q() = 1f(Oj):X
S2S
X
K2T f(OSKj):logf(OSKj) com
logf(OSKj) =XT
t=1log ast;1st +XT
t=1log cstkt +XT
t=1logN(otstkt&stkt):
Prova-se que a maximizac~ao desta func~ao em ordem a , com xo, implica o aumento da verosimilhanca (Baum, 1972):
Q()Q())f(Oj)f(Oj):
O designado algoritmo de Baum-Welch, efectua esta maximizac~ao de forma iterativa subs- tituindo pelos par^ametros determinados apos maximizac~ao de Q() na iterac~ao
Aplicac~ao dos HMMs no reconhecimento de fala 55 anterior. A func~ao Q e maximizada atraves de tecnicas conhecidas de optimizac~ao com restric~oes (Huang et al., 1990).
Os modelos HMM utilizados no reconhecimento de fala devem representar conveniente- mente as variac~oes acusticas referentes a diversas locuc~oes (repetic~oes) da mesma palavra ou elemento subpalavra. Estas repetic~oes podem ser do mesmo orador ou de oradores diferentes no caso de se pretender um reconhecedor independente do orador (subsecc~ao 1.1.3). O material de fala para o treino de cada modelo deve incluir um conjunto re- presentativo destas repetic~oes, ou seja, em termos da formulac~ao dos HMMs, devem ser utilizadas simultaneamente multiplas sequ^encias de observac~oes OR=fO1:::Org. As- sumindo que estas sequ^encias de observac~oes s~ao independentes entre si, a estimac~ao dos par^ametros baseia-se na maximizac~ao de
logf(ORj) = Xr
n=1f(Onj):
Para tal, a func~ao Qpode ser rede nida (QR) como a soma de func~oes parcelaresQn refe- rentes a cada sequ^encia de observac~oes On. Considerem-se as seguintes func~oes densidade de probabilidade:
nt(ij) =f(st=ist+1 =jjOn) (2.21)
= nt(i)aijnt+1(j)PMk=1cjkN(ont+1jk&jk)
Pi nTn(i)
nt(i) =f(st=ijOn) (2.22)
= nt(i)nt(i)
Pi nTn(i)
nt(jk) =f(st=jkt =kjOn) (2.23)
= nt(j)cjkN(ontjk&jk)Pi nt;1(i)aij
Pi nTn(i) :
Como resultado da maximizac~ao deQobt^em-se as seguintes equac~oes de reestimac~ao:
aij =
Prn=1PTt=1n;1 nt(ij)
Prn=1PTt=1n;1 nt(i) (2.24) cjk =
Prn=1PTt=1n nt(jk)
Prn=1PTt=1n nt(j) (2.25)
56 Modelos de Markov n~ao observaveis
jk= Prn=1PTt=1n nt(jk)ont
Prn=1PTt=1n nt(jk) (2.26)
&jk=
Prn=1PTt=1n nt(jk)(ont;jk)(ont;jk)t
Prn=1PTt=1n nt(jk) : (2.27)