26 Meódy rozpoznávania reči 3.2 Skryé Markovove modely Doposial naflexibilneší a naúspešneší prísup v oblasi rozpoznávania rečových signálov sú skryé Markovove modely (HMM). V eo sekcii e popísaný základný princíp HMM, ako a algorimy pre ich rénovanie a používanie. Skryé Markovove modely používaú šaisické modelovanie spracovávaného signálu. Variabilia rečového signálu, korá sa dá pomerne dobre vysihnú pomocou eórie pravdepodobnosi, predurčue HMM na použiie v eo oblasi. Skryý Markovov model e určený množinou savov, pravdepodobnos ami prechodou medzi nimi a pravdepodobnos ami generovania výsupných symbolov v ednolivých savoch, ako ukazue obrázok (3.2). Začína sa v počiaočnom save a v každom časovom kroku nasáva prechod do nového savu, pričom e vygenerovaný eden výsupný symbol. Prechody ako a generovanie výsupných symbolov e náhodné, určené svoou funkciou husoy pravdepodobnosi. HMM si možno predsavi ako čiernu skrinku, korá generue posupnos výsupných symbolov. Posupnos savov, cez koré sysém v čase prechádza, zosáva pre pozorovael a skrýá - z oho e odvodený názov skryé Markovove modely. A: 0.4 A: 0.9 B: 0.6 B: 0.1 0.3 1.0 Obr. 3.3: Príklad ednoduchého HMM HMM pozosáva z nasledovných elemenov: {s} - množina savov {a i } - množina pravdepodobnosí prechodov, kde a i e pravdepodobnos prechodu zo savu i do savu.
3.2 Skryé Markovove modely 27 {π i } - množina pravdepodobnosí počiaočného savu. π i vyadrue pravdepodobnos s korou daný model začne v save i. {b i (u)} - množina pravdepodobnosí generovania výsupných symbolov, kde b i (u) e pravdepodobnos vygenerovania symbolu u v save i. Pre úplnnos zaved me eše označenie λ pre súbor paramerov Markovovho modelu. λ = (a, b, π) (3.2) Ked že a, b a π sú pravdepodobnosi, musia spĺňa ieo vlasnosi: π i = 1 i (3.3) i a i 0 b i (u) 0 i,, n (3.4) a i = 1 i b i (u) = 1 i (3.5) u Ďale budeme predpoklada, že uvedený HMM e prvého rádu, inými slovami povedané, pravdepodobnos nasleduúceho savu závisí len na akuálnom save a nezávisí od sekvencie predchádzaúcich savov. Modelovanie pomocou HMM sa nezaobíde bez zvládnuia roch základných problémov: Sanovenie pravdepodobnasi pozorovania, používa sa pri rozpoznávaní izolovaných slov Určenie posupnosi savov, cez korý model prechádzal pri generovaní výsupne posupnosi Trénovanie modelu, používané na nasavenie paramerov HMM
28 Meódy rozpoznávania reči 3.2.1 Sanovenie pravdepodobnasi pozorovania Pri rozpoznávaní izolovaných slov musíme by schopný urči pravdepodobnos generovania pozorovane posupnosi na daných HMM, koré popisuú referenčné slová. Porovnaním ýcho pravdepodobnosí e možné urči model, na korom bola pozorovaná posupnos vygenerovaná (model s naväčšou pravdepodobnos ou). Predpokladame, že HMM e určený hodnoami {a i }, {b i (u)}, {π i },. Vyadríme pravdepodobnos, že bola vygenerovaná posupnos y T 1 = (y 1, y 2,..., y T ). Preože v každom save i môže by vygenerovaný výsupný symbol u s pravdepodobnos ou b i (u), každá posupnos savov dĺžky T prispieva k celkove pravdepodobnmosi. Pomocou hrube sily by bolo možné nás všeky možné posupnosi savov dĺžky T a spočía ich pravdepodobnosi vygenerovania y T 1, čo by však nebolo vd aka svoe výpočove náročnosi prakické. Omnoho efekívnešie riešenie poskyue dopredná procedúra. Definumeα () ako pravdepodobnos generovania časi posupnosi y 1, kore posledný symbol bol vygenerovaný v save a čase. Na začiaku e α i ( = 0) inicializované na hodnoy π i b i (y 1 ) i. Ak poznámeα i ( 1) pre všeky savy i v predchádzaúcom časovom inervale 1, poomα () môže by určené rekurzívne, ako suma pravdepodobnosí prechodu do savu zo všekých možných savov i, pričom bol vygenerovaný výsupný symbol y (obr. 3.4). α i ( 1) i a i b (y ). α (). 1 Obr. 3.4: Ilusrácia dopredne procedúry
3.2 Skryé Markovove modely 29 α () = α i ( 1)a i b (y ) (3.6) i Ak k e množina konečných sav, poom pravdepodobnos vygenerovania cele posupnosi y T 1 daným HMM e: P(y1 T λ) = α k (T) (3.7) k Obrázok (3.5) ilusrue príklad, v korom HMM z obrázku (3.2) vygeneroval vysupnú posupnos y 3 1 = (B, A, A), pričom počiaočná pravdepodobnos π = {, 0.3}. Bunka na pozícii (, ) obsahue hodnou α (). Hodnoa pravdepodobnosi vygenerovania dane posupnosi e v našom prípade P(y 3 1 = (B, A, A) λ) = 0.30024. A: 0.9 = 1 3 B: 0.1 1.0 A: 0.4 = 0 3 B: 0.6 0.3 0.3 0.1 0.9 0.9 0.03 1.0 0.292 1.0 0.294 0.6 0.4 0.4 0.42 0.05 0.006 0.3 0.3 = 0 = 1 = 2 výsup=b výsup=a výsup=a Obr. 3.5: Ilusrácia dopredne ( forward ) procedúry na príklade V predchádzúcom exe sme definovali α () ako pravdepodobnos vygenerovania časi posupnos i y 1, kore posledný symbol bol vygenerovaný v save a čase. Teraz definueme e zrkadlový obraz β () ako pravdepodobnos vygenerovania zvyšku posupnosi y T +1 = (y +1, y +2,..., y T ) a oho, že v čase bol model v save, α () sa nazýva dopredný ( forward ) člen a β () späný ( backward ) člen. Podobne ako v prípadeα () a β () sa počía rekurzívne (obr. 3.6).
30 Meódy rozpoznávania reči β () = a k b k (y +1 )β k ( + 1) (3.8) k β () b k (y +1 ) a k k β k ( + 1).. + 1 Obr. 3.6: Ilusrácia späne procedúry Rekurzia začína v čase T nasavenímβ k (T) na 1.0 pre konečné savy a 0.0 pre všeky osané savy. Ak i reprezenue množinu počiaočných savov, poom výsledná pravdepodobnos pozorovania e poom daná vz ahom: 3.2.2 Určenie posupnosi savov P(y1 T λ) = π i b i (y 1 )β i (1) (3.9) i Ako už bolo spomenué, dopredná procedúra e vhodná na rozpoznávanie izolovaných slov. Rozpoznávanie súvisle reči vyžadue použiie odlišného príupu, preože by bolo dos neprakické ma rozdielne HMM pre každú možnú veu. V omo prípade e porebné zisi posupnos savov, korá vygenerovala výsupnú posupnos. Z posupnos i savov e následne možné urči posupnos slov. Naneš asie, akuálna posupnos savov e z definície HMM skryá a nemôže by ednoznačne určená, preože každá možná cesa množinou savov mohla vygenerova pozorovanú posupnos s určiou pravdepodobnos ou. Nalepšie čo môžeme v dane siuácii urobi, e urči napravdepodobnešiu sekvenciu savov, korá vygenerovala pozorovanú posupnos. Tak ako pri riešení prvého problému e a u možné použi hrubú silu, vypočía pravdepodobnosi všekých
3.2 Skryé Markovove modely 31 možných posupnosí savov a urči ú napravdepodobnešiu. Rozumné riešenie poskyue Vierbiho algorimus, korý e vel mi podobný dopredne procedúre. V () = MAX i [v i ( 1)a i b (y )] (3.10) 3.2.3 Trénovanie modelu Pri énovaní HMM e naväčším problémom nasavenie paramerov modelu ak, aby sa maximalizovala pravdepodobnos generovania dane posupnosi na požadovanom modeli. Zaial neexisue eho analyické riešenie a musí sa preo použi ieraívny spôsob známy ako Baum-Welch algorimus, korý sručne popíšeme. Definume γ i () ako pravdepodobnos prechodu zo savu i do savu v čase a vygenerovania cele výsupne posupnosi y T 1. γ i () = P(i y1 T ) = α i()a i b (y +1 )β ( + 1) α k (T) k (3.11) Vyznam čiael a ilusrue obrázok (3.7). Menovael odzrkadl ue fak, že posledný symbol y T 1 modelu. α i () i 1 môže by vygenerovaný v k konečných savoch a i β ( + 1) b (y +1 ) + 1 + 2 Obr. 3.7: Ilusrácia výpoču γ i () pomocou forward-backward algorimu Definume eraz N(i ) ako očakávaný poče prechodov zo savu i do savu v čase 1 až T:
32 Meódy rozpoznávania reči N(i ) = γ i () (3.12) Sčíaním uvedených členov cez všeky ciel ové savy, dosaneme N(i ) čo predsavue očakávaný poče výskyov modelu v save i v čase 1 až T: N(i) = N(i ) = γ i () (3.13) Vybraním len ých savov i, v korých došlo k vygenerovaniu výsupného symbolu u definueme N(i, u) : N(i, u) = :(y =u) γ i () (3.14) Parameer a i (pravdepodobnos prechodu zo savu i do savu ) e možné urči ako podiel priemerného poču prechodov zo savu i do savu a priemerného poču výskyov modelu v save i v čase 1 až T. Pre odhad nového paramera a i plaí vz ah: a i = P(i ) = N(i ) N(i) = γ i () γ i () (3.15) Podobne možno urči parameer b i (u), ako podiel poču výskyov symbolu u v save i a poču výskyov modelu v save i v čase 1 až T. Pre odhad nového paramera b i (u) plaí vz ah: b i (u) = P(u i) = N(i, u) N(i) = :(y =u) γ i () γ i () (3.16) Dá sa dokáza, že subsiúciou {a, b} za {a, b} sa P(y1 T ) zvyšue až do dosiahnuia lokálneho maxima, čím opakovanie eo procedúry zaručí opimalizáciu HMM pre rénovacie dáa.