Tổng quan nghiên cứu

Nhu cầu điều khiển thiết bị không tiếp xúc thông qua giọng nói đang trở thành xu hướng công nghệ chủ đạo trong kỷ nguyên tự động hóa và Internet vạn vật (IoT). Trong bối cảnh các giải pháp nhận dạng ngôn ngữ quốc tế đã đạt tỷ lệ chính xác trên 95%, việc xử lý giọng nói tiếng Việt trên nền tảng phần cứng nhúng vẫn đối mặt với nhiều rào cản do tính chất ngữ âm đa thanh điệu và tài nguyên xử lý giới hạn. Luận văn thạc sĩ chuyên ngành Kỹ thuật Điện tử với đề tài "Thiết kế hệ thống nhúng nhận dạng giọng nói dùng Neural Network" của tác giả Nguyễn Thanh Tuấn, được thực hiện tại Trường Đại học Bách Khoa - Đại học Quốc gia TP.HCM dưới sự hướng dẫn khoa học của TS. Hoàng Trang (giai đoạn từ tháng 01/2013 đến tháng 11/2013), đã giải quyết hiệu quả thách thức kỹ thuật này. Mục tiêu trọng tâm của nghiên cứu là xây dựng hoàn chỉnh giải thuật và hiện thực hóa hệ thống nhận dạng 16 từ đơn tiếng Việt, bao gồm 10 chữ số từ "Không" đến "Chín" cùng 6 lệnh điều khiển chức năng ("Mở", "Đóng", "Tới", "Lui", "Bật", "Tắt"). Toàn bộ quy trình từ thu âm tần số 8 KHz, tiền xử lý cắt khoảng lặng, trích xuất đặc trưng đến phân loại bằng mạng thần kinh nhân tạo truyền thẳng (Feedforward Neural Network) với thuật toán lan truyền ngược (Backpropagation) đã được tích hợp thành công trên kit phát triển BeagleBoard-xM trang bị vi xử lý ARM Cortex-A8 tốc độ 1 GHz cùng 512 MB RAM. Kết quả thực nghiệm ghi nhận hệ thống đạt độ chính xác ấn tượng xấp xỉ 99% trong điều kiện độ ồn thấp, mở ra giải pháp phần cứng nhỏ gọn, tối ưu chi phí cho các ứng dụng nhà thông minh và robot điều khiển tại Việt Nam.

Cơ sở lý thuyết và phương pháp nghiên cứu

Khung lý thuyết áp dụng

Nghiên cứu vận dụng toàn diện ba trụ cột lý thuyết chuyên sâu trong lĩnh vực kỹ thuật điện tử và trí tuệ nhân tạo:

Thứ nhất, lý thuyết âm học tiếng nói và phân đoạn trạng thái tín hiệu. Tín hiệu giọng nói con người được mô hình hóa qua ba trạng thái vật lý: trạng thái yên lặng (nhiễu nền), trạng thái âm vô thanh (chiếm khoảng 20% thời lượng đầu âm, mang đặc tính ngẫu nhiên, không tuần hoàn của phụ âm) và trạng thái âm hữu thanh (chiếm khoảng 80% thời lượng còn lại với dạng sóng tuần hoàn rõ nét).

Thứ hai, kỹ thuật trích xuất tham số âm thanh thông qua hệ số phổ tần số Mel (Mel-scale Frequency Cepstral Coefficients - MFCC). Dựa trên đặc tính sinh học của thính giác người vốn phân biệt tuyến tính ở dải tần số thấp dưới 1000 Hz và biến thiên phi tuyến theo thang logarit ở tần số cao, thuật toán ứng dụng ngân hàng 27 bộ lọc tam giác Mel phân bố đều trên dải tần tiếng nói từ 300 Hz đến 3.5 KHz. Kết quả phân tích tạo ra 12 hệ số Mel-Cepstral kết hợp cùng tham số năng lượng Logged Energy và hệ số vi phân thời gian bậc một Delta để xây dựng vector đặc trưng âm học hoàn chỉnh.

Thứ ba, mô hình mạng thần kinh nhân tạo nhiều lớp (Multilayer Perceptron - MLP) áp dụng giải thuật học lan truyền ngược Backpropagation. Cấu trúc mạng gồm lớp ngõ vào tiếp nhận vector đặc trưng MFCC, lớp ẩn thực hiện phân ly không gian tín hiệu và lớp ngõ ra tương ứng với 16 từ vựng mục tiêu. Mạng sử dụng các hàm kích hoạt phi tuyến như Log-Sigmoid (giá trị đầu ra từ 0 đến 1) hoặc Tan-Sigmoid (giá trị đầu ra từ âm 1 đến 1), kết hợp phương pháp hạ gradient với hằng số học thích nghi trong dải từ 0.001 đến 0.1 nhằm tối ưu hóa tốc độ hội tụ và triệt tiêu lỗi quá điều chỉnh.

Phương pháp nghiên cứu

Quy trình nghiên cứu thực nghiệm được triển khai tuần tự trong 11 tháng tại phòng thí nghiệm chuyên ngành Điện tử:

Nguồn dữ liệu mẫu được thu nhận trực tiếp qua micro và sound card tiêu chuẩn với tần số lấy mẫu định mức 8 KHz, độ phân giải 16 bit, định dạng Raw với khoảng thời gian lấy mẫu chuẩn hóa 2 giây cho mỗi lần phát âm. Tập mẫu huấn luyện gồm 1440 lượt phát âm của 16 từ khẩu lệnh trong điều kiện môi trường kiểm soát tiếng ồn. Phương pháp lấy mẫu có chủ đích theo từng đơn vị âm vị tiếng Việt được lựa chọn nhằm bảo đảm tính đại diện của dữ liệu, tối ưu hóa việc phân tách các phụ âm đầu và nguyên âm có dấu thanh phức tạp.

Khâu tiền xử lý tín hiệu áp dụng phương pháp chia khung thời gian ngắn với chiều dài mỗi khung là 160 mẫu (tương đương 20 ms), độ chồng lấp Overlap linh hoạt từ 50% đến 70% (tương ứng từ 80 đến 112 mẫu). Thuật toán tự động cắt khoảng lặng kết hợp đồng thời hai điều kiện biên: ngưỡng năng lượng thời gian ngắn k1 bằng 100000 và ngưỡng tỷ lệ biên độ dao động qua điểm Zero k2 bằng 16, đi kèm điều kiện lọc chiều dài từ tối thiểu đạt 800 mẫu (khoảng 100 ms).

Lý do lựa chọn phương pháp MFCC kết hợp mạng Neural truyền thẳng thay vì mô hình Markov ẩn (HMM) là do mạng nơ-ron sở hữu cấu trúc toán học gọn nhẹ, đòi hỏi dung lượng bộ nhớ tĩnh thấp, dễ dàng tối ưu hóa để biên dịch chéo qua bộ công cụ Qt-Everywhere và nạp trực tiếp vào hệ điều hành Angstrom Linux trên vi xử lý ARM.

Kết quả nghiên cứu và thảo luận

Những phát hiện chính

Nghiên cứu đã chứng minh tính khả thi và hiệu năng vượt bậc của giải thuật nhận dạng giọng nói tiếng Việt trên nền tảng phần cứng thông qua các kết quả định lượng cụ thể:

Thứ nhất, hệ thống đạt độ chính xác nhận dạng trung bình xấp xỉ 99% cho toàn bộ 16 từ đơn tiếng Việt, vượt xa chỉ tiêu đặt ra ban đầu là 95%. Tỷ lệ nhận diện đúng đạt mức gần như tuyệt đối ở các cặp từ mang ngữ âm dễ nhầm lẫn như "Bật" - "Tắt", "Mở" - "Đóng", "Tới" - "Lui" cũng như chuỗi số từ "Không" đến "Chín".

Thứ hai, việc tinh chỉnh kích thước khung và tỷ lệ chồng lấp đã cải thiện rõ rệt chất lượng phân loại của mạng nơ-ron. Khi tiến hành khảo sát thực nghiệm giữa cấu hình khung 240 mẫu và 160 mẫu, kết quả cho thấy cấu hình 160 mẫu kết hợp tỷ lệ chồng lấp 60% trên tập huấn luyện 1440 từ mang lại xác suất hội tụ cao nhất, giúp độ chính xác nhận dạng tăng từ mức 93.65% lên xấp xỉ 99%.

Thứ ba, sự đồng nhất về mặt hiệu năng giữa môi trường mô phỏng và phần cứng thực tế. Tỷ lệ nhận dạng chính xác trên máy tính cá nhân chạy hệ điều hành Ubuntu 10.04 đạt 99% và khi nhúng trực tiếp xuống kit BeagleBoard-xM chạy hệ điều hành Angstrom vẫn bảo toàn mức xấp xỉ 99%, với thời gian trễ phản hồi tức thời dưới 300 ms.

Thảo luận kết quả

Thành công về độ chính xác của hệ thống bắt nguồn từ cơ chế tiền xử lý lọc lặng kép kết hợp với kỹ thuật trích xuất đặc trưng MFCC 27 bộ lọc tam giác. Bằng cách loại bỏ hơn 60% dữ liệu rỗng trong đoạn thu âm 2 giây ban đầu dựa trên ngưỡng năng lượng ngắn hạn và tỷ lệ qua điểm Zero, hệ thống chỉ giữ lại từ 800 đến 3000 mẫu âm thanh mang thông tin thực sự, giúp giảm đáng kể kích thước không gian vector đầu vào.

So sánh với các nghiên cứu công bố cùng giai đoạn, mô hình này vượt trội về nhiều mặt: nghiên cứu vi mạch FPGA năm 2012 của Đại học Bách Khoa TP.HCM chỉ nhận dạng chữ số và từ đơn với xác suất trên 80%; mô hình HMM ứng dụng cho xe điều khiển từ xa tuy đạt độ chính xác 99% nhưng chỉ xử lý được 4 từ lệnh với tốc độ chậm; trong khi mô hình dùng vi điều khiển LM3S296 họ ARM đạt độ chính xác gần 90% trên Matlab nhưng suy giảm nghiêm trọng khi nạp vào kit do quá tải phần cứng.

Các phát hiện thực nghiệm trong luận văn có thể được trực quan hóa sinh động qua biểu đồ ma trận nhầm lẫn (Confusion Matrix) và bảng so sánh các tham số trích xuất đặc trưng. Dạng sóng âm thanh trước và sau khi xử lý cắt lặng minh chứng rõ nét cho khả năng xác định chính xác điểm đầu và điểm cuối của từ phát âm, khẳng định tính đúng đắn của giải thuật toán học đã xây dựng.

Đề xuất và khuyến nghị

Nhằm hoàn thiện và thúc đẩy khả năng thương mại hóa hệ thống nhận dạng giọng nói tiếng Việt trên nền tảng nhúng, nghiên cứu đề xuất 4 nhóm giải pháp trọng tâm:

Thứ nhất, mở rộng tập từ vựng nhận dạng từ 16 từ đơn lên phạm vi 50 đến 100 từ vựng và các cụm từ ghép khẩu lệnh liên tục. Nhóm kỹ sư phát triển phần mềm nhúng cần đảm nhận nhiệm vụ này với mục tiêu duy trì tỷ lệ nhận dạng tối thiểu 96% trong lộ trình thực hiện 6 tháng.

Thứ hai, tích hợp thuật toán lọc nhiễu thích nghi Wiener hoặc phương pháp trừ phổ Spectral Subtraction vào khối tiền xử lý. Đội ngũ chuyên gia xử lý tín hiệu cần hoàn thành tích hợp trong vòng 3 tháng nhằm bảo đảm hệ thống vận hành chính xác trong môi trường có tỷ số tín hiệu trên nhiễu (SNR) dưới 15 dB.

Thứ ba, nâng cấp mô hình nhận dạng từ phụ thuộc người nói sang độc lập người nói (Speaker-Independent). Nhóm nghiên cứu trí tuệ nhân tạo cần tiến hành thu thập bổ sung 5000 mẫu giọng nói đa dạng từ các vùng miền (Bắc, Trung, Nam) trong thời hạn 9 tháng, tái cấu trúc tập trọng số mạng nơ-ron để tăng cường tính tổng quát hóa.

Thứ tư, tối ưu hóa mã nguồn xử lý tín hiệu bằng tập lệnh tăng tốc NEON trên kiến trúc vi xử lý ARM Cortex-A8. Đội ngũ kỹ sư hệ thống cần thực thi việc tối ưu hóa trong vòng 4 tháng, hướng tới mục tiêu giảm 30% mức chiếm dụng bộ nhớ RAM (xuống dưới mức 350 MB) và rút ngắn thời gian đáp ứng lệnh nhận dạng xuống dưới 150 ms.

Đối tượng nên tham khảo luận văn

Tài liệu luận văn thạc sĩ này mang giá trị học thuật và ứng dụng kỹ thuật thực chứng cao, đặc biệt hữu ích cho 4 nhóm đối tượng:

Thứ nhất, kỹ sư thiết kế hệ thống nhúng và thiết bị IoT. Nhóm đối tượng này có thể tiếp cận trọn vẹn quy trình xây dựng hệ điều hành nhúng Angstrom Linux, cấu hình driver âm thanh qua thư viện Alsa và kỹ thuật biên dịch chéo mã nguồn Qt-Everywhere trên vi xử lý ARM Cortex-A8 tốc độ 1 GHz.

Thứ hai, nhà nghiên cứu và học viên cao học chuyên ngành Xử lý tín hiệu âm thanh và Trí tuệ nhân tạo. Công trình cung cấp hệ thống cơ sở toán học chi tiết về MFCC 27 bộ lọc tam giác Mel và giải thuật huấn luyện mạng nơ-ron lan truyền ngược thích nghi, đóng vai trò là khung tham chiếu chuẩn cho các đề tài xử lý ngôn ngữ tiếng Việt.

Thứ ba, doanh nghiệp phát triển thiết bị nhà thông minh (Smart Home) và tự động hóa công nghiệp. Nghiên cứu mang đến giải pháp phần cứng tối ưu chi phí, đạt độ chính xác 99% cho 16 lệnh điều khiển chức năng cơ bản như đóng/mở cửa, bật/tắt điện và điều hướng cơ cấu chấp hành.

Thứ tư, sinh viên đại học các ngành Kỹ thuật Điện tử, Viễn thông và Khoa học Máy tính. Luận văn là tài liệu hướng dẫn mẫu mực về phương pháp nghiên cứu khoa học, từ mô phỏng thuật toán trên máy tính cá nhân đến hiện thực hóa thành công trên phần cứng chuyên dụng.

Câu hỏi thường gặp

Hệ thống nhận dạng được những từ vựng tiếng Việt nào? Hệ thống được thiết kế để nhận dạng chính xác 16 từ đơn tiếng Việt bao gồm 10 chữ số từ "Không" đến "Chín" và 6 khẩu lệnh điều khiển gồm "Mở", "Đóng", "Tới", "Lui", "Bật", "Tắt". Toàn bộ tập từ vựng này được thu âm và chuẩn hóa ở tần số 8 KHz, độ phân giải 16 bit, phục vụ tối ưu cho các tác vụ điều khiển tự động hóa.

Độ chính xác nhận dạng trên kit BeagleBoard-xM đạt bao nhiêu phần trăm? Kết quả kiểm nghiệm thực tế cho thấy hệ thống đạt độ chính xác xấp xỉ 99% trên cả máy tính cá nhân chạy Ubuntu 10.04 lẫn kit phần cứng BeagleBoard-xM chạy hệ điều hành Angstrom. Hiệu suất này vượt xa chỉ tiêu 95% ban đầu nhờ sự phối hợp tối ưu giữa giải thuật cắt khoảng lặng kép và trích xuất đặc trưng MFCC 27 bộ lọc.

Vì sao nghiên cứu lựa chọn mạng Neural thay vì mô hình Markov ẩn (HMM)? Mạng Neural truyền thẳng nhiều lớp với thuật toán Backpropagation sở hữu cấu trúc tính toán ma trận trực tiếp, tiêu tốn ít bộ nhớ RAM tĩnh hơn so với HMM. Điều này giúp chương trình dễ dàng biên dịch chéo qua Qt-Everywhere và vận hành ổn định trên bộ vi xử lý ARM Cortex-A8 tốc độ 1 GHz có bộ nhớ 512 MB SDRAM.

Phương pháp tiền xử lý nào được sử dụng để loại bỏ khoảng lặng âm thanh? Nghiên cứu kết hợp đồng thời phương pháp xác định ngưỡng năng lượng thời gian ngắn k1 bằng 100000 và ngưỡng tỷ lệ biên độ qua điểm Zero k2 bằng 16 trên từng khung 160 mẫu (20 ms). Giải thuật này loại bỏ hơn 60% dữ liệu nhiễu nền, chỉ giữ lại đoạn âm thanh hữu ích từ 800 đến 3000 mẫu để nhận dạng.

Hệ thống có thể mở rộng để nhận diện nhiều giọng nói khác nhau không? Trong phạm vi luận văn, hệ thống hoạt động ở chế độ phụ thuộc người nói với độ chính xác 99% trong môi trường yên tĩnh. Để phát triển thành hệ thống độc lập người nói, cần mở rộng tập dữ liệu huấn luyện lên khoảng 5000 mẫu đại diện cho nhiều vùng miền và tiến hành tái huấn luyện bộ trọng số mạng thần kinh.

Kết luận

  • Luận văn hoàn thiện trọn vẹn quy trình thiết kế và hiện thực hóa hệ thống nhúng nhận dạng giọng nói 16 từ đơn tiếng Việt với độ chính xác vượt trội xấp xỉ 99%.
  • Ứng dụng thành công giải thuật cắt khoảng lặng kép (ngưỡng năng lượng ngắn hạn và tỷ lệ qua điểm Zero) cùng phương pháp trích xuất đặc trưng MFCC 27 bộ lọc tam giác kết hợp mạng Neural Backpropagation.
  • Nhúng hoàn chỉnh toàn bộ giải thuật lên kit phát triển BeagleBoard-xM vi xử lý ARM Cortex-A8 tốc độ 1 GHz chạy hệ điều hành Angstrom Linux với độ trễ phản hồi thời gian thực dưới 300 ms.
  • Khắc phục triệt để các hạn chế về tài nguyên bộ nhớ 512 MB SDRAM và tốc độ xử lý so với các mô hình FPGA và ARM thế hệ cũ trước đây.
  • Đóng góp nguồn tư liệu tham khảo phương pháp luận chuẩn xác từ khâu mô phỏng thuật toán trên máy tính đến triển khai phần cứng nhúng thực tế trong lĩnh vực xử lý tiếng nói tiếng Việt.

Kế hoạch phát triển tiếp theo trong 6 đến 12 tháng tới sẽ tập trung mở rộng bộ từ vựng lên 100 từ, thu thập dữ liệu đa vùng miền nhằm phát triển hệ thống độc lập người nói và tích hợp module khử nhiễu môi trường công nghiệp. Các kỹ sư và nhà nghiên cứu có thể ứng dụng trực tiếp kiến trúc phần cứng và giải thuật trong luận văn để phát triển các thiết bị điều khiển bằng giọng nói thông minh thương mại tại Việt Nam.