Neural Networks in Voice Assistants
Mạng nơ-ron trong trợ lý giọng nói
Công ty nào đang ứng dụng Mạng nơ-ron?
“Hey Siri” — “OK Google”
Giọng của bạn → văn bản → hành động. Mạng nơ-ron ở mọi chặng.
Bạn nói vài từ — chỉ trong vài trăm mili-giây, điện thoại đã hiểu và phản hồi. Đằng sau sự nhanh nhạy đó là hàng loạt mạng nơ-ron sâu nối tiếp nhau, mỗi mạng làm một việc: nghe âm, hiểu nghĩa, tạo giọng trả lời.
Trước 2012
Tỉ lệ lỗi từ trên 23% — cứ bốn từ sai một. Dùng mô hình thống kê HMM/GMM.
Sau 2015
Chuyển sang mạng nơ-ron sâu: tỉ lệ lỗi giảm xuống 4,9% — gần ngang khả năng của con người.
Hôm nay
Hơn 4,2 tỷ thiết bị có trợ lý giọng nói. Đã trở thành công cụ hàng ngày.
Vấn đề công ty cần giải quyết
Biến giọng nói của một người bất kỳ thành văn bản chính xác trong thời gian thực là một bài toán cực khó:
Giọng không ai giống ai
Bắc, Trung, Nam, nam, nữ, già, trẻ — cùng một từ có thể phát âm theo hàng chục cách.
Tiếng ồn ở khắp nơi
Xe máy, TV, tiếng trẻ con — hệ thống phải “gạn đục” lấy đúng giọng nói.
Tốc độ khác nhau
Có người nói chậm, có người nói rất nhanh. Hệ thống phải theo kịp mọi nhịp.
Độ trễ dưới 1 giây
Quá chậm là người dùng bỏ cuộc. Cần cân giữa chính xác và tốc độ.
Cách Mạng nơ-ron giải quyết vấn đề
Thu âm và chuyển thành phổ tần số.
Micro lấy mẫu 16.000 lần/giây. Thuật toán chia thành khung 10ms, tính phổ tần số — ra một “ảnh nhiệt” nhỏ cho mỗi khung.
Kết quả: một ma trận phổ — đầu vào cho mạng nơ-ron.Mạng nơ-ron sâu phân loại âm vị.
Ma trận phổ đi qua một mạng nhiều lớp. Google dùng LSTM (bộ nhớ dài-ngắn hạn) để giữ ngữ cảnh. Apple dùng DNN tối ưu cho chip Neural Engine trên iPhone. Đầu ra: xác suất cho từng âm vị (đơn vị âm nhỏ nhất).
Trái tim: đây là nơi mạng nơ-ron đóng vai trò quan trọng nhất. Trước khi có nó, tỉ lệ lỗi cao. Có nó, tỉ lệ lỗi giảm mạnh.Giải mã chuỗi âm vị thành chuỗi từ.
Mạng ra xác suất cho từng âm vị, nhưng âm vị chưa phải từ. Bộ giải mã dùng thuật toán beam search — giữ nhiều giả thuyết tốt nhất — kết hợp mô hình ngôn ngữ (cũng là một mạng nơ-ron) để chọn chuỗi từ hợp lý nhất.
Ví dụ: “đặt hẹn giờ” thắng “đạt hẹn giò” vì mô hình ngôn ngữ đã đọc hàng tỷ câu tiếng Việt.Hiểu ý định và thực thi.
Văn bản đi qua một mạng NLU (hiểu ngôn ngữ tự nhiên) để tìm ý định (“đặt_hẹn_giờ”) và các tham số (“10 phút”). Phần mềm thường nhận cấu trúc đó, gọi API, rồi trả lời bằng giọng — tất cả trong dưới nửa giây.
Thử tự tay
Bấm qua từng chặng để thấy giọng của bạn biến đổi thế nào trước khi trở thành hành động.
Bạn nói “Hey Siri, đặt hẹn giờ 10 phút” — giọng của bạn đi qua sáu chặng. Bấm từng chặng để xem nó làm gì.
Sóng âm
Micro thu sóng áp suất, lấy mẫu 16.000 lần/giây.
Giọng nói là các dao động không khí. Micro chuyển chúng thành một dãy số — mỗi số đo áp suất tại một khoảnh khắc. Trong một giây có 16.000 số.
Một giây giọng nói — 16.000 con số đo áp suất không khí
Theo một câu thật đi qua hệ thống
Giả lập toàn bộ hành trình của câu “Đặt hẹn giờ 10 phút” — bấm Tiếp tục để mở từng bước và xem từng lớp của pipeline biến đổi dữ liệu như thế nào.
Bạn nói, micro ghi
Bạn nói “Đặt hẹn giờ 10 phút”. Micro trên điện thoại thu dao động không khí, chuyển thành 32.000 con số (khoảng 2 giây × 16.000 mẫu/giây). Mỗi con số là áp suất không khí tại một khoảnh khắc.
Thử thách kiểm tra hiểu biết
Siri nhận ra từ 'Hey Siri' ngay cả khi điện thoại nằm xa, tiếng ồn xung quanh nhiều. Điều gì quan trọng nhất giúp làm được chuyện đó?
Vì sao hệ thống hiện đại dùng NHIỀU mạng nơ-ron chuyên biệt thay vì một mạng duy nhất?
Con số thật
- Tỉ lệ lỗi từ của Google giảm từ 23% (2013) xuống 4,9% (2017) nhờ chuyển sang mạng nơ-ron sâu — gần ngang khả năng nghe của con người [5]
- Mô hình end-to-end mới của Google đạt 5,6% WER trên giọng điện thoại, cải thiện 16% so với hệ thống truyền thống [4]
- Siri dùng mạng nơ-ron sâu chạy trực tiếp trên chip Neural Engine, phát hiện 'Hey Siri' với độ trễ dưới 200 mili-giây [1]
- Google Voice Transcription chuyển sang LSTM-RNN giảm đáng kể lỗi nhận dạng trên cuộc gọi điện thoại [3]
- Giọng trả lời của Siri từ 2017 dùng mô hình Deep Mixture Density — sinh giọng mượt tự nhiên như người thật [2]
Nếu không có Mạng nơ-ron, app sẽ ra sao?
Nếu không có mạng nơ-ron sâu, trợ lý giọng nói sẽ vẫn dùng mô hình thống kê cũ với tỉ lệ lỗi hơn 20% — cứ 5 từ lại sai 1 từ. Trải nghiệm đó quá tệ để dùng hàng ngày.
Thế giới không có mạng nơ-ron
- Siri, Google Assistant gần như không tồn tại
- Gõ vẫn nhanh hơn nói
- Loa thông minh trở thành đồ chơi bất tiện
- Người khiếm thị khó dùng điện thoại hơn nhiều
Thế giới có mạng nơ-ron (bây giờ)
- Hơn 4,2 tỷ thiết bị có trợ lý giọng nói
- Nói tự nhiên, máy hiểu ngay
- Xe hơi tự lái hiểu lệnh bằng giọng
- Hỗ trợ người khiếm thị, người khuyết tật vận động
- Trợ lý giọng nói không phải một mạng lớn — mà là nhiều mạng nối tiếp: nhận âm vị, ghép từ, hiểu ý định, tạo giọng trả lời.
- Chuyển từ mô hình thống kê (HMM/GMM) sang mạng nơ-ron sâu đã giảm tỉ lệ lỗi từ trên 23% xuống dưới 5%.
- Chạy mạng nơ-ron trực tiếp trên chip điện thoại (Neural Engine của Apple) giữ độ trễ thấp và bảo vệ riêng tư — âm thanh không cần rời máy.
Kiểm tra hiểu biết
Khi bạn nói “Hey Siri, đặt hẹn giờ 10 phút”, điện thoại dùng mấy mạng nơ-ron để hoàn thành yêu cầu?