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
24 trang |
Chia sẻ: maiphuongtl | Lượt xem: 2297 | Lượt tải: 1
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.