Professional Documents
Culture Documents
Skriveni Markovljevi Modeli
Skriveni Markovljevi Modeli
Iako su uvedeni ranih šesdesetih godina prošlog veka, statistički metod Skriveni
Markovljevi Lanci ili modeli, je počeo da se intenzivno koristi poslednje decenije. Dva su ključana
razloga za to. Jedan leži u tome da su ovako definisani modeli vrlo bogate strukture, te tako
definisani predstavljaju sjajnu osnovu za opis velikog broja različitih problema. Drugi razlog leži u
tome da je njihova kompjuterska struktura vrlo složena, te je neophodno imati jaku računarsku
podršku u implementaciji ovih modela.
Uvod
Uopšteno govoreći realni svet proizvodi merljive izlaze koje mi nazivamo signalima.
Signali po svojoj prirodi mogu biti diskretni (karakteri koji su generisani iz konačnog skupa
alfabeta, kvantizacioni vektori iz kodne knjige i tome slično) ili kontinualni po svojoj prirodi (kao
što su odbirci govornog signala, merenje temperature, muzike, i tako dalje). Izvor ovog signala
može biti stacionaran na način da se njegove statistike tokom vremena ne menjaju, ili nestacionaran.
Signali mogu biti čisti (direktno mereni sa izvora signala) ili zašumljeni uticajem drugih izvora
signala (šumova).
Problem od neverovatnog značaja jeste okarakterisati takav realni svet signala pomoću
odgovarajućeg modela signala. Mnogo je razloga zbog kojih je ovakav model signala od značaja.
Najvažniji od njih je da model signala omogućava odgovarajući teorijski opis signala pomoću koga
se može predložiti odgovarajuća obrada signala i na taj način dobiti željeni izlaz. Na primer, ako je
u pitanju obrada govornog signala koji je zagađen šumom ili smetnjama prilikom prenosa signala,
mi možemo iskoristiti model signala kako bismo optimalno otklonili šum i potisnuli poremećaj koji
se pojavio prilikom prenosa. Drugi značajan razlog zbog koga je važno razvijati modele procesa
jeste da nam ti modeli često govore nešto o izvoru signala čak i onda kada nam ti izvori nisu na
raspolaganju. U takvim slučajevima mi možemo, ako su nam na raspolaganju dobri modeli signala,
generisati, odnosno simulirati realne signale. Na kraju, možda i najvažniji razlog razvoja modela
signala jeste razvoj efikasnih uređaja sistema za predikciju, prepoznavanje, identifikaciju i t.d.
Postoji nekoliko različitih tipova modela signala. Oni se, na grubi način, mogu podeliti u
klasu determinističkih i u klasu statističkih modela. Deterministički modeli se baziraju na
konkretnom znanju specifičnih osobina signala. Kod ovih modela se uglavnom, na osnovu ovog
znanja, usvajaju karakteristični oblici a zatim se uglavnom estimiraju parametri kao što su
amplituda, učestanost, fazni stav i tome slično. Druga široka klasa modela signala su statistički
modeli u kojima je cilj da se izvrši karakterizacija statističkih osobina procesa. Primeri takvih
statističkih modela uključuju Gausovske procese, Poasonove procese, Markovljeve procese, pa i
skrivene Markovljeve procese. Zajednička nit ovih modela jeste da se signali mogu okarakterisati
kao slučajni procesi pri čemu je važno odrediti stohastičke parametre ovih procesa.
Sa stanovišta obrade govornog signala oba od ovih pristupa u modeliranju mogu biti od
značaja i od koristi, međutim, sada ćemo se baviti statističkim pristupom koji se u literaturi naziva
Hidden Markov Models ili se označavaju skraćenicom HMM. Prvo ćemo na jednostavnim
primerima dati osnovne karakteristike Markovljevih modela, zatim ćemo izvršiti ekstenziju prema
skrivenim Markovljevim modelima, a zatim ćemo definisati osnovna tri problema koja se vezuju za
skrivene Markovljeve modele: sračunavanje verovatnoće (ili verodostojnosti) observacione
sekvence za zadati HMM, određivanje najbolje sekvence stanja modela i podešavanje parametara
modela shodno dobijenoj sekvenci observacija. Biće pokazano i to kako se rešavanjem ova tri
problema, HMM može primeniti za rešavanje problema prepoznavanja govora.
Niti je teorija o skrivenim Markovljevim modelima nova, niti je njena primena u
prepoznavanju govora nova. Osnovni teorijski rezultati su publikovani kasnih šesdesetih i ranih
sedamdesetih (Baum i dr.) dok su prve implementacije ovih rezultati u oblasti prepoznavanja govora
izvršena sedamdesetih (Baker na CMU i Jelinek na IBM). Međutim, šira primena i razumevanja
ovakve metodologije je naišla tek nekoliko godina kasnije.
može da se nalazi u jednom od N mogućih stanja S1 , S2 ,..., S N , kako je to ilustrovano slikom 1 (na
kojoj je zbog jednostavnosti usvojeno N = 5 ).
stanja a shodno unapred definisanim verovatnoćama. Uvedimo notaciju qt koja označava stanje u
kome se sistem nalazi u trenutku t. Potpuni opis ovakvog sistema podrazumeva poznavanje
verovatnoće da će sistem iz jednog preći u drugo stanje. Za Markovljeve modele je karakteristična
sledeća relacija:
koja zapravo znači da predistorija ne utiče na to u koje će stanje preći sistem u sledećem trenutku,
već je od značaja isključivo njegovo trenutno stanje. Pri tome se još podrazumeva da se ove
verovatnoće ne menjaju tokom vremena, te se može usvojiti fiksni skup parametara aij sa sledećim
značenjem:
Koeficijenti aij se nazivaju koeficijentima tranzicije i oni moraju zadovoljiti sledeće uslove:
Ako je poznato da je vreme prvog dana (t=1) sunčano (stanje broj 3), možemo postaviti sledeće
pitanje: Kolika je verovatnoća, na osnovu modela, da će sledećih sedam dana vreme biti ovakvo:
sunce-sunce-kiša-kiša-sunce-oblačno-sunce? Na osnovu ovog pitanja možemo formirati sledeću
Shodno poslednjem rezultatu možemo zaključiti na osnovu datog modela da je očekivani broj
uzastopnih sunčanih dana jednak 1/ 0.2 = 5 , oblačnih dana 1/ 0.4 = 2.5 i kišnih dana 1/ 0.66 = 1.67
.
gde znak stoji umesto oznake za pismo ili glavu. Na osnovu gornjeg scenaria pitanje je kako da
formiramo skriveni Markovljevi model koji bi opisao sekvencu observacija koja nam je na
raspolaganju. Prvo pitanje je šta treba da budu stanja ovog modela i koliko treba da ih bude. Jedan i
najjednostavniji način jeste da pretpostavimo da postoji samo jedan nefer novčić koji bacamo. U
tom slučaju postoje dva stanja koja rezultuju pismom ili glavom. Takav model je prikazan na slici
2a.
Slika 2.a
U ovakvom slučaju Markovljev model nije skriven (observabilan je) i jedini problem koji može da
se postavi jeste koliko je novčić nefer (odnosno koliki je njegov bajes-pomeraj).
Druga mogućnost je da formiramo skriveni Markovljevi model. U ovom slučaju
pretpostavljamo da postoje dva različita stanja i da svako stanje odgovara različitim nefer
novčićima, što znači da za svako stanje ponaosob postoje različite verovatnoće pojave pisma ili
glave. Šematski prikaz ovog modela je dat na slici 2.b.
U ovakvom modelu pojavljuje se problem određivanja verovatnoća tranzicije iz stanja u stanje, kao
i verovatnoća pojave pojedinih observacija za svako stanje ponaosob.
Treća mogućnost da se formira skriveni Markovljevi model je šematski prikazana na slici
2c.
Slika 2.c
Ovakav model podrazumeva postojanje tri različita nefer novčića, pri čemu svakome od njih
odgovara po jedno stanje. Postavlja se logično pitanje, koji od ovih modela najviše odgovara realnoj
situaciji, odnosno dobijenim observacija. Pri tome je očigledno da prvi model u sebi sadrži samo
jedan nepoznati parametara, drugi model 4 parametra a treći model 9 nepoznatih parametara.
Shodno tome postaje jasno da model sa većim stepenom slobode (većim brojem nepoznatih
parametara) sigurno može bolje da opiše sekvencu merenja. Iako je ovo tvrđenje tačno, videćemo
kasnije da prilikom rešavanja nekih praktičnih problema moraju da se uzmu u obzir striktna
ograničenja vezana za dimenziju modela.
U nameri da ilustrujemo moguće složenosti skrivenih Markovljevih modela posmatrajmo
primer Urni i kuglica (slika 3).
Slika 3.
Pretpostavimo da u prostoriji postoji N urni i da se u svakoj od njih nalazi veliki broj obojenih
kuglica. Pretpostavimo dalje da postoji M različitih boja. Fizički proces generisanja observacija je
sledeći: Neka osoba je u sobi i na osnovu nekog stohastičkog procesa ona slučajno bira početnu
urnu i iz nje, sasvim slučajno izvlači kuglicu i saopštava njenu boju. Loptica se vraća u urnu iz koje
je izvađena. Sada se nova urna bira na slučajan način i ceo se proces ponavlja. Tako ovaj
eksperiment rezultuje nizom observacija koje sadrže samo boje izvučenih kuglica. Najjednostavniji
HMM za ovakav eksperiment jeste da se formira model koji ima onoliko stanja koliko ima urni, a
da se pri tome svakoj urni, odnosno svakom stanju, pridruže odgovarajuće verovatnoće sa kojima se
iz njih može generisati odgovarajuća boja.
t.
2. M je broj različitih observacija koja se mogu realizovati iz stanja i ovaj parametar obično
predstavlja dimenziju (kardinalni broj) diskretnog alfabeta. Observacioni simboli
odgovaraju fizičkom merenju modela. Za primer novčića to su pismo ili glava, za primer
urni to su odgovarajuće boje. Skup ovih simbola se obično označava na sledeći način
V = { v1 , v2 ,..., vM } .
U opštem slučaju u kome se svako stanje može dostići iz bilo kog drugog stanja
pretpostavlja se da je aij > 0 za svako i i j. Za neke druge tipove HMM može se apriori
pri čemu svaka od observacija Ot označava neki od simbola skupa V, dok T označava ukupan broj
observacija u sekvenci. Postupak generisanja sekvenci observacije se realizuje kroz sledeći niz
koraka:
1. Izabere se inicijalno stanje q1 = S j shodno inicijalnoj raspodeli verovatnoća p .
2. Postavi se vreme t=1.
3. Izabere se Ot = vk shodno verovatnoćama pojave simbola za stanje S j , b j ( k ) .
odredimo odgovarajuću sekvencu stanja Q = q1q2 ...qT koja ima najviše smisla ili koja za zadati
model najviše odgovara dobijenoj sekvenci observacija.
Problem 3: Kako da odredimo parametre HMM-a l = ( A, B, p) ako nam je na raspolaganju
Rešenje problema 1
Cilj nam je da odredimo verovatnoću pojave sekvence observacija O = O1O2 ...OT pod
Iako poslednji izraz deluje prilično jednostavno, numerička složenost njegovog izračunavanja je
dužine sekvence T=100, broj operacija je reda veličine 1072 što postaje teško izvodljivo u realnom
vremenu. Otuda je dosta veliki napor uložen da se dođe do procedure koja će biti numerički
značajno jednostavnija. Takva procedura postoji i naziva se Forward-Backward procedura.
Definišimo forward promenljivu at ( i ) na sledeći način:
koja predstavlja verovatnoću dela observacije O1 , O2 ,..., Ot (do trenutka t) sa događajem da je u
trenutku t aktivno stanje Si . Tada se ove forward varijable mogu dobiti induktivno:
kako u stanje S j može da se dostigne u trenutku t+1 iz N različitih stanja u trenutku t. Relacija (20)
korak 3 daje konačno sračunatu verovatnoću P ( O / l ) kao sumu forward promenljivih aT ( j ) jer je
Slika 4a
Ovakav pristup rešenju problema 1 zahteva N 2T sračunavanja (što za slučaj N=5 i T=100 rezultuje
sa 3000 izračunavanja umesto prethodno sračunatih 1072 ).
Sračunavanje takozvanih forward verovatnoća je zasnovano na letis (lattice or trellis)
strukturi kakva je prikazana na slici 4.b.
Ključni korak u ovoj strukturi je da svakom od N stanja u modelu odgovara po jedan čvor u letis
strukturi, i na taj način se svih mogućih N podsekvenci skuplja u N čvorova, bez obzira na to koliko
je sekvenca observacije duga.
Na sličan način se mogu sračunati i takozvane backward verovanoće bt ( i ) definisane na
sledeći način:
bt ( i ) = P ( Ot +1Ot +2 ...OT qt = S i , l ) (24)
Ovaj izraz predstavlja verovatnoću dela observacije od trenutka t+1 pa do kraja, ukoliko se zna
stanje Si u trenutku t i ukoliko je poznat model l . Ponovo se ove verovatnoće mogu sračunavati
induktivno, kroz sledeće korake:
korak 2, koji je ilustrovan na slici 5, pokazuje da ukoliko želimo da budemo u stanju Si u trenutku t,
moramo da uzmemo u obzir sva moguća stanja u kojima se možemo naći u trenutku t+1, sa
odgovarajućim verovatnoćama.
Kasnije ćemo videti da nam ovi backward koeficijenti mogu biti od velike koristi za rešavanje
problema 2 i 3.
Rešenje problema 2
Za razliku od problema 1 za koji postoji egzaktno rešenje, u slučaju problema 2 postoji veći
broj rešenja u cilju nalaženja ''optimalne'' sekvence stanja koja se pridružuje izmerenoj sekvenci
observacija. Teškoća leži u tome kako definisati optimalni niz stanja, jer je moguće navesti veći broj
različitih kriterijuma optimalnosti. Na primer, jedan od kriterijuma može usvojiti stanje qt koje je
samo po sebi najverovatnije (najverodostojnije). Ovaj kriterijum maksimizira očekivani broj
korektno izabranih individualnih stanja. U cilju implementacije ovakvog kriterijuma u rešavanje
drugog problema, uvedimo sledeću varijablu:
koja predstavlja vervoatnoću da je sistem u trenutku t bio u stanju Si , ako nam je data sekvenca
observacija O uz poznavanje modela l . Relacija (26) se može jednostavno predstaviti u duhu
forward-backward varijabli:
Shodno tome, izbor optimalnog stanja u trenutku t se može izvršiti shodno sledećoj relaciji:
Iako relacija (29) maksimizira očekivani broj korektnih stanja ( birajući najverovatnije u svakom
trenutku t) mogu se pojaviti neki problemi u tako generisanoj sekvenci. Na primer, ako HMM ima
nultu verovatnoću za neku tranziciju stanja (ako je recimo aij = 0 za neko i i neko j) lako se može
dogoditi da se u optimalnoj trajektoriji pojavi ovakva tranzicija, mada je ona nemoguća. Ovakav
događaj je moguć jer relacija (29) bira pojedinačna najverovatnija stanja ne vodeći računa o
njihovoj tranziciji.
Jedno od mogućih rešenja jeste da se gorenavedeni kriterijum unekoliko modifikuje. Jedan
algoritam traži najbolju sekvencu stanja Q = { q1q2 ...qT } na osnovu sekvenci observacija
koja predstavlja najveću verovatnoću duž jedne putanje, u trenutku t , koja uzima u obzir prvih t
Rešenje problema 3
Primetimo da je rešenje problema 3 najkomplikovanije i ono zahteva da se na osnovu niza
sekvenci observacije odrede parametri modela ( A, B, p) . Nema načina da se analitički reši problem
određivanja parametara modela za zadatu sekvencu. Ideja je da se izabere takav model
Uzimajući u obzir prethodno definisane forward i backward koeficijente, dalje možemo pisati:
interpretirati kao očekivani broj pojave stanja Si u sekvenci. Slično, sumiranjem koeficijenata
Konačno, ukoliko bismo u postupak estimacije parametara modela krenuli metodom parcijalnih
Zanimljivo je da svaka od ovih relacija ima svoj iterativni reprezent u relacijama (40).