Sunteți pe pagina 1din 38

PLNTA5.

Recunoasterea vorbirii in sens


clasic (I)

• Schema generala de recunoastere automata a


vorbirii.
• Modele acustice:
1. modele Markov ascunse (statistice),
2. modele neurale (conectioniste)
3. modele mixte.
• Recunoasterea cuvintelor rostite izolat

1
Schema generala de recunoastere

ASR – Automatic Speech HSR – Human Speech


Recognition Recognition 2
Recunoasterea formelor vorbirii
Semnalul vocal

Parametrizarea
semnalului

Parametri

Segmentare

Clase fonetice

Antrenare Clasificare

Etapa de recunoaştere
Etapa de antrenare

Decizie
Model

Semnal vocal
recunoscut
3
Antrenare
• Antrenarea are ca scop realizarea modelelor printr un proces de
invatare automata.
• Se spune ca au fost invatate sau modelate datele daca exista o
structura pentru fiecare clasa de date (model Markov ascuns,
perceptron, etc.)
• Se pot modifica parametrii acestei structuri cu ajutorul datelor prin
antrenare, obtinand astfel modelul clasei respective
• Se poate verifica ca este modelata bine clasa prin testare, adica
modelul sa recunoasca bine clasa pentru care a fost antrenat si mai
putin bine alte clase interesante in procesul de invatare
(discriminativitate)

4
1.Tehnici statistice bazate pe modele
Markov ascunse (MMA)
a11 a22 a33
MMA cu observatii discrete
N – numărul de stări ascunse ale modelului (starea la momentul i
o notăm cu Si ) {i = 1, 2, …, N}
s1 s2 s3
a12 a23 M – numărul de simboluri observate în fiecare stare sau
dimensiunea alfabetului generat de model) 1 , 2 ,..., M 
b1(o1) b1(o2) b2(o3) b2(o4) b3(o5)
A={ai,j} – matricea probabilitaţilor de tranziţie între stări
ai , j  P [St  j St 1  i ], 1  i, j  N

ai , j în
0 cazul modelului ergodic.
o1 o2 o3 o4 o5
B={bj(k)} – matricea distribuţiei probabilităţii simbolurilor
observate
Modelul Bakis
b j (k )  P[ot   k S t  j ] 1  k  M
aij  0, j  i, Π={πi} – distribuţia stării iniţiale
0, i  1  i  PMarkov
Modelul  i  N . astfel: λ=(A,B,Π),
[ S1  i ] λ se1notează
i   stabilindu-se înainte şi parametrii N, M
1, i  1,

5
Problemele de bază ale modelelor
Markov ascunse (MMA)

• Problema 1: Fiind dată secvenţa de observaţii şi modelul λ=(A,B,Π), trebuie


calculată în mod eficient probabilitatea ca această secvenţă de observaţii să fie
produsă de respectivul model, P(O/λ). Calculul probabilităţii de producere a unei
secvenţe de observaţii cu ajutorul modelului Markov se face cu algoritmul forward sau
backward (Evaluarea modelului).
• Problema 2: Fiind dată secvenţa de observaţii şi modelul λ=(A,B,Π), trebuie stabilită
secvenţa de stări optimale. Cel mai folosit algoritm este algoritmul Viterbi.
• Problema 3: Trebuiesc ajunstaţi / reestimaţi parametrii modelului λ, pentru a
maximiza probabilitatea P(O/λ). Cel mai utilizat algoritm de reestimare a parametrilor
este algoritmul Baum-Welch (Antrenarea modelului).

6
Algoritmii Forward si Backward

Probabilitatea secvenţei de observaţii O  (o1 , o2 , ..., oT ) ,dându-se


secvenţa de stări S  ( s1 , s2 ,..., sT ) , este:
T
P(O | S ,  )   P(ot | st ,  )
t 1
P(O | S ,  )  bs1 (o1 )  bs 2 (o2 )...bsT (ot )

Probabilitatea secventei de stari S este:


P( S |  )   s1 as1s 2 as 2 s3 ...asT 1sT

Probabilitatea de simultaneitate a O si S este:


P(O, S |  )  P(O | S ,  )  P( S |  )

P(O |  )   P(O | S ,  ) P(S |  )    s1 bs1 (o1 )a s1s2 bs2 (o2 )...a sT 1sT bsT (oT )
toateS s1,...sT

7
Algoritmul Forward (1)
Se consideră variabilele forward  t (i ) definite astfel  t (i)  P(o1o2 ...ot , st  i |  )
Care este probabilitatea secvenţei parţiale de observaţii, o1o 2 ...ot şi starea i la momentul t,
dându-se modelul . Se poate calcula prin inducţie  t (i )

1. Iniţializare
t (i )  i bi (o1 ), 1  i  N

2. Inductie
N 
 t 1 ( j )    t (i)aij b j (ot 1 ), 1  t  T  1; 1  j  N
i 1 

3. Final
q1 1j
N
P(O |  )    T (i ) qj
i 1

qN
N j
t t+1
at (i ) a t1 ( j )
8
Algoritmul Forward (2)

• Pasul 1 iniţializează probabilităţile forward ca probabilitatea de a avea starea iniţială i


şi observaţia o1 .
• Pasul 2 de inducţie este ilustrat în figura.
• Această figură ilustrează cum poate fi găsită starea j la momentul t+1 din cele N stări
posibile, i ( 1  i  N ), la momentul t. Deoarece  t (i ) este probabilitatea combinată a
secvenţei parţiale de observaţii, o1o2 ...ot , şi a stării i la momentul t, produsul  t (i)  aij
este probabilitatea combinată de a avea secvenţa de observaţii o1o2 ...ot şi se ajunge
în starea j la momentul t+1 din starea i la momentul t .
• Sumând acest produs peste toate cele N stări posibile la momentul t, rezultă
probabilitatea stării j la momentul t+1 cu toate osbservaţiile parţiale anterioare. Odată
ce j este cunoscut, se observă că  t1 ( j ) se obţine prin multiplicarea cu b j (o. t 1 )
• Pasul 3, se calculează P(O |  ) ca fiind suma variabilelor forward terminale.

Volumul de calcul în acest caz se q1 1j


reduce la ordinul N 2T faţă de N 2T , qj
care este volumul de calcul pentru
cazul calculului direct.

qN
N j
t t+1
9
at (i ) a t1 ( j )
Algoritmul
Algoritmul Forward
Backward (1)

Se consideră variabilele  t (i) definite ca  t (i )  P(ot 1ot  2 ...oT | st  i,  )

1. Initializare

 t (i)  1, 1  i  N

2. Inducţie

t (i)   aij b j (ot 1 )t 1 ( j ), t  T  1,T  2,...,1; 1  i  N

10
Algoritmul Backward (2)

• Pasul 1 de iniţializare defineşte arbitrar T (i ) ca fiind 1 pentru toţi i.


• Pasul 2, care este prezentat in figura, arată că pentru a fi în starea i la momentul t, şi
pentru a ţine cont de secvenţa de observaţii parţială de la momentul t+1 încolo,
trebuie să se ia în consideraţie toate stările posibile j la momentul t+1, în conformitate
cu tranziţia din starea i in starea j (termenul ot 1), şi trebuie să se ţină cont de
observaţia în starea j (termenul b j (ot 1) ).
• Şi în acest caz volumul de calcul este diminuat de la 2TN T , care este volumul de
calcul pentru cazul calculului direct, la N 2T pentru cazul algoritmului backward.

q1
ai1

qi

a1N qN

t t+1
 t (i )  t1 ( j )

11
Sonagraf
Algoritmul Viterbi (1)
Se doreste estimarea secventei optime de stări S  ( s1 , s2 ,..., sT )

Se defineşte variabila de probabilitate a posteriori:  t (i)  P( st  i | O,  )

PO, st  i |  
 t (i)  P( st  i | O,  )  N
 PO, st  i |  
i 1

P(O, st  i |  ) =  t (i )  t (i )
.
 t (i )  t (i )
 t (i )  N
  t (i )  t (i )
i 1

starea cea mai potrivită în mod individual la momentul t, este:

st *  arg min  t (i ), 1 t T


1 i  N

Aceasta abordare nu duce intotdeauna la secvente optimale valide. Solutia pentru evidarea
acestei situatii este data mai jos:

12
Algoritmul Viterbi (2)

Se defineste  t (i ) care reprezintă cea mai mare probabilitate de-a lungul unei singure secvenţe
parţiale de stări pana la momentul t . Probabilitatile urmatoare se obtin prin recursie.

1. Initializare
1 (i)   i bi (o1 ), 1  i  N
 1 (i)  0
2. Recursie
 
 t ( j )  max  t 1 (i )aij b j (ot ), 2  t  T ; 1  j  N
1 i  N
 
 t ( j )  arg max  t 1 (i )aij , 2  t  T ; 1  j  N
1 i  N

3. Final

P*  max [ T (i )]
1 i  N
sT*  arg max  T (i )
1 i  N
4. Backtracking
st*   t 1 (st*1 ), t  T  1,T  2,...,1
13
Algoritmul Baum- Welch (1)

Cea de-a treia şi cea mai complicată problemă a modelelor Markov ascunse este aceea de a
determina o metodă de ajustare a parametrilor modelului pentru ca aceştia să satisfacă un anumit
criteriu de optimizare. Nu există o cale analitică de a face ca setul de parametri să maximizeze
probabilitatea secvenţei de observaţii. Totuşi, se poate alege modelul pentru care se maximizează
local utilizând o procedură iterativă, cum ar fii metoda Baum-Welch sau tehnici ale gradientului.
În continuare se prezintă prima procedură enunţată mai sus
Se defineste probabilitatea de a fi in starea i la momentul t si probabilitatea j la momentul t+1
t (i , j )  P(st  i , st 1  j | O, )

Folosind variabilele forward şi backward, se poate scrie relatia de mai sus sub forma următoare:

P (st  i , st 1  j ,O |  ) t (i )aij b j (ot 1 )t 1( j )


t ( i , j )   
P (O |  ) P (O |  )
t (i )aij b j (ot 1 )t 1( j )

N N
qi qj
  t (i )aij b j (ot 1 )t 1( j )
i 1 j 1

 t (i )  t1 ( j )

t-1 t t+1 t+2


14
Algoritmul Baum- Welch (2)
N
Se poate scrie si:  t ( i )  t ( i , j )
j 1

Setul de formule pentru reestimarea parametrilor pentru parametrii modelului Markov ascuns este
dat mai jos:

 j   1 (i ) T 1
 t ( i , j )
T
  t (i )
t 1 t 1, ot  k
a ij  T 1 bj 
 t( i ) T
t 1   t (i )
t 1

Procesul de reestimare se opreste in momentul in care variatia parametrilor scade sub o anumita
limita impusa

15
Modele Markov continue

• La modelele discrete, simbolurile emise in fiecare stare


sunt caracterizate prin distributii discrete de probabilitati.
• La modelele continue, simbolurile emise in fiecare stare
sunt caracterizate prin densitati de probabilitate
continue. De cele mai multe ori aceasta densitate de
probabilitate se considera normala, cu medie si varianta
bine determinate.
• La modelele semicontinue, distributia simbolurilor se
considera normala, dar mediile si variantele variaza
discret.

16
Modele dependente de context, trifoni
Modelele Markov ascunse s-au dovedit a fi o bază reală în modelarea secvenţelor spectrelor vorbirii.
Pentru captarea variaţiilor în spectrele reale (inter şi intra-vorbitor) este necesar să dispunem de un
număr mare de modele. De exemplu, pentru obţinerea unui rezultat bun într-un sistem MMA cu
densităţi continue, este necesar să folosim îmbinarea dintre distribuţiile Gaussiene şi modelele
(fonetice) dependente de context. Practic, apare o problemă a insuficienţei datelor din cauza
numărului mare de modele care rezultă. Mai mult, datele sunt răspândite inegal şi este nevoie de o
metoda care să echilibreze complexitatea modelelor cu disponibilitatea datelor.
Această problemă a insuficienţei datelor devine una acută atunci când se foloseşte un sistem care
incorporează dependenţa de context cross-word.
Pentru că există un număr mare de trifoni, sunt multe modele de luat în considerare şi un număr mare
dintre aceşti trifoni vor avea puţine contribuţii, sau chiar deloc, în datele de antrenare. Numărul total de
trifoni necesari pentru orice aplicaţie depinde de setul de sunete (foneme), de constrângerile
gramaticale şi lexicale.
De exemplu pentru limba română există 34 foneme care conduc la un număr de cca 40000 trifoni.
Metodele tradiţionale care tratează această problemă implică modele împărţite în diferite contexte
pentru a forma aşa-zişii “trifoni generalizaţi” şi pentru a utiliza tehnici de netezire a posteriori.
Împărţirea modelelor este limitată, contextul drept şi cel stâng neputând fi tratate independent, ceea
ce duce la utilizarea sub-optimală a datelor disponibile.
În mod similar, netezirea a posteriori este şi ea nesatisfăcătoare, întrucât modelele folosite pentru
netezirea trifonilor sunt bifoni şi monofoni, prea numerosi când se folosesc seturi mari de antrenare.
Metoda prezentată în continuare funcţionează pentru sisteme care au cuvinte cu trifoni interni şi
pentru care este posibil să găsim date pentru fiecare trifon. Aşa cum sunt prezentate şi în figurile
următoare, sistemele care folosesc trifoni ai cuvintelor încrucişate necesită date pentru un număr
mare de trifoni şi mulţi dintre aceştia vor fi “nevăzuţi” (invizibili) în datele de antrenare.
Noul sistem este bazat pe utilizarea arborilor de decizie fonetici, care sunt folosiţi pentru a determina
seturile echivalente contextual ale stărilor MMA. Pentru a lucra cu seturi mari de date de antrenare,
construirea arborilor este bazată numai pe statistici pentru fiecare stare a MMA şi nu se face referinţă
directă la datele originale.
17
Legarea starilor MMA

18
Arbori de decizie

19
Concluzii MMA
Avantajele MMA
• suport matematic foarte bun, existând algoritmi eficienţi de antrenare şi de
calcul al probabilităţii a posteriori;
• bună capacitate de învăţare, se pot adapta cu uşurinţă dinamicii temporale a
semnalului şi nu necesită proceduri de aliniere;
• posibilitatea de utilizare în sistemele expert.

Dezavantajele MMA
• necesitatea în practică a unor presupuneri asupra distribuţiei probabilităţilor
bj(k) de emisie a simbolurilor în starea j;
• Ignorarea corelaţiei între vectorii acustici succesivi;
• lipsa de discriminare între modele; modele antrenate pentru maxima potrivire
cu secventa de antrenare.

20
2. Modele neurale
Primul strat, de intrare, acţionează ca un buffer;

Stratul 3 Al doilea strat, ascuns, se comportă ca un detector


de caracteristici;

Stratul 2 Al treilea strat, de ieşire, conţine neuroni


clasificatori care combină caracteristicile furnizate
din stratul ascuns pentru a lua decizii de
Stratul 1 recunoaştere a formelor.

wij-h este ponderea conexiunilor de la i la j;


N
net hpj   wij h x pi   hj
i 1  -hj este pragul neuronului j din stratul ascuns;
i pj  f jh (net hpj ), j  1, ..., L
wk-oj este ponderea conexiunilor de la j la k;
L
net opj   wkjo x pj   ko
j 1  -ko este pragul neuronului k din stratul de ieşire.

o pk  f ko (net opk ), k  1, ..., M f este o funcţie neliniară ( f : R  R) care poate fi de tip


1
sigmoidă sau tangentă hiperbolică: f ( x )   x
,   0 sau f ( x )  th(21
x)
1 e
Algoritmul de învăţare (Back-Propagation)
pasul 1: se aplică la intrare vectorul Xp;
pasul 2: se calculează activarea neuronilor din stratul ascuns;
N
net hpj   wij h x pi   hj
i 1

pasul 3: se calculează ieşirile din stratul ascuns;


i pj  f jh (net hpj ), j  1, ..., L

pasul 4: se calculează activarea neuronilor din stratul de


ieşire;
L
net opj   wk jo x pj   ko
j 1

pasul 5: se calculează ieşirile din stratul de ieşire;


o pk  f ko (net opk ), k  1, ..., M

pasul 6: se calculează termenii de eroare pentru stratul de ieşire;


 pk o  ( y pk  o pk ) f ko (net opk ), k  1, ..., M

pasul 7: se calculează termenii de eroare pentru stratul ascuns;


M
 pj h  f jh (net hpj )   pk
o
wk jo , j  1, ..., L
k 1
pasul 8: se rafinează ponderile aferente stratului de
ieşire;
wk jo (t  1)  wk jo (t )   pk o i pj , j  1, ..., L; k  1, ..., M

pasul 9: se rafinează ponderile aferente stratului ascuns;


w ji h (t  1)  w ji h (t )   pj h x pi , j  1, ..., L; i  1, ..., n
pasul 10: se calculează eroarea
1 M 22
E p   ( y pk  o pk ) 2
2 k 1
Reţeaua neuronală cu auto-organizare
Kohonen
Pasii algoritmului sunt următorii:
competiţia: pentru fiecare formă de intrare neuronii
din reţea calculează valorile funcţiei discriminant.
Neuronul cu valoarea cea mai bună pentru acestă
funcţie este declarat învingător.
cooperarea: neuronul învingător determină localizarea
spaţială a vecinătăţii topologice a neuronilor excitaţi,
în felul acesta creând bazele pentru cooperarea între
acesti neuroni.
adaptarea ponderilor: permite neuronilor excitaţi să-si
crească valorile individuale ale funcţiei discriminant
legat de formele de intrare, prin ajustări convenabile
ale ponderilor acestora. Ajustarile sunt astfel făcute
încat răspunsul neuronului învingător la forma
corespunzatoare de intrare este îmbunătăţit.

23
Hărţi fonetice folosind reţeaua
neuronală Kohonen
u u a o o o o i i

o o i
a a a o a
o o e e e
a e a o a
a a e e e
a e a a a
a a u u u
a i a a a
a a u u u

Vocală Eroare de repoziţionare


a 0%
e 1,50%
i 0,50%
Vocalele sunt caracterizate prin
o 0% 12 coeficienti Melcepstrali
u 0%
Eroarea
0,40%
medie
24
Reţeaua neuronală cu întârziere în timp
w1,j

1 w2,j

x1 .
.
.

N wN+1,j

.
. F
.
. wk,j 
1 wk+1,j

xk .
.
.

N wk+N,j

25
Reţeaua neuronală recurentă (RNN)
x1(t) x2(t) xN(t)

. . .

. . .
xN(t-1)
x2(t-1)
θ x1(t-1)

26
3. Modele hibride neuro-statistice

Funcţionarea sistemului de
recunoaştere prezintă două etape:

etapa de antrenare, în care


sistemul îşi optimizează parametrii
în vederea potrivirii cât mai bune
cu cuvintele din dicţionar;

etapa de recunoaştere, în care


sistemul calculează probabilităţile
de potrivire cu modelele şi
determină maximul dintre acestea;
probabilitatea maximă corespunde
modelului, respectiv cuvântului
câştigător.

27
Recunoasterea cuvintelor rostite izolat

• Recunoasterea cuvintelor rostite izolat (cifre) cu ajutorul


modelelor Markov ascunse discrete.
• Recunoasterea cuvintelor rostite izolat (cifre si comenzi)
cu ajutorul madelelor hibride neurostatistice (model
Markov ascuns discret cu perceptron)

28
Recunoasterea cuvintelor rostite
izolat (cifre) cu MMA

29
Structura modelelor Markov ascunse
N = numărul de stări ale modelului = 5

M = numarul de simboluri
emise in fiecare stare = 7

ai , j  Pqt  j|qt 1  i , 1  i, j  5;
b j k   P[ot  v k | qt  j ], 1  k  7

i  P[q1  i ], 1  i  5

   A, B, 

30
Antrenarea modelelor Markov ascunse
(MMA) –(1)
1. Initializarea matricilor , A, B

  
  
   
i = 0.2 0.2 0.2 0.2 0.2 A    B   
i  i  

 
 

2. Reestimarea parametrilor matricilor , A, B pentru


cuvantul “DOI”
i = 0.000000 0.000000 1.000000 0.000000 0.000001 
 
 
   
   
   
A    B   
   
   
    
 
31
Antrenarea modelelor Markov ascunse
(MMA)- (2)
3 Reestimarea parametrilor matricilor , A, B pentru cuvantul “TREI”

i =1.000000 0.000000 0.000000 0.000000 0.000000 


  
  
  
A    
  B  
  
  




32
Sistemul hibrid de recunoştere a
cuvintelor rostite izolat
Datele de intrare sunt următoarele:
• dictionarul este alcatuit din V cuvinte care reprezinta comenzi vocale numerice si de deplasare:
zero, unu, doi, trei, patru, cinci, sase, sapte, opt, noua, start, stop, sus, jos, stânga, dreapta,
înainte, înapoi;
• pentru antrenare fiecare cuvânt are câte P variante obtinute pentru fiecare din cei R vorbitori;
• pentru test fiecare cuvânt este reprezentat de alte P variante obtinute de la aceeasi vorbitori

Arhitectura sistemului
• Sistemul hibrid propus cuprinde două elemente de bază:
• modelul Markov ascuns care modeleaza statistic vectorii acustici, adica secvenţele de observatii
obtinute prin prelucrarea semnalului vocal si care ajuta si la segmentarea datelor de intrare,
respectiv la supervizarea retelei de tip perceptron neliniar;
• reteaua de tip perceptron neliniar care este antrenata sa memoreze prin parametrii proprii
caracteristicile secventelor de observatii, sa emuleze de fapt modelul Markov ascuns asociat,
respectiv sa furnizeze probabilitatile a posteriori algoritmului Viterbi, pentru determinarea
probabilitatilor de potrivire cu modelul respectiv.

33
Functionarea sistemului hibrid
• etapa de antrenare în care sistemul îsi optimizeaza parametrii în vederea potrivirii cât mai bune cu
cele V cuvinte ale dictionarului;
• etapa de recunoastere în care sistemul calculeaza probabilitatile de potrivire cu modelele si
determina maximul dintre acestea; probabilitatea maxima corespunde modelului, respectiv cuvântului
câstigator.

34
Parametrii reestimati ai sistemului (1)
Pentru cuvantul “ZERO”
Parametrii modelului Markov:

35
Parametrii reestimati ai sistemului –(2)

36
Parametrii reestimati ai sistemului –(3)

37
Parametrii reestimati ai sistemului –(4)

38

S-ar putea să vă placă și