Mơ hình Markov ẩn HMM là mơ hình dựa trên thống kê dùng để mơ hình hố các loại tín hiệu theo thời gian, được sử dụng rất thành công trong những ứng dụng về nhận dạng. Nó có khả năng mơ hình hố tiếng nói theo thời gian dựa trên cấu trúc được ràng buộc bằng toán học chặt chẽ. Cho nên HMM nhận dạng tiếng nói đạt hiệu quả cao hơn các phương pháp khác. Thực tế cho thấy, trong lĩnh vực nhận dạng tiếng nói, mơ hình Markov ẩn cho kết quả cao hơn mạng neural.
3.1 Mơ hình Markov ẩn
Mơ hình Markov ẩn gồm các trạng thái, và một ma trận trọng số chuyển trạng thái tạo thành một mạng chuyển đổi trạng thái. Trong phương pháp nhận dạng tiếng nói bằng mơ hình Markov ẩn, mỗi từ mẫu sẽ được biểu diễn bằng một mơ hình Markov ẩn. Tại một thời điểm bất kỳ, hệ thống sẽ ở vào trạng thái qt trong tập S = {Si} có N trạng thái. Qua các thời gian rời rạc, hệ thống sẽ chuyển qua các trạng thái
t
khác. Ký hiệu qt là trạng thái ở thời điểm t, ta có:
Cơng thức 3.1
P[qt = Sj|qt-1 = Si, qt-2 = Sk,…] = P[qt = Sj | qt-1 = Si]
Chúng ta chỉ xét các quá trình mà vế phải không phụ thuộc vào thời gian. Khi đó tập xác suất chuyển trạng thái aij có dạng:
Cơng thức 3.2
aij = P[qt = Sj | qt-1 = Si], với aij 0; a ij 1 .
Do đó, một mơ hình Markov ẩn được đặc trưng bởi các tham số sau:
1. N: số trạng thái của mơ hình
Tập trạng thái của mơ hình: s = {s1,s2,...,sN }
Trạng thái ở thời điểm t, q s
2. M: số các ký hiệu quan sát được ứng với một trạng thái Tập các ký hiệu quan sát: v = {v1,v2,...,vM }
Ký hiệu quan sát ở thời điểm t, ot v
3. Tập xác suất chuyển trạng thái: A = {aij} aij = P(qt+1 = sj | qt = si ), 1 ≤ i,j ≤ N
4. Tập xác suất ký hiệu Vk quan sát được trong một trạng thái: B = {bj(k)}
Công thức 3.3
5. Tập xác suất trạng thái ban đầu là trạng thái i: π = {πi }
Công thức 3.4
i = P[qt = Si], i[1,N]
Ta ký hiệu một mơ hình Markov ẩn như sau: = (A, B, Một số mơ hình HMM thơng dụng là:
Hình 3.2: Mơ hình Left – Right
Hình 3.3: Mơ hình Bakis
Hình 3.4: Mơ hình Tuyến tính
3.2 Ứng dụng Mơ hình Markov vào nhận dạng tiếng nói
Áp dụng mơ hình Markov ẩn cho xử lý tiếng nói, ta phải giải quyết 3 bài tốn cơ bản sau:
1. Tính điểm: Cho chuỗi quan sát O = {o1,o2,...,oT } và mơ hình = {A, B,
π}, ta phải tính xác suất có điều kiện P(O|) của chuỗi quan sát. -> Thuật toán tiến - lùi
2. So khớp: Cho chuỗi quan sát O và mơ hình ta phải tìm chuỗi trạng thái
Q= {q1, q2, ..., qT} sao cho xác suất có điều kiện P(O|) là tối ưu.
-> Thuật toán Viterbi
3. Huấn luyện: Cho chuỗi quan sát O và mơ hình , ta phải đánh giá lại các
thông số của mơ hình sao cho xác suất có điều kiện P(O|) của chuỗi quan sát là tối ưu.
-> Hàm ước lượng Baum-Welch
3.2.1 Thuật toán tiến
Toán tử tiến t(i) là xác xuất của chuỗi quan sát từng phần o1o2 ...ot và trạng thái quan sát Si tại thời điểm t với điều kiện cho mơ hình Markov ẩn
Công thức 3.5
αt (i) = P(o1o2 ...ot, qt = si | λ)
Tốn tử tiến có thể được tính theo các bước qui nạp sau:
Bước 1: Khởi tạo
iii1
với i[1,N]
Bước 2: Qui nạp
Cơng thức 3.6
Hình 3.5:Minh họa thuật tốn tiến
3.2.2 Thuật tốn lùi
Hình 3.6:Minh họa thuật tốn lùi
Toán tử lùi t(i) là xác xuất của chuỗi quan sát từng phần Ot+1Ot+2…OT và trạng thái Si tại thời điểm t với điều kiện cho mơ hình Markov ẩn .
Cơng thức 3.7
t(i) = P(Ot+1Ot+2…OT|qt = Si,)
Bước 1: Khởi tạo
T(i) = 1, (i(1,N))
Bước 2: Qui nạp
Công thức 3.8
3.2.3 Phương pháp tìm chuỗi trạng thái tối ưu
Một tiêu chuẩn chọn trạng thái qt là tối đa hóa xác suất số trạng thái đúng
Xét toán tử t(i):Toán tử t(i) là xác suất của hệ thống ở trạng thái i tại thời
điểm t với điều kiện cho chuỗi quan sát O và mơ hình .
Cơng thức 3.9
t(i) = P(qt = S|O,)
Và toán tử δt (i) là xác suất tối đa trên đường đi
Công thức 3.10
Quy nạp:
Công thức 3.11
thái tối ưu ở thời điểm t. Ta lưu lại trong mảng ψt (i)
3.2.4 Thuật toán Viterbi
Bước 1: Khởi tạo
Bước 2:Quy nạp
Công thức 3.12
Bước 3:Kết thúc
Công thức 3.13
Bước 4: Quay lui tìm chuỗi trạng thái (đường đi) tối ưu
Cơng thức 3.14
\
Hình 3.7: Ví dụ minh họa thuật tốn Viterbi
Hình 3.9: Ví dụ minh họa so khớp dùng thuật toán tiến-lùi
3.2.5 Ước lượng Baum-Welch
Xét toán tử t(i,j) là xác suất của hệ thống ở trạng thái i tại thời điểm t và
trạng thái j tại thời điểm t+1 với điều kiện có chuỗi quan sát O và mơ hình Markov ẩn
.
t (i, j) P(qt si , q t+1 s j | , ) Khi đó:
Kết hợp γt(i) và ξt(i,j), ta được = xác suất của hệ thống ở trạng thái i tại thời điểm t=1, tức là bằng t(i).
Công thức 3.16
Khi đó = ( A , B , ) là mơ hình được ước lượng lại.
Chương 4. BIẾN ĐỔI WAVELET VÀ ỨNG DỤNG TRONG XỬ LÝ - NHẬN DẠNG TIẾNG NĨI
4.1. Mục đích và ứng dụng của phân tích Wavelet
Biến đổi wavelet thực chất là một sự biểu diễn tín hiệu thành các băng tần octave, nó dựa trên cơ sở của các bank lọc số và mã hoá băng con. Để hiểu rõ hơn về wavelet, chúng ta sẽ xét qua một số biến đổi truyền thống biểu diễn tín hiệu trong miền tần số và miền thời gian – tần số.
4.1.1. Biến đổi Fourier.
Ta biết biến đổi Fourier truyền thống phân tích tín hiệu thành những đường sin liên tục ở các tần số khác nhau. Về mặt toán học, biến đổi này chuyển việc bảo dưỡng tín hiệu ở miền thời gian sang miền tần số.
Đối với nhiều tín hiệu, phân tích Fourier rất có lợi do nội dung tần số của tín hiệu đóng vai trị rất quan trọng. Nhưng phân tích Fourier cũng có một hạn chế rất lớn là khi chuyển sang miền tần số thì thơng tin thời gian bị mất đi. Nhìn vào biến đổi Fourier của một tín hiệu ta không thể xác định thời điểm xảy ra một sự kiện nào đó. Nếu tính chất của tín hiệu khơng thay đổi theo thời gian hay tín hiệu là tĩnh thì hạn chế này khơng quan trọng. Tuy nhiên, hầu hết các tín hiệu đều có những đặc tính động hay nhất thời, chớp nhống như là sự dịch chuyển, tạo các xu hướng khác nhau, những thay đổi đột ngột từ các thời điểm bắt đầu đến kết thúc của các sự kiện.
Những đặc tính này thường là phần quan trọng nhất của tín hiệu và phân tích Fourier rõ ràng là khơng thích hợp để phát hiện chúng.
4.1.2. Biến đổi Fourier thời gian ngắn (STFT)
Để khắc phục nhược điểm trên, Dennis Gobor (1946) đã sử dụng biến đổi Fourier để phân tích một vùng nhỏ của tín hiệu tại một thời điểm và gọi là kỹ thuật lấy cửa số tín hiệu. Đây chính là biến đổi Fourer thời gian ngắn, thực hiện ánh xạ một tín hiệu thành một hàm hai chiều thời gian – tần số
Hình 4.2. Biến đổi Fourier thời gian ngắn
STFT sử dụng các hàm cơ sở là những hàm mũ phức đã lấy cửa sổ và các hàm dịch của chúng để tạo nên biến đổi. Để có được biến đổi Fourier cục bộ, ta thực hiện như sau trước tiên, tín hiệu được nhân với một hàm cửa sổ (t-) và sau đố thực hiện biến đổi Fourier. Kết quả tạo ra một biến đổi hai chiều STFT , .
Công thức 4.1 * j I STFT , t .f t .e dt
Để có được sự phân giải thời gian – tần số tốt, ta sử dụng cửa sổ Gausian và khi đó STFT được gọi là biến đổi Gabor. STFT được sử dụng để tạo ra giản đồ phổ trong phân tích thoại và cửa sổ hay được dùng là cửa sổ Hamming vì nó u cầu tính tốn ít hơn so với cửa sổ Gausian.
4.1.3. Biến đổi Wavelet.
Phân tích Wavelet ưu việt hơn STFT ở chỗ nó cung cấp mơt kỹ thuật lấy cửa sổ với kích thước cửa sổ có thể thay đổi được. Phân tích wavelet cho phép sử dụng khoảng thời gian dài trên một đoạn tín hiệu mà chúng ta mong muốn có thơng tin tần số thấp chính xác hơn. Và ngược lại sử dụng khoảng thời gian ngắn hơn ở nơi mà chúng ta muốn có thơng tin tần số cao rõ ràng hơn. Nói cách khác, phân tích wavelet cung cấp khả năng định vị tần số và định vị thời gian tốt hơn.
Hình 4.3 Phân tích Wavelet
Có một điểm chú ý ở đây là phân tích Wavelet khơng ánh xạ tín hiệu sang miền thời gian – tần số mà thay vào đó là miền thời gian – tỷ lệ (time-scale).
4.2. Các loại biến đổi Wavelet 4.2.1 Wavelet liên tục CWT 4.2.1 Wavelet liên tục CWT
Wavelet là những hàm cơ sở mn(t) liên tục theo thời gian. Cơ sở là tập các hàm độc lập tuyến tính dùng tạo ra hàm f(t) nào đó:
Công thức 4.2 f(t) = tổ hợp các hàm cơ sở = , mn mn m n b t
Tính chất đặc biệt của cơ sở wavelet là tất cả các hàm mn(t)này được xây dựng từ một wavelet mẹ (t). Wavelet này là một sóng nhỏ được định vị, thay vì dao động mãi mãi, nó suy giảm nhanh xuống khơng. Thơng thường nó bắt đầu thời điểm t = 0 và kết thúc tại t = N.
Wavelet dịch 0n(t) bắt đầu tại t = n và kết thúc tại t = n + N, đồ thị của chúng được dịch sang phải n lần. Wavelet tỷ lệ m0(t) bắt đầu tại t = 0 và kết thúc tại t = N.2m, đồ thị của chúng được nén lại 2m lần.
Hình 4.5. Wavelet tỉ lệ
Một wavelet thuần mn(t) được nén lại 2m lần và dịch n lần
Công thức 4.3
2m
mn t t n
Một thuộc tính nổi bật của wavelet là tính trực giao (orthogonality). Các wavelet trực giao khi tính vơ hướng của chúng bằng không.
n mn MN m t t dt
= tích vơ hướng của mn và MN(t) = 0
Nhờ đó, có thể tính được hệ số bmn một cách đơn giản hơn: nhân f(t) trong biểu thức (4.2) với MN(t) và lấy tích phân ta được:
Công thức 4.4 2 MN MN f t t dt t dt
Nhờ tính trực giao, biểu thức (4.4) loại bỏ tất chuyển các tích phân ** với
MN, trừ trường hợp m = M và n = N, tương ứng sẽ tạo ra thành phần (MN(t))2. Khi đó bMN là tỷ số của hai tích phân trong biểu thức (4.4).
Năm bước để thực hiện CWT
Biến đổi Wavelet liên tục là tổng trên suốt khoảng thời gian của tín hiệu được nhân bởi phiên bản tỉ lệ và dịch của Wavelet. Quá trình này tạo ra các hệ số Wavelet là hàm của tỉ lệ và vị trí. Có năm bước để tạo ra CWT:
Bước 1, Lấy một Wavelet và so sánh với khởi đầu của một tín hiệu nguyên thủy.
Bước 2, Tính tốn giá trị C, đặc trưng cho tương quan gần của Wavelet với đoạn tín hiệu này: C càng lớn, càng có sự tương tự. Chính xác hơn, nếu năng lượng
của tín hiệu và Wavelet là bằng nhau, C có thể hiểu là hệ số tương quan. Kết quả sẽ phụ thuộc vào Wavelet mẹ.
Hình 4.6 Bước 1, So sánh wavelet với tín hiệu nguyên thủy
Bước 3, Dịch Wavelet về phía bên phải và lặp lại bước 1 và 2 cho đến khi hết tín hiệu
Hình 4.7 Bước 2, Dịch wavelet
Bước 4. Định tỉ lệ kéo dãn Wavelet là lặp lại tự bước 1 đến bước 3
Hình 4.8 Bước 4, định tỉ lệ Bước 5. Lặp lại các bước từ 1 đến 4 cho mọi tỉ lệ.
Sau khi hồn thành, ta sẽ có các hệ số ở các tỉ lệ khác nhau bởi các đoạn khác nhau của tín hiệu. Các hệ số tạo thành kết quả hồi quy của tín hiệu nguyên
thủy thực hiện trên các Wavelet. Bằng cách nào để cảm nhận các hệ số đó? Ta có thể tạo ra đồ thị với trục x thể hiện vị trí của tín hiệu theo thời gian, trục y đại diện cho tỉ lệ, màu sắc ở mỗi điểm (x,y) đại diện cho độ lớn của hệ số C. Đồ thị này còn được gọi là Scalogram của biến đổi Wavelet liên tục.
Hình 4.9 Scalogram của CWT
Các hệ số của biến đổi Wavelet liên tục vẽ ra chính xác hình ảnh thời gian-tỉ lệ của tín hiệu.
4.2.2 Biến đổi Wavelet rời rạc DWT
Tính tốn các hệ số Wavelet ở mọi tỷ lệ có thể là cơng việc mệt nhọc và phát sinh rất nhiểu dữ liệu. Ta có thể chọn một tập con các tỉ lệ và vị trí để giảm sự phức tạp tính tốn, gọi là phép biến đổi rời rạc DWT. DWT được xây dung dựa trên cấu trúc đa phân giải MRA.
Lọc một tầng: Các xấp xỉ và chi tiết
Với nhiều tín hiệu, nội dung tần số thấp là phần quan trọng nhất. Nó xác định tín hiệu. Nội dung tần số cao, nói cách khác chỉ làm tăng thêm hương vị. Ví như giọng nói con người. Nếu tách bỏ phần cao tần, giọng có khác nhưng vẫn có thể hiểu những gì đã nói. Tuy nhiên nếu loại bỏ thành phần tần số thấp đến một mức nào đó sẽ khơng nghe rõ nữa. Trong phân tích wavelet thường nói đến các xấp xỉ và chi tiết. Xấp xỉ ứng với thành phần tỉ lệ cao, tần số thấp, chi tíêt là thành phần tần số cao, tỷ lệ thấp.
Hình 4.10 Lọc một tầng cho xấp xỉ và chi tiết
Tín hiệu nguyên thủy gốc S đi qua 2 bộ lọc có đặc tính bù nhau và phân tách thành 2 tín hiệu. Nếu thực hiện cơng việc này với tín hiệu số thực ta sẽ tăng gấp đôi số dữ liệu ban đầu. Giả sử có 1000 mẫu thì đầu ra mỗi đầu là 1000 mẫu và tổng cộng là 2000 mẫu. Vì vậy ta cần giảm tần số lẫy mẫu (downsampling) đễ giữ nguyên số mẫu.
Hình 4.11 Giảm tần số lấy mẫu
Phân tách đa mức
Q trình phân tách có thể được lặp lại, với xấp xỉ hồn tồn được tách ra, do đó một tín hiệu được tách thành nhiều thành phần phân giải thấp hơn. Nó được gọi là cây phân tách Wavelet.
Hình 4.12 Phân tách đa mức
Quá trình phân tách về lý thuyết có thể lặp lại mãi mãi. Trong thực té, sự phân tách có thể xử lý cho đến khi chi tiết riêng chứa một mẫu hoặc pixel. Trong thực hành, bạn chọn một số thích hợp các mức dựa trên tính tự nhiên của tín hiệu, hoặc là tiêu chuẩn thích hợp như Entropy.
Tái tạo Wavelet
Quá trình kết hợp các thành phần tín hiệu thành tín hiệu nguyên thủy gọi là quá trình tái tạo hay tổng hợp Wavelet ứng vói biến đổi Wavelet ngược IDWT
Hình 4.13 Tái tạo wavelet
Trong khi phân tích Wavelet bao hàm lọc và hạ mẫu, quá trình tái tạo Wavelet bao gồm sự tăng mẫu (Upsampling) và lọc.
Hình 4.14 Tăng mẫu
4.2.3 Biến đổi Wavelet gói
Phương pháp Wavelet gói là một sự mở rộng của phân tách Wavelet. Trong đó, phần xấp xỉ chính nó lại được phân thành xấp xỉ và chi tiết mức hai và quá trình cứ được lặp lại. Trong phân tách n mức, có n + 1 cách để phân tích hoặc mã hóa tín hiệu. Trong phân tích wavelet gói, các chi tiết cũng giống như các xấp xỉ là có thể phân tích. Cây phân tách Wavelet là một phần của cây nhị phân hoàn hảo.
4.3 Sử dụng biến đổi Wavelet để xử lý nhiễu và nâng cao chất lượng tiếng nói
4.3.1 Phương pháp truyền thống của Dohono và Johnstone
Nhiễu ảnh hưởng nhiều đến hiệu quả xử lý tín hiệu, ví dụ như nhận dạng tiếng nói trong mơi trường thời gian thực. Có ba nhân tố chính của nhiễu đó là:
- Nhiễu thêm vào trong tín hiệu như tiếng quạt gió, ơ tơ, tàu hoả