Pokročilé metody rozpoznávánířeči Přednáška 4 HMM a jejich trénov nování
Skryté Markovovy modely (HMM) Metoda HMM (Hidden Markov Model kryté Markovovy modely) reprezentujeřeč (lovo, hláku, celou promluvu) tavovým modelem pravděpodobnotními parametry Typická truktura lovního HMM takzvaný levo-pravý model a a 22 a S-S- a SS Q a 2.... Q 2 a 23 Q S- a S-S Q S b b 2 b S- Q... tavy (šipky naznačují možné přechody mezi nimi) b S a ij... přechodová pravděpodobnot pravděpodobnot, že (v aktuálním framu) model přejde ze tavu i do tavu j b (x)...výtupní pravděpodobnotní rozložení funkce určující pravděpodobnot, že příznakový vektor x patří ke tavu (nejčatěji gauovké rozložení)
Celolovní HMM Celé lovo je reprezentováno jedním modelem - není brán ohled na fonetickou trukturu lova ani na jeho délku, - počet tavů bývá u modelů různých lov tejný, - modely e nadno trénují, - pro každý lovní model tačí pouze připravit dotatečný počet nahrávek téhož lova (od různých oob), - pro velké lovníky však neekonomické, - vhodné pro výklad a pro pochopení algoritmů
Jak určit parametry výtupního rozložen ení? Pro zjednodušení výkladu uvažujme -rozměrný příznakový vektor x ( x µ Předpokládáme, že b (x) má gau. rozdělení b ( x) exp ) = 2π σ 2 2σ Mějme alepoň 2 nahrávky pro každé lovo (čím více nahrávek, tím lepší model zíkáme) Pokud víme, které framy patří ke jednotlivým tavům (jak ukázáno na obrázku) pak tř. hodnotu určíme jako kde N je počet framů přiřazených tavu Slovo W od ooby A Model M w Slovo W od ooby B N 2 µ = xn a rozptyl jako σ = N n= N 2 2 ( xn µ ) N n= Gauovké rozložení pro vícepříznakový vektor x µ T b ( x) =.exp[ 2 ( x x ) Σ ( x x )] P (2π ) det Σ Σ = N N n= N = N n= x n ( x n µ )( x n µ ) T
Jak určit přechodovp echodové pravděpodobnoti podobnoti? Slovo W od ooby A Model M w Slovo W od ooby B Pravděpodobnot přechodu ze tavu do + kde K je počet výtupů ze tavu (je vlatně roven počtu nahrávek K daného lova) Pravděpodobnot etrvání (v tomtéž tavu ) a = a+ a + = K N S
Jak kutečně trénovat parametry HMM? Ve kutečnoti nevíme který frame patří k jakému tavu. (Z tohoto důvodu e metodě HMM říká kryté markovovké modely) Metoda trénování HMM (tj určování jejich parametrů) je proto iterativní. Inicializační krok Framy všech nahrávek daného lova jou rovnoměrně přiděleny jednotl. tavům, z nich pak určíme tř. hodnoty, rozptyly a přechodové pravděpodobnoti 2. Přiřazovací krok využitím Viterbiho algoritmu (popán loni) nalezneme nové (už ne rovnoměrné ale obvykle lepší) přiřazení mezi framy a tavy 3. Reetimační krok pro toto nové přiřazení určíme tř. hod., rozptyly a přechod. pravděpodobnoti 4. Opakování, případně konec pokud e nové tř. hod., rozptyly a přech. pravd. liší (o více nežε) od předešlých, jdeme zpět na krok 2, jinak ukončíme trénování
Jak ještě lépe trénovat parametry HMM? Baumův-Welchův (forward-backward) algoritmu - framy nejou pevně a výlučně přiřazeny k jednotlivým tavům, - naopak, každý fame e jitou pravděpodobnotí může podílet na parametrech všech tavů - vztahy pro výpočet tř. hod., rozptylů a přechod. pravděpoděpodobnotí nově obahují ještě tzv. okupační pravděpodobnoti - ty e dají určit na základě tzv. dopředné a zpětné pravděpodobnoti α a β přené vztahy lze najít v HTKbook kapitola 8. Praktický potup trénování (celolovních) HMM. Rovnoměrné rozdělení framů ke tavům, výpočet inicializačních hodnot parametrů 2. Iterační potup zpřeňování parametrů základním přítupem (2 0 iterací) 3. Iterační potup zpřeňování parametrů Baum-Welch algoritmem (2 0 iterací)
Třítavová truktura modelu Fonémov mové HMM přibližně odpovídá ituaci:. tav - přechod z předchozího fonému 2. tav - jádro fonému 3. tav - přechod do dalšího fonému Struktura modelu používaná v HTK celkem 5 tavů. a 5. tav je fiktivní (vtupní a výtupní) louží k umožnění přechodů mezi modely 2.-4. tav význam jako výše Slovní modely ložené z hlákových
Trénov nování fonémových modelů v HTK (). Vytvoření prototypu modelu textový popi truktury modelu tagy a číly (číelné hodnoty nehrají roli) Prototyp e rozkopíruje do modelů všech hláek
Trénov nování fonémových modelů v HTK (2) 2. Je-li známé umítění hláek v nahrávce (v ouboru *.lab jou přeně uvedeny začátky a konce) 0000 3600 i 3600 4200 a 4200 4700 h 4700 5300 o 5300 5700 j. Použije e program Hinit - ten vyřízne všechny realizace každé hláky a iterativně natrénuje jejich parametry
Trénov nování fonémových modelů v HTK (3) 3. Není-li známé umítění hláek (v ouboru *.lab nejou uvedeny začátky a konce) 0000 0000 i 0000 0000 a 0000 0000 h 0000 0000 o 0000 0000 j. Použije e program HCompV - ten provede tzv. Flat Start ( plochý tart ) pře všechny nahrávky určí hodnoty kovarianční matice (rozptyly) a umítí je do modelů všech hláek cílem je alepoň nějak inicializovat hodnoty parametrů
Trénov nování fonémových modelů v HTK (4) 4. Reetimace parametrů modelů Použije e několik iterací programem HERet - ten i na za základě informace v ouboru *.lab etaví model celé nahrávky zřetězením všech dílčích hlákových modelů - pro každou nahrávku určí dílčí přípěvek k výpočtu parametrů, - toto zopakuje e všemi nahrávkami - na závěr každé iterace e počítají hodnoty všech parametrů modelů - toto e provede v několika iteracích za ebou
HTKbook Texty k natudování Kapitola 3. A Tutorial Example of Uing HTK Kapitola 8. HMM Parameter Etimation K dipozici na webových tránkách předmětu: ada kriptů pro trénování (jednomixturových) modelů v HTK
Úkol do příšp íště S využitím HTK natrénovat na vých datech modely všech hláek.