2S-Norm: Một phương pháp chuẩn hóa mới hỗ trợ quyết định trong nhận dạng người nói sử dụng mô hình GMM

136

Bài báo trình bày một phương pháp chuẩn hóa mới hỗ trợ và nâng cao độ chính xác trong nhận dạng người nói sử dụng mô hình Gaussian Mixture Model (GMM). Hai ưu điểm chính của phương pháp này là: (1) giá trị ngưỡng để ra quyết định được chuẩn hóa về dải số \(\left [ 0\% \div 100\% \right ]\) tương ứng với độ chính xác mong muốn của hệ thống; (2) chất lượng nhận dạng tốt hơn so với các phương pháp truyền thống. Các kết quả thử nghiệm cho thấy khi áp dụng phướng pháp này chúng ta chỉ cần một lượng dữ liệu nhỏ cho mỗi người phát âm để huấn luyện các mô hình và nhận dạng mà vẫn đảm bảo độ chính xác của hệ thống.

Giới thiệu

Xét tập \(\beta =\left \{ \beta _{i} \right \},i=1,…,N\), trong đó \(\beta_i\) là định danh của người thứ \(i\), và tập \(U\) chứa tất cả các đối tượng không nằm trong \(\beta\), ta có \(U ∩ \beta = ø\). Cho \(x_t\) là một tín hiêu tiếng nói tại thời điểm \(t\), thì một hệ thống nhận dạng người nói sử dụng mô hình thống kê được định nghĩa như sau:

\(s=argmax(P(\beta ,U|x_{t}))\)    (1)

Nếu \(s=\beta _{i}\) ta nói hệ thống đã nhận dạng được đối tượng là \(\beta _{i}\), trái lại kết luận là không nhận dạng được đối tượng (unknown) tức \(s\in U\).

Một trong những khó khăn khi xây dựng các mô hình nhận dạng người nói đó là việc đảm bảo độ chính xác trên cả \(\beta\) và \(U\). Thực tế cho thấy chúng ta có thể dễ dàng thu thập lượng mẫu đủ lớn cho \(\beta\), nhưng lại rất khó khăn với \(U\). Vì số lượng phần tử của \(U\) là rất lớn. Các cách tiếp cận phổ biến trong việc xây dựng các mô hình nhận dạng người nói là áp dụng các mô hình thống kê như GMM, mạng nơron (NN). Ưu điểm của GMM là có thể được huấn luyện với một lượng mẫu vừa phải trong khi NN thường là yêu cầu lượng dữ liệu đủ lớn. Điểm khác biệt thứ 2 giữa NN và GMM đó là cách xác định \(s=argmax(P(\beta ,U|x_{t}))\in U\) hay \(\in \beta\). Với các tiếp cận sử dụng GMM thì \(s\) được xác định là thuộc \(\beta\) nếu độ lệch \(\delta\) thỏa mãn (2)

\(\delta=\left | P(\beta |x_{t})-P(U|x_{t}) \right |>threshold\)    (2)

            Trong đó: \(P(\beta |x_{t})\) và \(P(U|x_{t})\) là GMM distribution function của \(x_{t}\)

Trong khi đó với các tiếp cận sử dụng NN thì \(U\) được mô hình hóa như một lớp đầu ra của mạng tương tự như các lớp đầu ra khác là thành phần trong \(\beta\). Khi đó \(s\) được xác định như công thức (3).

\(s=\begin{bmatrix}
U\:if\:\max(P(\beta ,U|x_{t})) = P(U|x_{t})\\
\beta_{i}\:if\:\max(P(\beta ,U|x_{t})) = P(\beta_{i}|x_{t})
\end{bmatrix}\)    (3)

Trong đó \(P(\beta|x_{t})\) và \(P(U|x_{t})\) là output function ở lớp output của NN.

Trong thực tế nếu ta có đủ dữ liệu, và lượng dữ liệu là cân bằng cho cả \(U\) và \(\beta\) thì NN thường cho kết quả làm việc tốt hơn. Tuy nhiên điều này thường là khó thực hiện trong thực tế được vì thường chúng ta chỉ có thể xây dựng bộ dữ liệu cân bằng cho các \(\beta_{i}\in \beta\), rất khó có thể đảm bảo sự cân bằng giữa \(U\) và \(\beta\) do số lượng giọng hay đối tượng trong \(U\) là rất lớn. Trong trường hợp cần nhận dạng chính xác cho cả \(U\) và \(\beta\) thì phương pháp sử dụng mô hình GMM thường được sử dụng hơn, do mô hình GMMU có thể được huấn luyện và sử dụng như một mô hình nền đại diện cho tất cả các đối tượng trong \(U\) chỉ với lượng dữ liệu hạn chế. Tuy nhiên điều khó khăn khi sử dụng mô hình GMM đó là việc ra quyết định. Công thức (2) quá đơn giản để có thể đưa ra kết quả nhận dạng chính xác. Do các giá trị \(P(\beta|x_{t})\) và \(P(U|x_{t})\) trong công thức (2) là các giá trị likelihood \((\delta \in R)\). Rất khó để có thể xác định chính xác miền giá trị của \(\delta\), hay nói cách khác là \(\delta\) không được chuẩn hóa. Vì vậy rất khó để có thể đưa ra một giá trị \(threshold\) phù hợp. Chính vì thế nhiều phương pháp chuẩn hóa \(\delta\) đã được đưa ra nhằm giúp người phát triển có thể ước lượng được giá trị \(threshold\) đủ tốt. 2 phương pháp phổ biến đó là T-Norm và Z-Norm. Tuy nhiên cả hai phương pháp này chỉ tập trung vào việc chuẩn hóa giá trị \(\delta\) để đảm bảo phương sai của \(\delta\) không thay đổi cho cả hai quá trình huấn luyện và nhận dạng. Nếu điều này được thực hiện thì \(threshold\) có thể được xác định nhờ quan sát giá trị của \(\delta\) trên tập huấn luyện hoặc tập kiểm tra. Tuy nhiên người phát triển vẫn cần phải quan sát miền giá trị của \(\delta\), và với mỗi một bộ dữ liệu thì giá trị của \(threshold\) có thể là khác nhau.

Trong  bài báo này một phương pháp mới để xác định giá trị ra quyết định \(\delta\) được trình bày, tạm đặt tên là 2S-Norm. Sự khác biệt chính là \(\delta\) sẽ luôn được chuẩn hóa về miền giá trị [0-100], khi đó \(threshold\) là ngưỡng tương đương như độ chính xác mà bạn mong muốn ở hệ thống nhận dạng và giá trị của \(\delta\) và \(threshold\) sẽ độc lập với dữ liệu đầu vào. Nghĩa là chúng ta có thể sử dụng \(\delta\) và \(threshold\) cho mọi bộ dữ liệu. Đồng thời kết quả thử nghiệm cũng cho thấy phương pháp mới này cho kết quả nhận dạng chính xác hơn trên cả \(U\) và \(\beta\) so với phương pháp truyền thông T-Norm và Z-Norm.

Xêm thêm tại ĐÂY.

Nguyễn Văn Huy – Đại học Công nghệ Thái Nguyên

Tin liên quan:
  • 12
    Shares