Luận văn Xác minh người qua giọng nói

XÁC MINH NGƯỜI QUA GIỌNG NÓI TRẦN THỊ BẠCH HUỆ Trang nhan đề Lời cảm ơn Mở đầu Mục lục Tổng quan Danh mục Bảng liệt kê Bản xác nhận Danh mục Chương 1: Tổng quan Chương 2: Phương pháp xác minh người nói. Chương 3: Giới thiệu tóm tắt phần mềm mã nguồn mở ALIZE & LIA-RAL. Chương 4: Chi tiết thực nghiệm. Chương 5: Đánh giá và hướng phát triển. Tài liệu tham khảo Phụ lục 1 MỤC LỤC Bảng liệt kê các từ viết tắt và các thuật ngữ dùng trong luận văn Danh mục các bảng Danh mục các hình vẽ, đồ thị MỞ ĐẦU Trang CHƯƠNG 1 - TỔNG QUAN---------------------------------------------------------- 1 1.1 Tổng quan về sinh trắc học --------------------------------------------------------- 1 1.1.1 Giới thiệu ------------------------------------------------------------------------ 1 1.1.2 Hệ thống nhận dạng tự động dựa trên sinh trắc học ------------------------ 2 1.2 Sơ lược về hệ thống nhận dạng tự động người qua giọng nói ----------------- 3 1.2.1 Hai loại ứng dụng của lĩnh vực nhận dạng người qua giọng nói --------- 4 1.2.2 Tính đa dạng của hệ thống nhận dạng người qua giọng nói. -------------- 5 CHƯƠNG 2 - PHƯƠNG PHÁP XÁC MINH NGƯỜI NÓI ------------------- 7 2.1 Dẫn nhập ------------------------------------------------------------------------------ 7 2.2 Rút trích đặc trưng ------------------------------------------------------------------ 7 2.2.1 Phân đoạn, pre-emphasis và hàm cửa sổ ------------------------------------- 8 2.2.2 Biến đổi Fourier rời rạc -------------------------------------------------------- 9 2.2.3 Dải bộ lọc tần số mel ----------------------------------------------------------- 13 2.2.4 Biến đổi cosin rời rạc ---------------------------------------------------------- 15 2.2.5 Các hệ số mel-cepstrum và các đạo hàm của nó ---------------------------- 16 2.2.6 Năng lượng ---------------------------------------------------------------------- 16 2.2.7 Kết luận--------------------------------------------------------------------------- 16 2.3 Dò tìm năng lượng ------------------------------------------------------------------ 17 2.4 Chuẩn hoá đặc trưng ------------------------------------------------------------- 17 2.5 Huấn luyện mô hình nền và mô hình người nói --------------------------------- 17 2.5.1 Giới thiệu------------------------------------------------------------------------- 17 2.5.2 Mô hình nền phổ quát ---------------------------------------------------------- 18 2.5.3 Định lý Bayes-------------------------------------------------------------------- 19 2 2.5.4 Giải thuật Expectation Maximization (EM) --------------------------------- 20 2.5.5 Giải thuật Expectation Maximization trong ứng dụng -------------------- 22 2.6 Tính điểm cho một đoạn âm thanh ------------------------------------------------ 24 2.7 Chuẩn hoá điểm ---------------------------------------------------------------------- 26 2.7.1 T-norm (Test Normalization)-------------------------------------------------- 27 2.7.2 Z-norm (Zero Normaliztion)--------------------------------------------------- 28 2.8 Quyết định ---------------------------------------------------------------------------- 28 2.8.1 Các loại lỗi ---------------------------------------------------------------------- 28 2.8.2 Các phương pháp đánh giá hiệu năng --------------------------------------- 29 2.8.3 Điểm EER ----------------------------------------------------------------------- 29 2.8.4 Chọn ngưỡng -------------------------------------------------------------------- 30 CHƯƠNG 3 - GIỚI THIỆU TÓM TẮT PHẦN MỀM MÃ NGUỒN MỞ ALIZE & LIA – RAL ------------------------------------------------------------------ 31 3.1 Nguồn gốc----------------------------------------------------------------------------- 31 3.2 Giới thiệu thư viện Alize ------------------------------------------------------------ 32 3.2.1 Bộ phân tích cấu hình ---------------------------------------------------------- 32 3.2.2 Tập tin I/O------------------------------------------------------------------------ 32 3.2.3 Các tập tin đặc trưng ----------------------------------------------------------- 32 3.2.4 Các hàm thống kê -------------------------------------------------------------- 32 3.2.5 Các phân bố Gaussian --------------------------------------------------------- 33 3.2.6 Tập các Gaussians -------------------------------------------------------------- 33 3.2.7 Phân đoạn đặc trưng ----------------------------------------------------------- 33 3.2.8 Xử lý các tập tin vào/ra dựa trên dòng --------------------------------------- 33 3.2.9 Các véc tơ và ma trận----------------------------------------------------------- 33 3.2.10 Bộ quản lý ---------------------------------------------------------------------- 33 3.3 Giới thiệu gói Lia-ral ---------------------------------------------------------------- 34 3.3.1 Dò tìm năng lượng ------------------------------------------------------------- 34 3.3.2 Chuẩn hoá đặc trưng ----------------------------------------------------------- 36 3.3.3 Huấn luyện mô hình nền ------------------------------------------------------ 37 3 3.3.4 Huấn luyện mô hình người nói ----------------------------------------------- 37 3.3.5 Kiểm tra -------------------------------------------------------------------------- 38 3.3.6 Chuẩn hoá điểm ----------------------------------------------------------------- 39 3.3.7 Quyết định------------------------------------------------------------------------ 394 CHƯƠNG 4 - CHI TIẾT THỰC NGHIỆM --------------------------------------- 40 4.1 Chuẩn bị dữ liệu ---------------------------------------------------------------------- 40 4.2 Chi tiết quá trình tiến hành thực nghiệm------------------------------------------ 41 4.2.1 Khám phá tham số -------------------------------------------------------------- 41 4.2.2 Tìm hiệu năng ------------------------------------------------------------------- 42 4.3 Kết quả thử nghiệm ------------------------------------------------------------------ 43 4.3.1 Khám phá tham số -------------------------------------------------------------- 43 4.3.2 Tìm hiệu năng ------------------------------------------------------------------- 46 CHƯƠNG 5 – ĐÁNH GIÁ VÀ HƯỚNG PHÁT TRIỂN ----------------------- 48 5.1 Đánh giá kết quả --------------------------------------------------------------------- 48 5.2 Hướng phát triển luận văn ---------------------------------------------------------- 48 TÀI LIỆU THAM KHẢO--------------------------------------------------------------- 49 PHỤ LỤC A------------------------------------------------------------------------------- 52 PHỤ LỤC B ------------------------------------------------------------------------------- 57 PHỤ LỤC C ------------------------------------------------------------------------------- 61 PHỤ LỤC D------------------------------------------------------------------------------- 62

pdf24 trang | Chia sẻ: maiphuongtl | Lượt xem: 2206 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Luận văn Xác minh người qua giọng nói, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
7 CHƯƠNG 2 - PHƯƠNG PHÁP XÁC MINH NGƯỜI NÓI 2.1 Dẫn nhập Lấy mẫu Rút trích đặc trưng Đánh nhãn speech hoặc non-speech Dò tìm năng lượng Chuẩn hoá đặc trưng Huấn luyện mô hình nền Lời nói được số hoá MFCC Các véc tơ đặc trưng Các đặc trưng đã được chuẩn hoá Kiểm tra Chuẩn hoá điểm Quyết định Các đặc trưng của mẫu đầu vào cần xác minh Các Gaussian Mixture Models True/False? Các điểm của các mô hình tương ứng Log Likelihood Ratio (LLR) T-norm Ngưỡng θ Huấn luyện mô hình người nói/người giả danh Dùng giải thuật EM Dùng giải thuật EM Lời nói Hình 2.1: Các bước thực hiện của một hệ thống xác minh người qua giọng nói Chương này tóm tắt ngắn gọn các bước thực hiện của một hệ thống xác minh tự động người qua giọng nói theo hướng độc lập văn bản. Một vài bước gần như là giống nhau cho tất cả các hệ thống. Tuy nhiên, chương trình bày nghiêng theo các giải thuật được cài đặt trong phần mềm mở Alize và Lia-ral. Hình 2.1 bên trên sẽ cho thấy các bước thực hiện của hệ thống. 2.2 Rút trích đặc trưng Có nhiều đặc trưng có thể được rút trích từ một tín hiệu đầu vào. Tuy nhiên, chúng tôi chỉ trình bày cách rút trích các hệ số MFCCs - Mel-Frequency Cepstral Coefficients [16]. Hình 2.2 bên dưới cho thấy các bước tiến hành rút trích các hệ số này. 8 Hình 2.2: Các bước xử lý tín hiệu đầu vào để cho ra các hệ số MFCCs tại đầu ra. Tín hiệu đầu vào sau khi được phân thành từng đoạn thì tất cả các đoạn được nhân với hàm cửa sổ để giảm tối đa tính không liên tục tại các cạnh của đoạn. Sau đó dùng biến đổi Fourier để chuyển mỗi đoạn từ miền thời gian sang miền tần số. Cường độ (magnitude) được tính toán bằng cách bình phương biên độ (amplitude) tại mỗi tần số. Các hệ số này được chuyển đổi tới mức mel sau khi qua dải bộ lọc (filterbank). Năng lượng đầu ra từ mỗi bộ lọc của từng đoạn được lấy log và được biến đổi thành các hệ số MFCCs qua biến đổi cosin rời rạc (Discrete Cosine Transform-DCT). 2.2.1 Phân đoạn, pre-emphasis và hàm cửa sổ ƒ Pre-emphasis: Thường dùng để lọc tín hiệu bằng bộ lọc tần số cao (high- pass). H(z) = 1−kz-1, với k ∈ [0, 1]. Tuy nhiên, giá trị k thường dùng là 0.97. Giai đoạn này được thực hiện nhằm tăng cường các tần số cao của dải âm thanh (spectrum). Bộ lọc này không luôn luôn được áp dụng nhưng có thể lấy lại các tần số cao đã bị mất trong quá trình thu nhận tín hiệu. ƒ Phân đoạn và hàm cửa sổ: Lời nói là một tín hiệu không ổn định. Vì vậy, việc phân tích lời nói dùng FFT hay LPC phải được thực hiện trên các đoạn ngắn mà qua các đoạn này tín hiệu lời nói được xem là ổn định. Đây là lý do vì sao chúng ta cần chia tín hiệu đầu vào thành những đoạn con. Phân đoạn Pre- emphasis Dải bộ lọc tần số Mel Biến đổi Fourier rời rạc - DFT Hàm cửa sổ Hamming Lấy Log Biến đổi Cosin rời rạc Lấy đạo hàm 25 ms frame Tín hiệu lời nói 16 KHz, 16 bits Dải âm thanh theo tần số Mel Dải âm thanh (Bình phương biên độ) Các hệ số MFCCs 9 Rút trích đặc trưng (feature extraction) thường được thực hiện trên các cửa sổ từ 20 tới 30 ms. Để tránh mất mát thông tin do việc chia nhỏ, các đoạn gần kề thường được chồng lên nhau khoảng 30 tới 50% (khoảng 10 đến 15ms). Nguyên lý này được minh họa trong hình 2.2.1: Hình 2.2.1: Minh hoạ việc chia nhỏ tín hiệu đầu vào. Sau khi tín hiệu được chia nhỏ, mỗi đoạn được nhân với một trong các hàm cửa sổ wi sau: Hamming wi = 0.54 − 0.46 cos(iπ2/N) Hanning wi = (1 − cos(iπ2/N))/2 Blackman wi = 0.42 − 0.5 cos(iπ2/N) + 0.08cos(2iπ2/N) trong đó: N là số mẫu (samples) trong cửa sổ và i ∈ 2 [0, N − 1]. Mục đích của việc sử dụng hàm cửa sổ là để làm mượt các cạnh của mỗi đoạn, để giảm tính không liên tục hay các thay đổi bất ngờ tại các điểm cuối của đoạn. Các mẫu trong vùng cửa sổ có giá trị khác 0 và các mẫu tại những điểm cuối của cửa sổ là 0. 2.2.2 Biến đổi Fourier rời rạc Như được miêu tả trong hình 2.2.2.1, biến đổi Fourier rời rạc (Discrete Fourier Transform - DFT) là phân rã tín hiệu đầu vào có N điểm thành hai tín hiệu đầu ra, mỗi tín hiệu có N/2 +1 điểm. Tín hiệu đầu ra sẽ chứa các biên độ (amplitudes) của các sóng hình sin và cosin (chi tiết trong [20]). 20-30ms 10-15ms 10 Hình 2.2.2.1: Trong miền thời gian, x[] chứa N điểm chạy từ 0 tới N-1. Trong miền tần số, x[] được chia thành hai tín hiệu con có chiều dài là N/2+1 điểm và chạy từ 0 tới N/2. Biến đổi Fourier là chuyển từ miền thời gian tới miền tần số, trong khi biến đổi Fourier ngược (Inverse Discrete Fourier Transform) là từ miền tần số trở về miền thời gian. Miền tần số chứa cùng thông tin với miền thời gian, chỉ ở một hình thức khác. Nếu chúng ta biết một miền, chúng ta có thể tính toán tới miền còn lại. Hình 2.2.2.2 minh hoạ cách một tín hiệu được phân rã thành các sóng hình sin và cosin. Hình (a) cho thấy một tín hiệu ví dụ có chiều dài 16 điểm, chạy từ 0 tới 15. Hình (b) cho thấy việc phân rã Fourier của tín hiệu này thành 9 sóng hình cosin và 9 sóng hình sin. Mỗi một sóng có tần số và biên độ riêng của nó. Mười tám sóng này nếu tổng hợp lại sẽ cho ra sóng ban đầu, ở hình (a). Không có sự khác nhau giữa tín hiệu trong (a) và tổng của những tín hiệu trong (b), giống như không có sự khác nhau giữa 7 và 3+4. … x[ ] N điểm Miền thời gian … … ReX[] ImX[] N/2 + 1 điểm (biên độ sóng cosin) N/2 + 1 điểm (biên độ sóng sin) Miền tần số DFT IDFT0 -1 0 /2 0 N N N/2 PHÂN Rà Biên độ TỔNG HỢP Số mẫu 11 Các sóng Cosin (a) Các sóng Sin (b) Hình 2.2.2.2: Một ví dụ cho việc phân rã Fourier. Một tín hiệu 16 điểm (a) được phân thành 9 sóng cosin và 9 sóng sin (b) [20]. 12 Biểu thức toán học để tín toán miền tần số từ miền thời gian như sau: ΣReX [k] = x [i] cos (2N-1 i=0 πki/N) Σ trong đó, x[i] là tín hiệu miền thời gian; ReX[k] và ImX[k] là hai tín hiệu miền tần số; i chạy từ 0 tới N-1, trong khi k chạy từ 0 tới N/2. Hay nói cách khác, mỗi mẫu trong miền tần số được tính toán bằng cách nhân tín hiệu miền thời gian với các sóng hình sin hoặc cosin, và cộng các điểm kết quả. Như được mô tả ở trên, miền tần số là một nhóm các biên độ của các sóng hình cosin và sin. Điều này được biết như là ký hiệu vuông góc. Ngoài ra, miền tần số còn có thể được biểu diễn dưới toạ độ cực. Trong ký hiệu này, ReX[] và ImX[] được thay thế bằng hai mảng khác: MagX[] được gọi là cường độ (magnitude) của X[] và PhaseX[], được gọi là pha (Phase) của X[]. Ví dụ, MagX[0] và PhaseX[0] được tính toán sử dụng chỉ ReX[0] và ImX[0]. Hoặc MagX[14] và PhaseX[14] được tính toán sử dụng chỉ ReX[14] và ImX[14], và … Để hiểu về phép chuyển đổi này, chúng ta hãy xem xét những gì sẽ xảy ra khi chúng ta cộng một sóng cosin và một sóng sin có cùng tần số. Kết quả là một sóng cosin có cùng tần số nhưng với một biên độ mới và một pha mới như biểu thức sau: A cos (x) + B sin (x) = M cos (x + θ) Điểm quan trọng là không có thông tin bị mất trong quá trình này. Nếu cho trước một đại diện, chúng ta có thể tính toán cái còn lại. Hay nói cách khác, thông tin được chứa trong các biên độ A và B cũng được chứa trong M và θ. Mặc dù biểu thức này liên quan đến các sóng sin và cosin, nhưng nó cũng cùng biểu thức chuyển đổi như các véc tơ đơn giản. Hình 2.2.2.3 cho thấy A và B trong toạ độ vuông góc; M và θ là các tham số trong toạ độ cực. Im X [k] = − x [i] sin (2 N-1 i=0 πki/N) 13 θ MB A M = (A2 + B2)1/ Hình 2.2.2.3: Chuyển đổi từ tọa độ vuông góc sang toạ độ cực. Cộng một sóng cosin và sóng sin có cùng biểu thức toán học như cộng các véc tơ đơn giản. Trong toạ độ cực, MagX[] giữ biên độ của sóng cosin, trong khi Phase[] giữ pha của sóng cosin. Các biểu thức sau chuyển đổi miền tần số từ toạ độ vuông góc sang toạ độ cực và ngược lại. MagX [k] = ( ReX [k]2 + ImX [k]2 ) ½ 2 θ = arctan(B/A) arctan PhaseX[k] = ImX [k] ReX [k] ReX [k] = MagX [k] cos ( PhaseX [k] ) ImX [k] = MagX [k] sin ( PhaseX [k] ) 2.2.3 Dải bộ lọc tần số mel Dải bộ lọc (filter bank) được áp dụng để loại bỏ một số biến đổi trong dải âm thanh. Nó là dải các bộ lọc tần số có dạng hình tam giác và được thiết kế để giữ lại các tần số mong muốn. Một chọn lựa rõ ràng là giữ lại chỉ những tần số mà tai người có thể nghe được. Dải bộ lọc có dạng hình tam giác này được đặt trên trục tần số sao cho tần số trung tâm của mỗi bộ lọc là tuyến tính theo mức mel (melody), và logaric theo mức tần số bình thường. Hơn nữa, các cạnh phải được đặt sao cho trùng với các tần số trung tâm của các bộ lọc lân cận. Chúng ta có thể hình tượng như sau 14 Hình 2.2.3.1: Dải bộ lọc tần số hình tam giác Bây giờ giả sử chúng ta có dải các bộ lọc như hình 2.2.3.2, trong đó fm là tần số trung tâm của bộ lọc thứ m; Fs là tỉ lệ lấy mẫu (sampling rate) và em là năng lượng đầu ra của bộ lọc thứ m. Lúc này em được tính theo biểu thức sau Hình 2.2.3.2: Dải bộ lọc hình tam giác với tần số trung tâm fm được đặt theo logaric. trong đó, m = 1..M (M: số bộ lọc và M << N); N là chiều dài của tín hiệu đầu vào; X(j) là cường độ tại tần số j; hm(j) là bộ lọc thứ m, được định nghĩa Hertz m1 mp H Mels m1 mp H Σem = log (hm(j) * X(j)) N j=1 fm-1 fm+1 fm em Fs/2 hm(j) = 0 for fj < fm-1 for fm-1 ≤ fj ≤ fm for fm ≤ fj ≤ fm+1 0 for fj ≥ fm+1 fj – fm-1 fm – fm-1 fj – fm+1 fm – fm+1 15 Tần số mel (m) trung tâm của các bộ lọc được tính theo biểu thức m = 1127.01048 loge (1 + f/700) Sau đó dựa vào mức mel, phân chia phạm vi cho từng bộ lọc Δφ = (φmax − φmin)/(M + 1) (*) trong đó, φmax là tần số mel cao nhất trong dải bộ lọc, được tính từ tần số f cao nhất (fmax) sử dụng biểu thức (*) bên trên; φmin là tần số mel thấp nhất được tính từ tần số f thấp nhất (fmin). Chú ý, fmax thường là ½ của tỉ lệ lấy mẫu (sampling rate: Fs); fmin thường là 0. Các tần số mel trung tâm được tính toán theo φc(m) = m.Δφ trong đó, m = 1..M. Để thu được các tần số trung tâm theo Hertz, chúng ta áp dụng biểu thức Sau khi dải âm thanh (spectrum) đi qua dải bộ lọc thì thu được dải âm thanh theo tần số mel. Lấy log của dải âm thanh đầu ra này và sử dụng phép biến đổi Fourier ngược sẽ thu được các hệ số cepstrum. 2.2.4 Biến đổi cosin rời rạc Do đầu ra của giai đoạn trên là số thực và đối xứng nên phép biến đổi Fourier ngược (IDFT) được thay thế bằng phép biến đổi cosin rời rạc (Discrete Cosine Transform - DCT). Nó được định nghĩa như sau: trong đó, S[m] là đầu ra của bộ lọc thứ m, M là số các bộ lọc, n là số đặc trưng cần rút trích. Áp dụng DCT thu được các hệ số cepstrum tần số Mel (MFCCs) hay còn gọi là các hệ số mel-cepstrum. Các hệ số này là các đặc trưng được rút trích trong suốt ứng dụng của chúng ta. Σc[n] = dct(S[m]) = S[m] cos M-1 m=0 πn(m + ½) M 0 ≤ n ≤ M fm = 700 (10φ − 1) c(m) / 2595 16 2.2.5 Các hệ số mel-cepstrum và các đạo hàm của nó Các đạo hàm của các hệ số mel-cepstrum (mel-cepstral coefficients) được xem như là các đặc trưng động (dynamic features). Nó được dùng để thể hiện các thay đổi giữa các đoạn khác nhau. Đạo hàm bậc một (first derivative) được gọi là delta và thường được biểu diễn bằng ký tự Hi Lạp Δ. 1 2 Δ trong đó, χμ là véc tơ đặc trưng tại đoạn thứ μ và d thường được thiết lập 1 hoặc 2. Các hệ số delta-delta , còn gọi là các hệ số gia tốc, là phép toán xấp xỉ đạo hàm bậc hai. xμ = (xμ+d – xμ-d) 1 2 2.2.6 Năng lượng Ngoài các thông tin tần số được thảo luận ở trên, năng lương (energy) của tín hiệu cũng được xem là một đặc trưng dùng cho việc nhận dạng. Nó có thể được tính sau khi một đoạn đã được pre-emphasis và nhân với hàm cửa sổ hoặc trước lúc đó. 2.2.7 Kết luận Đầu ra của giai đoạn rút trích đặc trưng là một chuỗi các véc tơ đặc trưng đại diện cho các đoạn trong tín hiệu lời nói. Chiều của các véc tơ này chỉ ra số đặc trưng được dùng. Trong ứng dụng của chúng ta, số đặc trưng rút trích được là 39 gồm: – 12 hệ số MFCCs (mel frequency cepstral coefficients) – 12 đạo hàm bậc 1 của MFCCs – 12 đạo hàm bậc 2 của MFCCs – 1 đặc trưng năng lượng ΔΔxμ = ( xμ+1 – xμ-1) Δ Δ ΣEnergy = x2 [t] t2 t= t1 17 – 1 đạo hàm bậc 1 của năng lượng – 1 đạo hàm bậc 2 của năng lượng 2.3 Dò tìm năng lượng Thực tế một tập tin không thể chứa toàn dữ liệu lời nói, có những khúc ngập ngừng, do dự và nhiễu môi trường xen lẫn vào. Để tránh việc huấn luyện (training) và kiểm tra (testing) trên những véc tơ đặc trưng không có lời nói, hầu hết những hệ thống đều tiến hành dò tìm năng lượng (Energy Detecting). Việc dò tìm này phân đoạn tập tin thành một hoặc nhiều đoạn con, mỗi đoạn con được đánh nhãn là lời nói (speech) hay không phải lời nói (not speech). Khi đó, tất cả các bước sau, những đoạn không phải lời nói sẽ bị bỏ qua (xem chi tiết trong phần 3.3.1). 2.4 Chuẩn hoá đặc trưng Môi trường thu âm thường có ảnh hưởng lớn đến kết quả của các ứng dụng nhận dạng người qua giọng nói. Để giảm đến mức tối thiểu các ảnh hưởng phụ do các đặc điểm như từ microphone, từ kênh truyền gây ra. Các đặc trưng (features) cần được chuẩn hoá dựa trên mean và variance. Giải thuật đơn giản để thực hiện điều này là tính toán mean, μ, và variance, σ2, cho các véc tơ đặc trưng trong tập tin. Sau đó mỗi véc tơ đặc trưng được chuẩn hoá, sử dụng biểu thức x’ = x – μ σ Một vài hệ thống chỉ chuẩn hoá trên mean, μ. Khi sử dụng các hệ số cepstrum, điều này được gọi là Ceptral Mean Subtraction (CMS). Tuy nhiên, các hệ thống khác (như hệ thống của chúng ta) chuẩn hoá dựa trên cả hai mean và variance. 2.5 Huấn luyện mô hình nền và mô hình người nói 2.5.1 Giới thiệu Một trong các ý tưởng cơ bản của hệ thống xác minh người qua giọng nói là cho trước một vài mẫu huấn luyện của một cá nhân và nó có thể phân lớp các mẫu này. Điều này có nghĩa là các mẫu huấn luyện phải được biến đổi thành mô hình tổng quát hơn. Việc này được gọi là ‘huấn luyện’ hay ‘thích nghi’ với mẫu huấn luyện. Đối với công việc đơn giản, nó có thể chỉ là lưu trữ dữ liệu huấn luyện và 18 thực hiện một thao tác so khớp mẫu. Tuy nhiên, đối với mục đích của dự án này, GMM được sử dụng. Một kỹ thuật dùng để cải thiện hiệu năng của các hệ thống là sử dụng mô hình nền (background model), hay mô hình mà đại diện cho tất cả các người nói (speaker) khác người nói quan tâm. Mô hình nền được huấn luyện dựa trên các đoạn lời nói của các người nói khác nhau. Còn mô hình người nói (target model) được huấn luyện dựa trên đoạn lời nói của chính cá nhân đó. Ở đây, các mô hình được huấn luyện nhờ giải thuật EM (Expectation Maximization). Tiêu chuẩn tối ưu được dùng rộng rãi nhất cho việc huấn luyện mô hình người nói là tối đa xác suất hậu nghiệm, cho trước dữ liệu (max p(HM| x, θ)). Điều này được gọi là huấn luyện MAP (maximum a posteriori), và ngược với nó là huấn luyện ML (maximum likelihood), trong đó tiêu chuẩn là tối đa khả năng (likelihood) của dữ liệu đang được sinh ra bởi mô hình (max p(x| HM, θ)). Tiêu chuẩn này được dùng để huấn luyện mô hình nền. Vấn đề sử dụng mô hình nền, được huấn luyện theo tiêu chuẩn ML và được thích nghi tới các cá nhân sử dụng tiêu chuẩn MAP được đề cập như mô hình nền phổ quát (Universal Background Model - UBM). 2.5.2 Mô hình nền phổ quát Mô hình nền phổ quát (UBM) được giới thiệu và được áp dụng thành công trong các hệ thống nhận dạng người qua giọng nói. Các hệ thống này được xây dựng xung quanh việc kiểm tra dựa vào tỉ lệ khả năng (likelihood ratio), sử dụng mô hình Gaussian với covariance ma trận chéo. UBM đại diện cho các người nói mà chúng ta không quan tâm, và một dạng thích nghi Bayesian để sinh ra các mô hình người nói từ UBM đạt được hiệu năng rất cao [17]. Chú ý, ở đây chúng ta chia tập người nói vũ trụ thành hai tập con: tập người nói quan tâm là tập người nói trong cơ sở dữ liệu; tập thứ hai, tập người nói không quan tâm, là tất cả các người nói còn lại. Mô hình UBM đại diện cho các đặc điểm nền và được huấn luyện trên tập dữ liệu lớn (tập người nói không quan tâm) để tạo ra mô hình mà không có các đặc điểm riêng. 19 Thường các véc tơ mean của các mô hình người nói được sinh ra qua thích nghi MAP từ các tham số của UBM dựa trên dữ liệu huấn luyện của chính cá nhân đó. Trong khi trọng số và ma trận chéo covariance thì giống với của UBM. 2.5.3 Định lý Bayes Định lý Bayes liên quan đến xác suất điều kiện (conditional probability) và xác suất tiên nghiệm (priori probability) của các biến cố A và B. P(A | B) = P(B | A) P(A) P(B) ƒ P(A) là xác suất tiên nghiệm của A. ƒ P(A|B) là xác suất điều kiện của A, cho trước B. Nó cũng được gọi là xác suất hậu nghiệm. ƒ P(B) là xác suất tiên nghiệm của B và được xem như là hằng chuẩn hoá (normalizing constant). Để suy ra được định lý, chúng ta bắt đầu từ định nghĩa của xác suất điều kiện. Xác suất của biến cố A, cho trước B là P(A | B) = P(A ∩ B) P(B) Tương tự, xác suất của biến B, cho trước A là P(B | A) = P(A ∩ B) P(A) Từ hai biểu thức trên, ta có P(A | B) P(B) = P(A ∩ B) = P(B | A) P(A) Chia hai vế cho P(B), vói P(B) ≠ 0, ta thu được định lý Bayes P(A | B) = P(B | A) P(A) P(B) Ngoài ra, định lý Bayes còn có những dạng khác: Giả sử không gian mẫu S được chia thành n các biến cố riêng biệt nhau: S = {A1, A2, A3,…, An} AiAj = 0 với i ≠ j 20 Xét biến cố B tùy ý như hình sau: A3 A1 A2 A4 B Hình 2.5.3: Xét biến cố B tùy ý. Biến cố B có thể được biểu diễn dưới dạng hợp của n tập tách biệt BA1, BA2, ..., BAn : B = BA1 + BA2 + ... + BAn Suy ra: P(B) = P(B| A1) P(A1) + P(B| A2) P(A2) + … + P(B| An) P(An) (1) Vậy, P(B | Ai) P(Ai) P(B | A1) P(A1) +…+ P(B | An)P(An) P(Ai | B) = P(B | Ai) P(Ai) P(B) Định lý Bayes cũng thường được viết dưới dạng P(B) = P(A, B) + P(Ac , B) = P(B | A) P(A) + P(B | Ac) P(Ac) = P(A | B) = P(B | A) P(A) P(B | A) P(A) + P(B | Ac) P(Ac) hay trong đó AC là biến cố bù của biến cố A (thường được gọi là "không A"). 2.5.4 Giải thuật Expectation Maximization (EM) Giải thuật: Đầu vào: m véc tơ đặc trưng, n phân bố, giá trị cho tham số baggedFrameProbabilityInit Đầu ra : θ’ = {μ1,…, μn, σ1,…, σn, p(z = 1),…, p(z = n)} 21 – Bước khởi tạo, • Sử dụng tham số baggedFrameProbabilityInit để tính toán số véc tơ cho phân bố thứ i. • • Sử dụng μi và các véc tơ đặc trưng để tính toán σi μi = 1 ni ∑ xj j=1 ni • σi = 1 n ∑ xj 2 −μi2 j=1 n 1 n • P(z =i| θ) = – Bước E: for i = 1 Æ n { for j = 1 Æ m { ) = p(yj|z = i, θ) p(z = i| θ) p(yj|z = k, θ) p(z = k| θ) p(z = i|yj, θ Σn k=1 } } trong đó: 22 – Bước M: • Cập nhật mean: for i = 1 Æ n { } • Cập nhật covariance: for i = 1 Æ n { } • Cập nhật xác suất cho phân bố for i = 1 Æ n { } • Các giá trị sau khi đã cập nhật này sẽ trở thành giá trị đầu vào cho vòng lặp θt + 1. 2.5.5 Giải thuật Expectation Maximization trong ứng dụng Việc tính toán ở bước E và M tạo ra ba biểu thức cho việc cập nhật các tham số cho các phân bố (được gọi là mixture), θ = (w1, . . . ,wn, μ1, . . . , μn, σ1, . . . , σn). p(z = i|θ) = p(z = i | yj, θ) Σmj=1 p(z = k| yj, θ) Σnk=1 Σmj=1 μi’ = p(z = i | yj, θ) yj Σmj=1 p(z = i| yj, θ) Σmj=1 σi’ = p(z = i | yj, θ) (yj − μi) (yj − μi) Σmj=1 p(z = i| yj, θ) Σmj=1 23 trong đó wi là trọng số phân bố thứ i và p(i| xj, θi) là khả năng (likelihood) mà xj được sinh ra bởi phân bố i. Thao tác (.)2 chính là (·)(·)T đối với véc tơ. Trong trường hợp huấn luyện MAP, các biểu thức trở thành trong đó Tham số αi được tính toán sử dụng yếu tố liên quan, rρ. Tuy nhiên, trong ứng dụng Alize w’ được cập nhật theo biểu thức sau và nó được xem là tốt hơn biểu thức chuẩn [5]. wi’ = 1 mΣm p(i | xj, )θj μi’ = xj p(i | xj, θ)Σmj p(i | xj, θ) Σmj σi’2 = (xj - Σm i’)2 p(i | xj, ) μ θj Σm p(i | xj, ) θj ) = wi pi (xj | θi) wkpk(xj | p(i | xj, θ Σn k) θk wi’ = rρ + Ni m + n rρ μi’ = αiμEi (x) + (1 − αiμ ) μi σi2’ = Ei (x2) + (1 i2 + i2) μi’2 αiσ − αiσ ) (σ μ − Ni = Σ p(i | xj , m ) θ j Σm1 p(i | xj , ) xjθEi (x) = N ji Σm1 ) xj2p(i | xj , θEi (x2) = N ji Ni αiρ = ρ Ni + r 24 i w Ni m αλi = + (1 − αiw) wi wi’ = λi Σn λi i Chú ý là việc thích nghi tất cả các tham số (wi, μi, σi) không luôn luôn tốt hơn việc thích nghi chỉ một. Sau khi huấn luyện mô hình nền, hầu hết các hệ thống chỉ thích nghi mean của phân bố hoặc mean và trọng số (weights). Việc thích nghi nhiều tham số nói chung không cải thiện hiệu năng. Dữ liệu huấn luyện dư thừa có thể gây cho hệ thống tình trạng “over-training”. Mặc dù vậy, mô hình nền thường được thích nghi trên tất cả các tham số do các tham số khi được khởi tạo với các giá trị ngẫu nhiên, việc huấn luyện chỉ một tập con các tham số sẽ để lại các giá trị ngẫu nhiên trong mô hình. Để tránh các trường hợp mà trong đó mô hình bị ‘over- training’, variance thường bị kẹp giữa cặp giá trị: variance flooring và variance ceiling, tương ứng chặn dưới và trên. 2.6 Tính điểm cho một đoạn âm thanh Sau khi đã huấn luyện các mô hình cần thiết, quá trình chuẩn bị xem như đã hoàn thành. Bây giờ hệ thống có thể được sử dụng. Tuy nhiên trước khi tìm hiểu giải thuật kiểm tra, chúng ta cần biết đầu ra của quá trình kiểm tra nên là gì. Đầu ra đơn giản nhất là một giá trị cho một đoạn âm thanh so với một mô hình. Đầu ra (còn gọi là điểm) phức tạp hơn có thể là các véc tơ thể hiện các phương diện khác của lời nói. Tuy nhiên, trong ứng dụng tỉ lệ khả năng (likelihood ratio - LR) được dùng để tính toán điểm. Giả sử, cho đoạn lời nói Y và một người nói S, hệ thống xác minh người nói chủ yếu xem xét liệu Y có được nói bởi S hay không. Công việc này được xem như kiểm tra giữa hai giả thuyết: Y có nguồn gốc từ người nói S (H0), và Y không có nguồn gốc từ người nói S (H1). Tỉ lệ khả năng (LR) giữa hai giả thuyết này được ước tính và được so sánh với ngưỡng quyết định θ. LR(Y, H0, H1) = p(Y | H0) p(Y | H1) 25 trong đó, Y là đoạn lời nói cần xác minh, P(Y| H0) là hàm khả năng cho giả thuyết H0 được ước tính cho Y; P(Y| H1) là hàm khả năng cho H1 và θ là ngưỡng để quyết định chấp nhận hay loại trừ H0. Nếu LR(Y, H0, H1) > θ, H0 được chấp nhận; ngược lại H1 được chấp nhận. Mô hình, được ký hiệu λhyp, đại diện cho H0, nó được học bằng cách sử dụng một đoạn lời nói của người nói S. Mô hình, được ký hiệu λ¬ hyp, đại diện cho giả thuyết ngược lại, H1, và thường được học bằng cách sử dụng tập rất lớn từ những người nói khác S. LR trở thành λhyp Thường người ta hay dùng dạng logarit để chuyển các phép toán nhân và chia sang cộng và trừ nhằm tăng độ chính xác. Lúc đó tỉ lệ khả năng trở thành log tỉ lệ khả năng (log likelihood ratio -LLR): LLR(Y ) = log(p(Y | λhyp)) − log(p(Y | λ¬ hyp)) Các mô hình GMM ước tính hàm mật độ xác suất bởi trong đó pi là trọng số của phân bố thứ i với ràng buộc tổng trọng số của các phân bố phải là 1; bi(x) là mật độ cho phân bố thứ i. Mỗi mật độ là một Gaussian được định nghĩa: trong đó D là kích thước của véc tơ đặc trưng; μi, ∑i là mean và ma trận covariance của phân bố thứ i. Covariance thường được dùng dưới dạng ma trận chéo. Điều này giúp cho việc huấn luyện hệ thống trở nên đơn giản hơn và được đánh giá là tốt hơn các hệ thống sử dụng ma trận covariance đầy đủ (full covariance) [15]. Một miêu tả cho hàm mật độ xác suất được thể hiện qua hình 2.6. p(x | λ) = Σ pi bi(x) M i=1 ¬ hypλ 26 g1( ) Hình 2.6: Sơ đồ của hàm mật độ xác suất đại diện cho mô hình λ. trong đó, gi là phân bố Gaussian thứ i, và wi là trọng số của phân bố tương ứng. i chạy từ 1 tới n, trong đó n là số các phân bố. Mỗi phân bố được đại diện bởi mean μi và ma trận covariance ∑i. Tuy nhiên trên giả thuyết, mô hình λ¬ hyp được học từ tập người nói còn lại, không chứa S. Nó đòi hỏi tri thức về nguồn âm thanh trong tập vũ trụ, một công việc khó có thể giải quyết. Một xấp xỉ thường được dùng cho p(Y| λ¬ hyp) là sử dụng mô hình nền W (background model) thay vì sử dụng lớp các mô hình, ngoại trừ λhyp. Khi đó công thức LLR trở thành LLR(Y ) = log(p(Y | λhyp)) − log(p(Y | λW)) và việc tính toán trở nên đơn giản hơn. 2.7 Chuẩn hoá điểm Mặc dù các bước được mô tả bên trên (lấy mẫu, chuẩn hoá đặc trưng, huấn luyện và kiểm tra) đã đủ cho một hệ thống xác minh người qua giọng nói. Tuy nhiên, hệ thống sẽ thực hiện tốt hơn nếu áp dụng thêm bước chuẩn hoá điểm. Mục đích của bước này là làm cho điểm càng độc lập người nói để có thể sử dụng ngưỡng tuyệt đối khi đưa ra quyết định. Chúng ta có thể hiểu là do các biến đổi từ chất lượng thiết bị thu âm, người nói bị bệnh, trạng thái tình cảm, nhiễu của môi trường xung quanh,… làm cho việc chọn ngưỡng đơn không có hiệu quả nếu không có thao tác chuẩn hóa trước đó. Ngoài ra, biến đổi giọng nói giữa các người nói khác nhau cũng là yếu tố quan trọng khi xem xét phạm vi định ngưỡng. Chuẩn hoá điểm giúp giảm x g2( ) gn( ) • • • w1 w2 wn p(x|λ)Σ 27 tối đa các ảnh hưởng đã nêu bên trên để có thể chọn ngưỡng dễ dàng hơn và hiệu quả hơn. Trong những năm gần đây, nhiều kỹ thuật được đề nghị. Tuy nhiên, hai kỹ thuật quan trọng là T-norm và Z-norm sẽ được mô tả ngắn gọn trong các phần sau. 2.7.1 T-norm (Test Normalization) Hình 2.7.1: Mô tả kỹ thuật T-norm. Ý tưởng là so sánh mỗi đoạn kiểm tra x với từng mô hình giả danh. Điều này cho ra các điểm tương ứng với từng mô hình giả danh trên đoạn x. Từ các điểm của các mô hình giả danh này, tính toán mean và variance: μI = ∑i=1k scoreI[i] / k σI = (( ∑i=1k scoreI[i]2 / k ) − μI2 )2 trong đó k số mô hình giả danh mà đoạn kiểm tra x được ước tính trên đó. Tiếp theo, mean và variance này được dùng cho việc chuẩn hoá theo: trong đó ΛM,T là điểm được T-norm đối với mô hình M. Ở đây, μI và σI là các thuộc tính thống kê dựa trên các điểm của đoạn x được ước tính dựa trên các mô hình giả danh. Dĩ nhiên điều này phải được thực hiện on-line đối với mỗi đoạn kiểm tra và cần được xem xét lại về vấn đề chi phí. ΛM,T = ΛM − μI σ Mô hình giả danh I Mô hình giả danh Mô hình người nói T- norm Mô hình giả danh ( I , I) μ σ ΛM,T = ΛM − μI σI 28 2.7.2 Z-norm (Zero Normaliztion) Hình 2.7.2: Mô tả kỹ thuật Z-norm. Ý tưởng là ước tính các đoạn lời nói của các người nói giả danh với mô hình người nói. Điều này cho ra các điểm tương ứng với từng đoạn giả danh trên mô hình người nói. Từ các điểm này, tính toán mean và variance: μI = ∑i=1k scoreI[i] / k σI = (( ∑i=1k scoreI[i]2 / k ) − μI2 )2 trong đó k là số đoạn lời nói giả danh được ước tính trên mô hình người nói. Từ mean và variance tính được, chuẩn hóa điểm theo biểu thức: trong đó μI và σI là các thuộc tính thống kê dựa trên các điểm thu được từ các đoạn lời nói của các người nói giả danh được ước tính trên mô hình người nói M. Thuận lợi của giải thuật này là có thể thực hiện off-line, trong suốt thời gian huấn luyện, vì thế ít tốn chi phí. 2.8 Quyết định Bước cuối cùng của hệ thống là quyết định liệu Y có được nói bởi S hay không? Đầu vào cho bước này là điểm của đoạn Y được ước tính trên mô hình của S. Nếu điểm lớn hơn ngưỡng θ thì kết luận ‘TRUE’, ngược lại kết luận ‘FALSE’. 2.8.1 Các loại lỗi Trong một hệ thống xác minh người qua giọng nói bất kỳ, đầu ra có thể được nhóm thành bốn loại: chấp nhận đúng (true acceptances), chấp nhận sai (false ΛM,T = ΛM − μI σI Mô hình người nói Mô hình người nói Đoạn lời nói giả danh Đoạn lời nói cần kiểm tra (μI , I) σ Z-norm M,Z = ΛM − μI σI Λ 29 acceptances), loại bỏ đúng (true rejections) và loại bỏ sai (false rejection). Loai đầu tiên xảy ra khi một người nói quan tâm được chấp nhận. Loại thứ hai xảy ra khi một người nói giả danh được chấp nhận. Loại thứ ba xảy ra khi một người nói giả danh bị loại bỏ, và loại cuối cùng xảy ra khi một người nói quan tâm bị loại bỏ. Các tỉ lệ lỗi này thường được dùng để đại diện hiệu năng của một hệ thống xác minh người qua giọng nói. Tuy nhiên, chúng hiếm khi được dùng riêng lẻ và thường được xem xét dưới dạng biểu đồ. 2.8.2 Các phương pháp đánh giá hiệu năng Phương pháp đo lường lỗi được dùng phổ biến nhất cho một hệ thống xác minh người qua giọng nói trong thực tế là tỉ lệ loại bỏ sai (false reject rate – FRR) và tỉ lệ chấp nhận sai (false accept rate – FAR). Cách đo lường này giả định một giá trị ngưỡng và ước tính hai giá trị FRR và FAR theo biểu thức: FRR = Số lần loại bỏ sai Số lần người nói quan tâm tiến hành xác minh FAR = Số lần chấp nhận sai Số lần người giả danh tiến hành xác minh Tỉ lệ loại bỏ sai (false reject rate) còn được gọi là tỉ lệ bỏ sót (miss rate) hay tỉ lệ lỗi loại 1 (Type-I error rate) và tỉ lệ chấp nhận sai (false accept rate) được gọi là tỉ lệ cảnh báo sai (false alarm rate) hay tỉ lệ lỗi loại 2 (Type-II error rate). Như vậy với một ngưỡng giả định, ta có cặp FFR và FAR tạo thành một điểm trên đường cong DET (DET curve). Nếu chúng ta thay đổi ngưỡng trong một dải các giá trị, chúng ta sẽ tạo ra đường cong DET với trục x biểu diễn FAR, trục y biểu diễn FFR. Mục đích của đường cong DET là biểu diễn hiệu năng (performance) của một hệ thống xác minh người qua giọng nói. 2.8.3 Điểm EER EER (Equal Error Rate) là một điểm trên đường cong DET mà tại điểm này tỉ lệ chấp nhận sai (FAR) bằng với tỉ lệ loại bỏ sai (FRR). Đối với đồ thị DET (DET- 30 plot), hiệu năng càng cao được chỉ ra bởi các đường cong DET càng gần góc trái bên dưới (cả FAR và FRR đều rất nhỏ). Chú ý rằng điều này không có nghĩa tất cả các hệ thống có EER 5% cho phép 5% người giả danh vào hệ thống. Tùy theo tính bảo mật, nó có thể được thiết lập một ngưỡng cao hơn, cho phép ít người giả danh vào hệ thống hơn và dĩ nhiên sẽ có một hiệu ứng phụ kèm theo là FRR cao hơn. Điều này giải thích tại sao đồ thị DET được gọi là Detection Error Trade-off plot mà không gọi là Detection Error Plot. 2.8.4 Chọn ngưỡng Ngưỡng thường được xem xét trong quá trình huấn luyện và có thể là điểm EER. Tuy nhiên, trong ứng dụng của chúng ta, bước định giá trị ngưỡng bị bỏ qua và thay vào đó điểm EER và đường cong DET được dùng để biểu diễn hiệu năng của hệ thống.

Các file đính kèm theo tài liệu này:

  • pdf11.pdf
  • pdf0.pdf
  • pdf1.pdf
  • pdf10.pdf
  • pdf12.pdf
  • pdf13.pdf
  • pdf14.pdf
  • pdf15.pdf
  • pdf16.pdf
  • pdf2.pdf
  • pdf3.pdf
  • pdf4.pdf
  • pdf5.pdf
  • pdf6.pdf
  • pdf7.pdf
  • pdf8.pdf
  • pdf9.pdf
Tài liệu liên quan