bao cao-hmm

20
Computer Based Automatic Speech Processing MỤC LỤC Mục lục8 .............................................................................. trang 1 1. Giới thiệu..................................................................................... trang 2 2. MarKov Models (HM).................................................................trang 3 3. Hidden MarKov Models (HMM)- Mô hình Markov ẩn.............. trang 5 4. Ba bài toán cơ bản của HMM...................................................... trang 8 5. ứng dụng HMM trong tự động nhận dạng tiếng nói- ASR.......trang 17 HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 1

Upload: cu-tin

Post on 13-Jul-2015

295 views

Category:

Design


1 download

TRANSCRIPT

Computer Based Automatic Speech Processing

MỤC LỤC

Mục lục8..............................................................................trang 1

1. Giới thiệu.....................................................................................trang 22. MarKov Models (HM).................................................................trang 33. Hidden MarKov Models (HMM)- Mô hình Markov ẩn..............trang 54. Ba bài toán cơ bản của HMM......................................................trang 85. ứng dụng HMM trong tự động nhận dạng tiếng nói- ASR.......trang 17

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 1

Computer Based Automatic Speech Processing

1. Giới thiệuHọc thuyết về chuỗi Markov được phát triển vào những năm 1900. Mô hình

Markov ẩn phát triển vào cuối những năm 60 và được sử dụng rộng rãi trong lĩnh vực nhận dạng tiếng nói vào những năm 1960-1970 và được đưa vào khoa học máy tính năm 1989

Nhiều bài toán thực tế được biểu diễn dưới mối quan hệ nhân quả, nhưng chỉ quan sát được phần quả còn phần nhân thì ẩn. HMM là một thuật toán cho phép giải quyết các bài toán xác lập mối nhân quả cục bộ nói trên.

Mô hình Markov ẩn (Hidden Markov Model - HMM) là mô hình thống kê trong đó hệ thống được mô hình hóa được cho là một quá trình Markov với các tham số không biết trước.

Nhiệm vụ là xác định các tham số ẩn từ các tham số quan sát được, dựa trên sự thừa nhận này. Các tham số của mô hình được rút ra sau đó có thể sử dụng để thực hiện các phân tích kế tiếp.

Các ứng dụng phổ biến của mô hình Markov ẩn:− Tin sinh học (bioinformatics): là một lĩnh vực khoa học sử dụng các công nghệ của các ngành toán học ứng dụng, tin học, thống kê, khoa học máy tính , trí tuệ nhân tạo, hóa học và hóa sinh (biochemistry) để giải quyết các vấn đề sinh học− Xử lý tín hiệu, phân tích dữ liệu và nhận dạng mẫu− HMMs được dùng rất nhiều trong phân tích ngôn ngữ: Nhận dạng tiếng nói (đối tượng quan sát được: tín hiệu âm thanh, đối tượng ẩn: từ ngữ)− Nhận dạng chữ viết tay (observed: kí hiệu, hidden: từ ngữ)− Phân loại và gán thẻ cho từ ngữ (Part-of-speech tagging) (observed: từ ngữ, hidden: thẻ (danh từ, động từ, tính từ…)− Hệ thống dịch ngôn ngữ (observed: từ nước ngoài, hidden: từ ngữ ứng với ngôn ngũ cần dịch)

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 2

Computer Based Automatic Speech Processing

2. MarKov Models (HM): Một dãy trạng thái ngẫu nhiên gọi là có thuộc tính Markov nếu như xác suất

chuyển sang trạng thái tiếp theo chỉ phụ thuộc vào trạng thái hiện tại và quá khứ. Dãy chuyển trạng quan sát được được gọi là chuỗi Markov hay Xích

Markov. Dãy chuyển trạng không quan sát được gọi là mô hình Markov ẩn.

Có N trạng thái: s1, s2 .. sNCác bước thời gian rời rạc tương ứng: t=0, t=1, …Tại bước thời gian thứ t, hệ thống ở một trong các trạng thái trên, gọi là qt.

Với qt ∈{s1, s2 .. sN }

Giữa mỗi bước thời gian, trạng thái tiếp theo được chọn một cách ngẫu nhiên. Trạng thái hiện tại sẽ quyết định xác xuất phân bố của trạng thái tiếp theo (thường được kí hiệu bằng vòng cung kết nối các trạng thái).

Trạng thái qt+1 độc lập có điều kiện với { qt-1, qt-2, … q1, q0 }, được đưa ra bởi qt.

P(A) là xác suất trước hay xác suất bờP(A|B) là xác suất sau hay xác suất có

điều kiện, là xác suất xuất hiện A đối với B( hay xác xuất chuyển tiếp từ B đến A)Một chuỗi q được gọi là chuỗi Markov, để thỏa thuộc tính của Markov, trạng thái tiếp theo chỉ phụ thuộc vào trạng thái hiện tại và không phụ thuộc vào trạng thái nào trong quá khứ. Đây được gọi là mô hình Markov bậc 1

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 3

S3

S1

S3

N = 3t=0, q

t=q

0=s

3

Trạng thái hiện tại

Computer Based Automatic Speech Processing

Mô hình Markov bậc 2: là mô hình được tạo ra trên cơ sở trạng thái hiện tại qt phụ thuộc và hai trạng thái liền kề trước đó

Mô hình Markov đơn giản cho dự báo thời tiết

Thời tiết trong một ngày có thể rơi vào một trong ba trạng thái sau:− S1: mưa− S2: mây mù− S3: nắng

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 4

0.4 0.3 0.3

{ } 0.2 0.6 0.2

0.1 0.1 0.8ijA a

÷= = ÷ ÷

1S

2S

3S

1S 2S 3S

Computer Based Automatic Speech Processing

Ví dụ : X¸c suÊt vµo (phï hîp model) ®Ó thêi tiÕt trong 8 ngµy nèi

tiÕp nhau lµ "0= mÆt trêi - mÆt trêi - ma - ma - mÆt trêi - cã m©y -

mÆt trêi ?

C¸ch gi¶i quyÕt

Chóng ta ®Þnh nghÜa tuÇn tù viÖc quan s¸t, O nh :

O = (n¾ng, n¾ng, n¾ng, ma, ma, n¾ng, m©y,

n¾ng )

= (3, 3, 3, 1, 1, 3, 2, ,3 )

Ngµy 1 2 3 4 5 6 7 8

Đèi nhau yªu cÇu 1 bé cña ®iÒu kiÖn thêi tiÕt ë trªn kú 8 ngµy vµ

chóng ta muèn tÝnh to¸n P (O/ Model) x¸c suÊt cña viÖc quan s¸t tuÇn tù

O, dựa vào mô hình dự báo thời tiết như trên. Chóng ta cã thÓ trùc tiÕp g©y

ra P (O/ Model) nh :

=

8.01.01.0

2.06.002

3.03.04,0

)( ijaA

P(O/Model) = P [3,3,3,1,1,3,2,3|Model]

= P [3]P[3|3]2P[1|3]P[1|1]

P[3|1]P[2|3]P[3|2]

= π3.(a33)2a31a11a13a32a23

= (1.0)(0.8)2(0.1)(0.4)(0.3)(0.1)(0.2)

= 1.536x10-4

ë đây chóng ta sö dông

πi = p [ q1 = i] 1 ≤ i ≤ N

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 5

Computer Based Automatic Speech Processing

3. Hidden MarKov Models (HMM)- Mô hình Markov ẩnMô hình trước giả sử rằng mỗi trạng thái có thể là duy nhất tương ứng với

một bằng chứng quan sát được. − Khi có được một quan sát, trạng thái nhận được của hệ thống sẽ trở thành vô giá trị(không còn nhiều ý nghĩa sử dụng).− Mô hình này quá hạn chế để giải quyết các vấn đề trong trong thực tế.Để xây dựng một mô hình linh động hơn, chúng ta giả sử rằng những quan

sát được của mô hình là một hàm xác xuất của mỗi trạng thái− Mỗi trạng thái có thể tạo ra một số đầu ra dựa trên phân bố xác xuất và mỗi đầu ra riêng biệt có thể có khả năng được tạo ra bởi một trạng thái nào đó.− Mô hình Markov ẩn (HMM), bởi vì chuỗi trạng thái không thể quan sát trực tiếp, nó chỉ có thể xấp xỉ gần đúng với các chuỗi quan sát được hệ thống đưa ra.Giả sử bạn có một máy bán nước ngọt tự động: nó có thể ở 2 trạng thái, chọn

cola (CP) và chọn iced tea (IP), nó chuyển trạng thái ngẫu nhiên sau mỗi lần mua hàng, như sau:

Có 3 đầu ra quan sát được : cola, iced Tea, lemonadeNhư vậy mô hình Markov ẩn cho một máy bán nước ngọt tự động sẽ là

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 6

Ma trận xác xuất đầu raNOT OBSERVABLE

Computer Based Automatic Speech Processing

Ví dụ 1: dự báo thời tiết.Các trạng thái có thể quan sát được: Lầy lội- ẩm ướt- khô- khô hanhCác trạng thái ẩn: Nắng – mây mù- mưa

Ví dụ 2: nhận dạng tiếng nói

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 7

Computer Based Automatic Speech Processing

Các thành phần của HMMqt - Trạng thái ở thời điểm t.ot= (ký hiệu) Quan sát tại thời điểm t.

π = {πi} Phân bố trạng thái ban đầuA = {aij} Phân bố xác xuất chuyển trạng tháiB = {bik} Phân bố xác xuất kí hiệu quan sát được theo

trạng thái

HMM được xác định bởi 5 thành phần

1- Tập hợp các trạng thái ẩn: N: số trạng thái, St trạng thái tại thời gian t

2- Tập hợp các kí hiệu quan sát được, M:số kí hiệu quan sát được

3- Phân bố trạng thái ban đầu

4- Phân bố xác xuất chuyển trạng thái

5- Phân bố xác xuất kí hiệu quan sát được theo trạng thái

Tóm lại, các thành phần của HMM gồm: − 2 tham số không đổi về kích cỡ: N và M (tổng số trạng thái và tổng số kí hiệu quan sát được S,O) − 3 tập hợp phân bố xác xuất: A, B, π

4. Ba bài toán cơ bản của HMM

− Bài toán 1: (Evaluation problem- Bài toán ước lượng)Cho dãy quan sát O = (o1o2...oT ) và HMM - λ( hay Φ) hãy xác định xác suất

sinh dãy từ mô hình – P(O| λ).

− Bài toán 2: (Decoding problem- Bài toán giải mã)Cho dãy quan sát O = (o1o2...oT ) và HMM-λ , hãy xác định dãy chuyển

trạng Q =(q1q2...qT ) cho xác suất sinh O lớn nhất (optimal path).Đây chính là bài

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 8

( , , , , )S O A BΠ

{1,2,..., }S N=

1 2{ , ,..., }MO o o o=

0{ } ( ) 1i i P s i i Nπ π π= = = ≤ ≤

1{ } ( | ), 1 ,ij ij t tA a a P s j s i i j N−= = = = ≤ ≤

{ ( )} ( ) ( | ) 1 ,1j j t k tB b k b k P X o s j j N k M= = = = ≤ ≤ ≤ ≤

Computer Based Automatic Speech Processing

toán xác định dãy chuyển trạng thái gần đúng nhất Q =(q1q2...qT ) của mô hình để tạo ra các quan sát O.

− Bài toán 3: (Learning problem- Bài toán huấn luyện)Hiệu chỉnh HMM -λ để cực đại hoá xác suất sinh X – P(O|λ ) (tìm mô hình

“khớp” dãy quan sát nhất.)

Bài toán 1: (Evaluation problem- Bài toán ước lượng)Cho dãy quan sát O = (o1o2...oT ) và HMM - λ( hay Φ) hãy xác định xác suất

sinh dãy từ mô hình – P(O| λ).

Để thực hiện bài toán này ta nghiên cứu thuật toán lan truyền xuôi –Straightforward.

Để tính xác xuất gần đúng P(O| λ)của chuỗi quan sát O = (o1o2...oT ) của HMM-λ , cách dễ thấy nhất là lấy tổng xác xuất của tất các các chuỗi trạng thái:

Áp dụng giả thuyết Markov:

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 9

Computer Based Automatic Speech Processing

Áp dụng giả thuyết đầu ra độc lập:

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 10

Computer Based Automatic Speech Processing

Độ phức tạp thời gian: O(N2T)Độ phức tạp không gian: O(NT)

Thuật toán truyền xuôi ngượcCho các thông số ntruyền ngược như bảng dưới

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 11

Computer Based Automatic Speech Processing

Vậy ta có:

Bài toán 2: Thuật toán Viterbi(Decoding problem)Cho dãy quan sát O = (o1o2...oT ) và HMM-λ , hãy xác định dãy chuyển

trạng Q =(q1q2...qT ) cho xác suất sinh O lớn nhất (optimal path).Đây chính là bài toán xác định dãy chuyển trạng thái gần đúng nhất Q =(q1q2...qT ) của mô hình để tạo ra các quan sát O.

Mục tiêu của bài toán này là ta đi tìm giá trị maxP(Q|O,λ) khi đã có được chuỗi quan sát O = (o1o2...oT ) và HMM-λ.

Quy trình thực hiện thuật toán Viterbi thực hiện như sau:

- Dãy quan sát O = (o1o2...oT ) và HMM-λ

- Ứng với dãy chuyển đổi trạng thái Q =(q1q2...qT ), Xác suất quan sát O = (o1o2...oT ) và HMM-λ là

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 12

Computer Based Automatic Speech Processing

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 13

Computer Based Automatic Speech Processing

Quy trình:

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 14

Computer Based Automatic Speech Processing

Bài toán 3: Thuật toán Baum-Welch(Learning problem)Hiệu chỉnh HMM -λ để cực đại hoá xác suất sinh Q – P(O|λ ) (tìm mô hình

“khớp” dãy quan sát nhất.)

Kỳ vọng tìm được dãy chuyển trạng thái Q theo P(O|λ )

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 15

Computer Based Automatic Speech Processing

§Ó miªu ta l¹i qu¸ tr×nh tham sè HMM, ®Çu tiªn chóng ta ph¶i

®Þnh nghÜa εt (i,j), kh¶ n¨ng i t¹i thêi ®iÓm t vµ j t¹i ®iÓm (t + 1) ®a ra

d¹ng vµ chuçi.

γt (i) lµ kh¶ n¨ng i t¹i ®iÓm t lµ 1 chuçi quan s¸t hoµn toµn vµ lµ 1

d¹ng. Chóng ta cã thÓ nèi γt (i) víi εt(i,j) b»ng c¸ch tÝnh qua j

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 16

Computer Based Automatic Speech Processing

5. ứng dụng HMM trong tự động nhận dạng tiếng nói- ASR

Những yếu tố ảnh hưởng đến ASR- Tình huống khác nhau- Kiểu khác nhau: nhận dạng từ riêng biệt dễ hơn nhận dạng một chuỗi từ,

nhận dạng đọc dễ hơn nhận dạng hội thoại- Người nói nói khác nhau: speaker-independent VS speaker-dependent- Môi trường khác nhau: nhiễu nền

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 17

Computer Based Automatic Speech Processing

Nhiệm vụ của nhận dạng tiếng nói là nhận đầu vào sóng âm thanh và đầu ra là chuỗi của các từ.

Với một chuỗi âm thanh nhận được O = (o1o2...on )

Nhiệm vụ của ASR là tìm ra chuỗi W = (w1w2...wn ) từ tương ứng có xác xuất posterior P(W|O)

Cấu trúc của một mô hình nhận dạng tiếng nói đơn giản

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 18

Acoustic Model Language Model

Computer Based Automatic Speech Processing

Mô hình thông dụng nhất dùng cho tiếng nói là constrained (miễn cưỡng), cho phép một trạng thái chuyển đổi thành chính nó hoặc thành một trạng thái khác

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 19

Computer Based Automatic Speech Processing

HMM và ứng dụng HMM trong nhận dạng tiếng nói Trang 20