Professional Documents
Culture Documents
Voice Recognization
Voice Recognization
Tháng 12 – 2021
LỜI MỞ ĐẦU
Thời đại 4.0 mở ra cho con người nhiều tiện ích trong cuộc sống qua các sản phẩm
khoa học công nghệ hiện đại. Với sự phát triển máy tính và mạng Internet, những
công nghệ tưởng chừng như chỉ có ở trong phim viễn tưởng đã ra đời và đóng góp
vào đời sống xã hội. Trí tuệ nhân tạo (AI) cũng bắt đầu xuất hiện nhiều hơn, không
ngừng được thêm vào các ứng dụng phục vụ cuộc sống.
Thay vì phải điều khiển hay nhập liệu qua những nút điều khiển hay bằng bàn phím
thông thường, con người luôn tìm cách để điều khiển máy móc và các ứng dụng
bằng giọng nói. Từ mong muốn đó, công nghệ nhận diện giọng nói đã ra đời. Tuy
không còn mới mẻ, song với sự xuất hiện của các tiến bộ về công nghệ, đặc biệt là
các tiến bộ về AI, Công nghệ nhận diện giọng nói đang đứng trước cơ hội phát triển
mạnh mẽ và vượt bậc, đưa các tiện ích cuộc sống đi tiếp lên một tầm cao mới.
Với niềm yêu thích công nghệ và sự hứng thú với nhận diện giọng nói, chúng tôi đã
chọn Công nghệ nhận diện giọng nói làm chủ đề trong tiểu luận này. Chúng tôi hi
vọng thông qua nó, đưa được cái nhìn tổng quan về Công nghệ nhận diện giọng nói
và Recurrent Neural Network – một trong những công nghệ mới và hiệu quả nhất
trong lĩnh vực Nhận diện giọng nói, cùng với sự phát triển của công nghệ này trong
tương lai. Chúng tôi cũng mong rằng qua quá trình thực hiện tiểu luận này, các
thành viên trong nhóm sẽ tiến bộ, phát triển tư duy của một kĩ sư phát triển công
nghệ sau này.
Cuối cùng, xin cảm ơn PGS.TS. Nguyễn Nam Hoàng đã hướng dẫn, chỉ bảo để
chúng tôi hoàn thiện tiểu luận này. Cảm ơn các thành viên trong nhóm đã làm việc
chăm chỉ, hết mình trong suốt thời gian qua. Trong quá trình làm việc, không tránh
khỏi việc có sai sót, rất mong được sự nhận xét, đóng góp của mọi người để chúng
tôi cải thiện trong các công việc tiếp theo.
Nhóm 1 | 2
MỤC LỤC
Nhóm 1 | 3
3.1.3 LSTM (Long-Short term memory) ................................................................... 20
3.1.4 GRU (Gated Recurrent unit) ............................................................................ 20
3.2 Định hướng phát triển. ............................................................................................. 21
3.2.1 Cá nhân hóa trải nghiệm người dùng. .............................................................. 21
3.2.2 Áp dụng rộng rãi cho nhiều lĩnh vực, đặc biệt là lĩnh vực y tế. ....................... 21
3.2.3 “Con người hóa”. .............................................................................................. 21
3.2.4 Độ chính xác tuyệt đối ...................................................................................... 22
3.3 Công nghệ mới tiềm năng – Spike Neural Networks. ............................................. 22
KẾT LUẬN ....................................................................................................................... 24
TÀI LIỆU THAM KHẢO ................................................................................................. 24
Nhóm 1 | 4
DANH MỤC HÌNH ẢNH
Hình 2.1. Các nút mạng trong Recurrent Neural Network [8] ...................................... 12
Hình 2.2. Cấu trúc Recurrent Neural Network. [9] ....................................................... 13
Hình 2.3. Sơ đồ khối miêu tả đơn giản thuật toán [7] ................................................... 15
Hình 2.4. Biểu đồ so sánh độ chính xác giữa các độ sâu của lớp ẩn [9] ....................... 17
Hình 3.1. Ví dụ về một đơn vị LSTM [16] ................................................................... 20
Hình 3.2. Một ví dụ về đơn vị GRU [17] ...................................................................... 20
Hình 3.3. Khảo sát độ chính xác của các trợ lý ảo năm 2019 [20] ............................... 22
Hình 3.4. Một ví dụ về SNN [21].................................................................................. 23
Bảng 2.1 Độ chính xác cụ thể của từng cụm từ thử nghiệm [9] ................................... 16
Bảng 2.2 Độ chính xác và thời gian phản hồi [9] ......................................................... 17
Bảng 2.3 So sánh độ chính xác của các mô hình nhận diện giọng nói [13] ................. 18
Nhóm 1 | 5
TÓM TẮT
Công nghệ nhận diện giọng nói đã có từ hàng thập kỉ trước, trải qua nhiều thăng
trầm, con người đã tạo ra được nhiều ứng dụng từ nó và phía trước vẫn còn những
tiềm năng tiếp tục cần được khai phá. Hiện tại, nhận diện giọng nói đang có những
bước phát triển vượt bậc nhờ sự ra đời của trí tuệ nhân tạo (AI).
Neural Network, một một phân loại của AI mô tả hệ thống thần kinh con người
đang được coi như công nghệ phù hợp nhất. Trong số các mô hình Neural Network
khác nhau đang được phát triển, Recurrent Neural Network (RNN) được xem là
hiện đại và hiệu quả hơn hẳn, những đặc điểm của nó đem lại những ưu điểm để có
thể áp dụng vào nhận diện giọng nói và được chứng minh trong tiểu luận này thông
qua các số liệu nghiên cứu.
Cuối cùng, tiểu luận này sẽ trình bày những hướng đi giải quyết hạn chế của RNN
đã và đang được nghiên cứu và triển khai, cùng với đó là những hướng đi mới đang
được hoàn thiện để đưa gần hơn công nghệ nhận diện giọng nói vào thực tế cuộc
sống.
MỤC ĐÍCH
- Có cái nhìn tổng quan về công nghệ nhận diện giọng nói, ứng dụng và nhu cầu
phát triển của công nghệ nhận diện giọng nói.
- Biết thêm về lịch sử và quá trình phát triển của nhận diện giọng nói.
- Tìm hiểu cơ sở lý thuyết về Neural Network.
- Tìm hiểu về cách sử dụng Recurrent Neural Network cho công nghệ nhận diện
giọng nói, trả lời câu hỏi tại sao nó lại là công nghệ tiến tiến trong nhận diện
giọng nói, ưu nhược điểm và hướng giải quyết.
- Tìm hiểu về định hướng phát triển tương lai của Công nghệ nhận diện giọng nói
- Cải thiện khả năng làm việc nhóm, kĩ năng soạn thảo văn bản khoa học và khả
năng thuyết trình
Nhóm 1 | 6
Phần 1: TỔNG QUAN VỀ CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI
1.1 Công nghệ nhận diện giọng nói là gì?
Nhận dạng giọng nói đề cập đến khả năng nhận và giải thích các lệnh bằng giọng
nói của một thiết bị cụ thể. Nói một cách đơn giản, công nghệ nhận dạng giọng nói
có thể tương tác và phản hồi các lệnh của con người. [1]
1.2 Lịch sử phát triển của công nghệ nhận diện giọng nói
Trước đây, việc điều khiển một cỗ máy bằng cách nói chuyện với chúng chỉ là
những câu chuyện trong khoa học viễn tưởng. Nhưng viễn tưởng này đang dần trở
thành hiện thực với sự phát triển vượt bậc về công nghệ, đặc biệt là sự phát triển của
Trí tuệ nhân tạo(AI) và những nền tảng khác để tạo ra một giao diện người dùng
cho phép sử dụng giọng nói để điều khiển các thiết bị công nghệ.
Lịch sử của nhận diện giọng nói bắt đầu vào năm 1877 khi Thomas Edison phát
minh ra máy ghi âm, thiết bị đầu tiên ghi và tái tạo âm thanh.
Mãi cho tới năm 1952 công nghệ nhận diện giọng nói mới có sự phát triển rõ ràng
khi các kỹ sư tại Bell Labs đã phát triển một bộ phận nhận dạng chữ số tự động có
tên Audrey. Audrey cao 6 feet, có nhiều đặc điểm tương tự với tụ điện bao gồm bộ
khuếch đại và bộ lọc. Audrey chỉ có thể nhận ra 10 chữ số được nói bởi một giọng
nói duy nhất. Mặc dù thiết bị có thể nhận ra đầu vào giọng nói với độ chính xác lên
đến 97-99% nhưng do kích thước lớn, chi phí cao và thiết bị điện tử phức tạp nên nó
đã không thể trở thành một sản phẩm thương mại hóa. Tuy nhiên, thiết bị Audrey
này cũng đã đánh dấu sự khởi đầu của công nghệ nhận dạng giọng nói và tiếp tục
cho những nghiên cứu sau đó. Hệ thống Audrey còn được xem là thiết bị nhận dạng
giọng nói đầu tiên.
Năm 1962, máy Shoebox được IBM phát triển, có thể nhận ra 16 từ tiếng anh, 10
chữ số và 6 lệnh số học.
Từ những năm 1971-1976, Bộ Quốc phòng Mỹ đã tài trợ cho chương trình
DARPA SUR (Nghiên cứu hiểu về lời nói), dẫn đến sự phát triển của Harpy tạo ra
bởi Carnegie Mellon có thể hiểu được 1011 từ. [1]
Vào năm 1984, Công nghệ nhận dạng giọng nói thế hệ đầu tiên được
SpeechWorks và Nuance giới thiệu thông qua các hệ thống tổng đài trả lời tự động
(IVR). Những IVR này có thể nhận ra giọng nói của con người qua cuộc gọi và thực
hiện các nhiệm vụ được giao cho chúng. Bất cứ ai có điện thoại đều có thể nhận
được tất cả các thông tin như tìm thời gian chiếu phim địa phương, nghe thông tin
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 11
bị loại bỏ và các giá trị trung bình được tính toán lại. Điều này lặp đi lặp lại cho tới
khi tìm được một giá trị duy nhất gần với giá trị của dữ liệu nhập vào nhất. [3]
Tiểu luận này sẽ trình bày hướng đi sử dụng Recurrent Neutral Network, một dạng
nhỏ của Neural Network, kết nối các nút trong hệ thống bằng một dạng biểu đồ định
hướng theo thời gian. Điều này giúp nó có thể tạo ra một trạng thái nội bộ của hệ
thống mạng cho phép hiển thị sự đánh giá theo thời gian [6]
Recurrent Neutral Network được coi là biện pháp hiện đại và hiệu quả nhất của
công nghệ nhận diện giọng nói. [7]
2.2.1 Xây dựng hệ thống
Cách thực hiện cho Recurrent Neural Network có thể biểu diễn như sau:
Hình 2.1. Các nút mạng trong Recurrent Neural Network [8]
Có N nút đầu vào được ký hiệu x1, x2,..,xn, tóm gọn trong các trọng số w1,w2,..,wn.
Đầu tiên, các thông tin được gửi từ lớp dữ liệu đầu vào tới một lớp ẩn:
h1 = (x1 w1 ) + (x2 w4 ), h2 = (x1 w2) + (x2 w3)
Với h là lớp ẩn.
Sau đó thông tin tiếp tục được truyền tới lớp gián đoạn thời gian hoặc lớp dữ liệu
đầu ra:
c1 = h1; c2 = h2
y1 = (h1 w5) + (h2 w6).
Tiếp theo, các dữ liệu được ghi vào lớp gián đoạn thời gian, các tín hiệu sẽ được
chạy lại một lần nữa và chỉ các tín hiệu từ lớp gián đoạn thời gian được thêm vào:
h1 = (x1 . w1) + (x2 . w4)+(c . c1 – w1) + (c . c2 - w3)
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 12
h2 = (x1 . w2) + (x2 . w3)+(c . c1 – w2) + (c . c2 – w4)
Dữ liệu nhận được lại một lần nữa được gửi tới lớp gián đoạn thời gian và lớp dữ
liệu đầu ra.
c1 = h1; c2 = h2
y1 = (h1 w5) + (h2 w6).
Nút dữ liệu chứa trọng số được nhân với dữ liệu nhận được, tạo ra sự thay đổi trong
giá trị phản hồi. [7]
Các giá trị phản hồi này sau đó được chuyển tới chức năng kích hoạt, chuyển đổi
thành văn bản hoặc lệnh kích hoạt cho hệ thống.
Khi sử dụng làm lệnh kích hoạt hệ thống, có thể sử dụng hàm số ngưỡng (threshold
function,THF) hoặc sigmodal (bao gồm tiếp tuyến hyperbol và hàm logistic) [7]
THF được sử dụng khi nhận được một giá trị kết quả tổng quát và một số ngưỡng
nhất định và cần thiết phải so sánh chúng. Nếu kết quả tổng quát lớn hơn ngưỡng
chúng sẽ trả về 1, ngược lại trả về 0. [7]
Hàm tiếp tuyến hyperbol trả lại kết quả về trong khoảng (-1;1), với công thức: [8]
exp(out) − exp(−out) / exp(out) + exp(−out);
Hàm logistic trả kết quả về giá trị trong khoảng (0;1) với công thức: [8]
1 /(1 + exp(−out)).
Trong đó, exp là hàm số mũ cơ số tự nhiên.
Không giống như các mạng Neural Network khác, Recurrent Neural Network sử
dụng bộ nhớ ngắn hạn của nó để xử lý tùy ý trình tự dữ liệu đầu vào [7]. Recurrent
Neural Network bao hàm các vòng lặp trong nó. Miêu tả về một cấu trúc vòng lặp
có thể biểu diễn theo hình sau đây:
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 13
Một hệ thống Recurrent Neural Network có thể được hiểu như nhiều bản sao của
một mạng, các mạng truyền dữ liệu cho mạng tiếp sau. Recurrent Neural Network
có thể truy xuất ngược các giá trị cũ, có giá trị lớn trong nhận diện giọng nói [9].
Các vòng lặp sau sử 1 trong N các giá trị nhập vào trước đó bằng cách sử dụng chức
năng kích hoạt sigmoidal. Lớp đầu ra y(t) sẽ có giá trị thứ nguyên chung với trọng
số w(t). Quá trình học sẽ diễn ra qua các thuật toán gradient [7].
2.2.2 Ngôn ngữ lập trình, thư viện luyện tập
Trong các ngôn ngữ lập trình bậc cao, Python là ngôn ngữ lập trình hướng đối
tượng với kiểu dữ liệu ổn định trong chương trình, nhưng không cần một nhãn cho
việc khai báo biến (hay được gọi là Strong Dynamic Typing).
Trong nhận diện giọng nói, Python được đánh giá là ngôn ngữ lập trình phù hợp
nhất bởi nó có các ưu điểm như sau:
- Thuận tiện cho việc giải quyết các bài toán
- Cú pháp dơn giản
- Có nhiều các thư viện của bên thứ ba
- Mã nguồn mở [9] [10]
Khi xây dựng một hệ thống nhận diện giọng nói, yêu cầu đặt ra cho hệ thống mạng
Neural Network là phải xử lý phân loại ở giai đoạn đầu. Để làm được điều đó ta cần
một thư viện đào tạo cho mạng đủ lớn để hệ thống tạo ra kết quả có độ chính xác
cao.
Để giải quyết vấn đề đó, thư viện TIMIT được sử dụng để phân loại tín hiệu giọng
nói trong giai đoạn đầu. Thư viện này được phát triển để cung cấp dữ liệu giọng nói
để thu nhận ngữ điệu và phát triển một hệ thống nhận diện giọng nói tự động. [11]
[7].
Các âm vị sẽ được số hóa về ngưỡng tín hiệu 20kHz, sàng lọc qua một điều chỉnh
10kHz và được đưa về 16kHz. Mỗi âm vị này sẽ mang một nhãn, qua đó đại diện
cho mức độ thông tin trung gian giữa âm vị và tín hiệu âm thanh. Chúng sẽ là các
mẫu ngôn ngữ cho hệ thống mạng học tập và nhận diện giọng nói. Chúng được gọi
chung là Mô hình ngôn ngữ Recurent Neural Network (Khung RNNLM, Recurent
Neural Network Language Model) [7]
2.2.3 Xây dựng thuật toán
Một hàm đánh giá mức độ phù hợp của dự đoán có thể được hình thành như sau:
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 14
3. Để tối ưu hóa hàm đánh giá trên, có thể sử dụng thuật toán tối ưu hóa toàn cầu tùy
ý (Arbitrary Methods of Global Optimization) [7]
Một thuật toán hoàn chỉnh có thể được xây dựng từ sơ đồ khối trong hình 2 dưới
đây:
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 15
2.3 Hiệu quả, ưu điểm và hạn chế
2.3.1 Hiệu quả
Để chứng minh tính hiệu quả và chính xác của Recurrent Neural Network, trong
tiểu luận này dẫn nguồn kết quả khảo sát của Edward James và cộng sự.
Trong khảo sát này, James và cộng sự đã thay đổi độ sâu của lớp ẩn, đánh giá độ
chính xác và thời gian phản hồi của một mạng Recurent Neural Network, các độ sâu
được chọn lần lượt là 20, 42 và 60. Bộ thử bao gồm 20 câu với 81 từ, Có 20 đơn vị
đầu ra dựa trên các lớp nhãn. Sự truyền ngược được sử dụng để tính toán các trọng
số gradient và các trọng số được cập nhật bằng cách giảm thiểu hàm chi phí (cost
function).
Độ chính xác được tính bằng cách lấy giá trị trung bình sau 10 lần thử với 1 câu. Độ
chính xác tổng thể của mỗi hệ thống cũng được tính bằng cách lấy trung bình độ
chính xác của tất cả các câu. [9] Kết quả độ chính xác cụ thể của từng cụm từ được
chỉ ra ở bảng 1 và biểu đồ của hình 4.
Bảng 2.1 Độ chính xác cụ thể của từng cụm từ thử nghiệm [9]
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 16
Hình 2.4. Biểu đồ so sánh độ chính xác giữa các độ sâu của lớp ẩn [9]
Thời gian phản hồi và độ chính xác trung bình của các độ sâu khác nhau được chỉ ra
trong bảng dưới đây:
Thông số Độ sâu 20 Độ sâu 42 Độ sâu 60
Thời gian
13,41 17.13 22.38
phản hổi (s)
Độ chính
83,5 89 86,5
xác(%)
Bảng 2.2 Độ chính xác và thời gian phản hồi [9]
Từ bảng trên nhận thấy thời gian phản hồi trong quá trình đào tạo tăng lên theo độ
sâu của lớp ẩn, tuy nhiên độ chính xác sẽ chỉ tăng lên tới một ngưỡng nhất định rồi
giảm xuống. Hiện tượng này bị gây ra bởi hiện tượng quá khớp (overfitting).
Việc tăng số lượng lớp ẩn có thể làm hiệu suất tăng nhưng sẽ làm thời gian phản hồi
tăng, điều này được giải quyết bằng các thiết bị phần cứng chuyên dụng. [9]
So sánh với các phương pháp khác, Recurent Neural Network cũng thể hiện vượt
trội hơn, bảng sau thể hiện so sánh giữa Recurrent Neural Network và các phương
pháp khác:
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 17
STT Mô hình áp dụng Độ chính xác(%)
1 Hidden Markov Model 77,35
2 Gaussian Mixture Model 78,3
3 Deep Neural Network 79,5
4 Subspace Gaussian Mixture Model 72,3
5 Support Vector Machine 73
6 Recurrent Neural Network 89
Bảng 2.3 So sánh độ chính xác của các mô hình nhận diện giọng nói [13]
Từ các số liệu trên có thể thấy, Recurrent Neural Network có độ chính xác cao hơn
các mô hình nhận diện giọng nói khác.
2.3.2 Ưu điểm
Con người hiểu giọng nói dựa trên ngữ cảnh, suy nghĩ của nhân loại có tính liền
mạch và liên tục, do đó các công nghệ nhận diện giọng nói cần có hướng để xử lý
và nhận diện giọng nói trong các ngữ cảnh cụ thể. Các hệ thống Neural Network
khác hay các hệ thống nhận diện giọng nói khác đều không thể giải quyết được vấn
đề trên. Với Recurrent Neural Network, việc tạo ra các vòng lặp thông tin cho
chúng khả năng của một bộ nhớ ngắn hạn và là công cụ hữu hiệu để giải quyết được
vấn đề đã được nêu ra. [9] Mô tả cấu trúc của vòng lặp trong Recurrent Neural
Network đã được đề cập ở phần 2.2.1.
2.3.3 Hạn chế.
Trong quá trình hoạt động, các hàm giá trị được sử dụng để tính toán đôi khi sẽ gây
ra hiện tượng triệt tiêu hoặc gia tăng đột biến gradient. Điều này xảy ra khi phương
sai đầu vào và đầu ra chênh lệch rất lớn. Điều này dẫn đến giá trị nhận được bị sai
lệch hoặc tạo ra các giá trị tràn khỏi bộ nhớ hay giá trị rác. Một vài hướng xử lý vấn
đề này được đưa ra là khởi tạo trọng lượng phù hợp, sử dụng chức năng kích hoạt
không bão hòa hay đơn vị tuyến tính chỉnh sửa (ReLU).
Giống như các mạng Neural Network khác, Recurrent Nerral Network đòi hòi một
quá trình phức tạp và một quãng thời gian dài cho giai đoạn học tập. Recurrent
Neural Network cũng sẽ không thể xử lý được một chỗi quá dài nếu sử dụng hàm
tanh, hay ReLU. [14]
Phần 2: Công nghệ nhận diện giọng nói sử dụng Neural Network | 18
Phần 3: TƯƠNG LAI CỦA CÔNG NGHỆ NHẬN DIỆN GIỌNG NÓI
Để công nghệ nhận diện giọng nói tồn tại và tiếp tục phát triển mạnh mẽ trong
tương lai, đòi hỏi các nhà khoa học phải giải quyết những hạn chế còn tồn đọng và
vạch ra những hướng đi mới cho công nghệ này.
3.1 Khắc phục những hạn chế.
Như đã đề cập đến ở phần 2, hiện tại RNN đang có những hạn chế mà chúng ta sẽ
đề cập đến cách xử lí nó sau đây.
Gradient (độ dốc) rất giống với khái niệm đạo hàm mà chúng ta đã từng học, khác
ở chỗ đạo hàm là giá trị vô hướng còn gradient là 1 vector, và chúng đều cùng
dùng để biểu diễn tốc dộ thay đổi của hàm. Gradient góp phần dùng để tối ưu các
trọng số trong neural network.
Có 2 phương pháp cơ bản để hạn chế vấn đề triệt tiêu gradient và gia tăng đột biến
gradient:
3.1.1 Cắt bỏ gradient
Gradient Clipping là một phương pháp mà đạo hàm lỗi được thay đổi hoặc cắt đến 1
ngưỡng nào đó trong quá trình lan truyền ngược trở lại qua mạng và sử dụng các
gradient bị cắt để cập nhật trọng số. Bằng cách tính toán lại đạo hàm lỗi, những cập
nhật cho trọng số cũng sẽ được mã hóa lại, làm giảm đáng kể khả năng mất mát
hoặc bùng nổ gradient [14]
3.1.2 Khởi tạo đồng nhất
Nhìn chung, các hàm lặp có thể có những xu hướng phức tạp. Nhưng có một hàm
đặc biệt mà bạn có thể lặp lại bao nhiêu lần tùy thích: hàm đồng nhất f(x) = x. Nếu
mạng của bạn tính toán hàm đồng nhất, tính toán gradient sẽ hoàn toàn ổn định.
Hàm đồng nhất có thể giữ mọi thứ ổn định bằng cách giữ các tính toán ở gần nó.
Kiến trúc RNN đồng nhất là một loại RNN trong đó các phương trình kích hoạt đều
là ReLU và trọng số truy hồi được khởi tạo thành ma trận đơn vị. [14]
Ngoài ra, người ta còn sử dụng 1 mô hình khác của RNN là LSTM và biến thể của
nó là GRU để giải quyết vấn đề gradient, đồng thời tùy vào yêu cầu công việc
chúng còn có thể rút ngắn thời gian học tập hoặc tăng số chuỗi mà neural network
có thể xử lí [14]
Phần 3: Tương lai của công nghệ nhận diện giọng nói | 19
3.1.3 LSTM (Long-Short term memory)
Giống với tên gọi, ngoài bộ nhớ ngắn hạn ra, LSTM cung cấp cho người dùng 1 bộ
nhớ dài hạn, thứ mà RNN truyền thống không có. Điều này giúp lưu trữ nhiều thông
tin hơn trong quá tình làm việc, xử lí được nhiều chuỗi dữ liệu hơn, tăng khả năng
truy xuất và góp phần cải thiện độ chính xác. Tuy nhiên thời gian học tập và xử lí lí
lâu [15]
Phần 3: Tương lai của công nghệ nhận diện giọng nói | 20
3.2 Định hướng phát triển.
3.2.1 Cá nhân hóa trải nghiệm người dùng.
Ví dụ hiện nay, Google Home có thể hỗ trợ tối đa sáu tài khoản người dùng và phát
hiện giọng nói riêng biệt, cho phép người dùng Google Home tùy chỉnh nhiều tính
năng. Người dùng có thể hỏi "Có gì trên lịch của tôi hôm nay?" hoặc "cho tôi biết
về ngày của tôi?" và trợ lý sẽ cho bạn biết thời gian đi làm, thời tiết và thông tin cho
từng người dùng riêng biệt. Nó cũng bao gồm các tính năng như biệt danh, địa điểm
làm việc, thông tin thanh toán và các tài khoản được liên kết như Google Play,
Spotify và Netflix. Tương tự, đối với những người sử dụng Alexa, chỉ cần nói "học
giọng nói của tôi" sẽ cho phép người dùng tạo cấu hình giọng nói riêng biệt để công
nghệ có thể phát hiện ai đang và phục vụ chính xác người đó. Trong tương lai, trợ lý
ảo sẽ tiếp tục cung cấp nhiều trải nghiệm cá nhân hơn khi chúng trở nên tốt hơn
trong việc phân biệt các giọng nói [16]
3.2.2 Áp dụng rộng rãi cho nhiều lĩnh vực, đặc biệt là lĩnh vực y tế.
Trong những năm qua, đại dịch Covid 19 chính là thứ thúc đẩy công nghệ nhận diện
giọng nói phát triển hơn bao giờ hết, vì sự giao tiếp không tiếp xúc là vô cùng cần
thiết. Ví dụ như: Chatbot đã giúp sàng lọc và phân loại bệnh nhân, và Siri của Apple
hiện đang hướng dẫn người dùng thông qua các câu hỏi đánh giá COVID-19 của
CDC và sau đó đề xuất các ứng dụng telehealth. AI bằng giọng nói và đàm thoại đã
làm cho các dịch vụ y tế dễ tiếp cận hơn với tất cả những người không thể rời khỏi
nhà trong COVID-19. Với việc đã chứng minh được những công dụng to lớn của
mình cùng với diễn biến phức tạp của dịch bệnh như hiện nay, chắc chắn công nghệ
nhận diện giọng nói sẽ còn được nhân rộng. Bên cạnh đó, cũng đã có những dự án
phát triển công nghệ nhận diện giọng nói cho robot, xe tự lái, etc. [17]
3.2.3 “Con người hóa”.
Một trong những khác biệt chính giữa công nghệ nhận diện giọng nói và cách trò
chuyện của con người là việc thích nghi với ngữ cảnh. Con người dựa vào rất nhiều
bối cảnh khi nói chuyện với nhau. Bối cảnh này bao gồm chủ đề của cuộc trò
chuyện, những gì đã được nói trong quá khứ, tiếng ồn và biểu cảm. Chúng ta sẽ sớm
đạt được, tỷ lệ lỗi Bayes để nhận dạng giọng nói trong các phát ngôn ngắn (tức là
dài dưới mười giây) được đưa ra khỏi ngữ cảnh. Để tiếp tục cải thiện sự hiểu biết
của máy móc về lời nói của con người sẽ đòi hỏi phải tận dụng bối cảnh như một
phần sâu sắc hơn của quá trình nhận dạng. [16]
Phần 3: Tương lai của công nghệ nhận diện giọng nói | 21
3.2.4 Độ chính xác tuyệt đối
Qua từng năm, tỉ lệ nhận diện và phản hồi từ ngữ chính xác của những trợ lý ảo là
minh chứng rõ rệt cho sự cải thiện của công nghệ nhận diện giọng nói.
Hình 3.3. Khảo sát độ chính xác của các trợ lý ảo năm 2019 [20]
Và mục tiêu của các nhà khoa học là sẽ làm ra một hệ thống nhận diện giọng nói
không 1 lỗi trong tương lai.
3.3 Công nghệ mới tiềm năng – Spike Neural Networks.
Hiện nay, hầu hết các thiết bị có sử dụng công nghệ nhận diện giọng nói đều dựa
vào các công cụ điện toán đám mây. Việc xứ lí giọng nói trực tuyến mang lại rất
nhiều quan ngại về độ bảo mật cũng như tốc độ xử lí với lượng dữ liệu đầu vào lớn.
Để đối phó với những nguy cơ trên, đã có rất nhiều nỗ lực để phát triển hệ thống
nhận diện giọng nói tích hợp trên thiết bị sử dụng chính những nguồn tài nguyên
trên thiết bị đó để xử lí tín hiệu giọng nói. Và trong vài năm trở lại đây, một mẫu
Neural Network lấy cảm hứng từ não bộ của con người đã thu hút rất nhiều sự quan
tâm, đó chính là Spike Neural Networks (SNN)
Spike Neural Networks được coi như là mạng lưới nơ ron nhân tạo thế hệ thứ 3 và
là mạng thần kinh nhân tạo có cơ chế xử lí giống hệ thống dây thần kinh tự nhiên
nhất.
Phần 3: Tương lai của công nghệ nhận diện giọng nói | 22
Hình 3.4. Một ví dụ về SNN [21]
Không như Artificial Neural Networks (ANN), quá trình xử lý thông tin đồng bộ và
theo sự kiện của SNN giống như mô hình tính toán được quan sát thấy trong não
người, theo đó mức tiêu thụ năng lượng phù hợp với mức độ kích thích. Nhờ đó,
ứng với mỗi dạng thông tin khác nhau mà việc tính toán theo sự kiện của SNN cho
ra hiệu suất xử lí cao hơn so với ANN.
SNN rất phù hợp để đại diện và xử lý các tín hiệu không-thời gian, do đó chúng có
tiềm năng tuyệt vời cho các nhiệm vụ nhận dạng giọng nói.
SNN hồi quy (Recurrent network of spiking neurons) thể hiện 1 dung lượng bộ nhớ
lớn hơn so với các mẫu neural network khác, nhờ đó chúng có thể nắm bắt được
những thông tin thời gian dài hữu ích cho các việc nhận dạng lời nói. [21]
Phần 3: Tương lai của công nghệ nhận diện giọng nói | 23
KẾT LUẬN
- Công nghệ nhận diện giọng nói là công nghệ có lịch sử phát triển lâu đời, có tiềm
năng và nhu cầu phát triển lớn trong cuộc sống hiện đại
- Recurent neural network trong nhận diện giọng nói là mô hình công nghệ tiên tiến,
hiện đại, có độ chinh xác cao và có những ưu điểm so với các mô hình khác
- Các vấn đề tồn tại của recurent neural network đã và đang được nghiên cứu và tìm
ra hướng giải quyết
- Định hướng nghiên cứu công nghệ nhận diện giọng nói của tương lai là nhằm mục
tiêu đạt được độ chính xác tuyệt đối, cũng như phục vụ nhiều hơn vào cuộc sống
- Một công nghệ có tiềm năng cho việc nâng cao tinh hiệu quả và chinh xác của
nhận diện giọng nói đang được nghiên cứu và phát triển là spike neural network.
TÀI LIỆU THAM KHẢO
[1] “Sonix,” Sonix, Inc. , [Trực tuyến]. Available: https://sonix.ai/history-of-
speech-recognition.
Nhóm 1 | 24
Ahmad, “Recognition of Voice Commands Based on Neural Network,”
TEM Journal, 2021.
[10] Sewak, M., Karim, M. R., & Pujari, P., Practical convolutional neural
networks: implement advanced deep learning models using Python, Packt
Publishing, 2018.
[12] Glackin, C., Wall, J., Chollet, G., Dugan, N., &Cannings, N., “TIMIT and
NTIMIT Phone Recognition Using Convolutional Neural Networks.,”
trong International Conference on Pattern Recognition Applications and
Methods, 2018.
[13] Hinton, G., Deng, L., Yu, D., Dahl, G.E., Mohamed, A-R., Jaitly, N. and
Kingsbury, B. , “Deep neural networks for acoustic modeling in speech
recognition: the shared views of four research groups,” IEEE
International Conference in Acoustics, Speech and Signal Processing
(ICASSP), 2019.
Nhóm 1 | 25
[18] Awni Hannun, “The History of Speech Recognition to the Year 2030,”
2021.
[21] Jibin Wu, Emre Yılmaz, Malu Zhang, Haizhou Li, Kay Chen Tan, “Deep
Spiking Neural Networks for Large Vocabulary Automatic Speech
Recognition,” Frontiers online, 2021.
Nhóm 1 | 26
Tiểu luận
Nhóm 1
• Nguyễn Quy Thành An
• Nguyễn Duy Hùng
• Phạm Tường Minh
• Trần Đăng Minh Tâm
• Nguyễn Công Trình
• Vũ Thành Vân
Tổng quan
01 03
02 04
Tổng quan về công nghệ Tương lai của công nghệ nhận
nhận diện giọng nói diện giọng nói
Giới thiệu
01 | về tiểu luận
Giới thiệu
về tiểu luận
Mục đích
- Đưa ra cái nhìn tổng quan về công nghệ nhận diện giọng nói, ứng dụng và nhu cầu
phát triển của công nghệ nhận diện giọng nói.
- Biết thêm về lịch sử và quá trình phát triển của nhận diện giọng nói.
- Tìm hiểu cơ sở lý thuyết về Neural Network.
- Tìm hiểu về cách sử dụng Recurrent Neural Network cho công nghệ nhận diện
giọng nói, trả lời câu hỏi tại sao nó lại là công nghệ tiến tiến trong nhận diện giọng
nói, ưu nhược điểm và hướng giải quyết.
- Tìm hiểu về định hướng phát triển tương lai của Công nghệ nhận diện giọng nói
- Cải thiện khả năng làm việc nhóm, kĩ năng soạn thảo văn bản khoa học và khả
năng thuyết trình
Tổng quan về công nghệ
02 | nhận diện giọng nói
Tổng quan về công nghệ
nhận diện giọng nói
Nhận dạng giọng nói đề cập đến khả năng nhận và giải
thích các lệnh bằng giọng nói của một thiết bị cụ thể.
Nói một cách đơn giản, công nghệ nhận dạng giọng nói
có thể tương tác và phản hồi các lệnh của con người
Lịch sử phát triển của công nghệ nhận
diện giọng nói
Một mô hình triển khai của nhận diện giọng nói gồm 4
quá trình:
Thu nhận tín hiệu; Mã hóa tín hiệu; Xử lý và nhận dạng,
Trả kết quả
Công nghệ nhận diện giọng nói thay thế việc nhập
phím thông thường. Nhanh chóng, hiệu quả và dễ
dàng với người dùng hơn
Nhận diện giong nói cùng với trí tuệ nhân tạo được
ứng dụng như một cách điều khiển cho một hệ sinh
thái các thiết bị thông minh.
Công nghệ nhận diện giọng nói cũng được kì vọng như
một phương pháp giúp người khiếm thị tiếp cận với
công nghệ
Cải thiện tốc độ nhập liệu Ứng dụng để phát triển các hệ thống
Nhu cầu về tốc độ và sự đơn giản trong nhập liệu thông minh
là một nhu cầu lớn trong xã hội hiện tại, do đó Các NSX hệ thống nhà thông minh, Robot hay các
việc phát triển công nghệ nhận diện giọng nói để phần mềm ứng dụng đều có nhu cầu phát triển
đáp ứng nhu cầu xã hội là điều tất yếu nhận diện giọng nói trong sản phẩm của mình
Nhận diện giọng nói
03 | Sử dụng Neural Network
Nhận diện giọng nói
Sử dụng Neural Network
• Trong nhận diện giọng nói, phải trải qua nhiều quá
trình trước khi trả về được kết quả chính xác. Tuy nhiên
vai trò của quá trình xử lý và phân loại tín hiệu tới việc
nhận được kết quả chính xác là quan trọng nhất.
• Trong tiểu luận này sẽ trình bày giải pháp cho vấn
đề xử lý và phân loại tín hiệu sử dụng Recurrent
Neural Network.
Thư viện TIMIT được sử dụng để phân loại tín hiệu giọng nói trong giai đoạn đầu. Thư viện
này được phát triển để cung cấp dữ liệu giọng nói để thu nhận ngữ điệu và phát triển một hệ
thống nhận diện giọng nói tự động.
Các âm vị sẽ được số hóa về ngưỡng tín hiệu 20kHz, sàng lọc qua một
điều chỉnh 10kHz và được đưa về 16kHz. Mỗi âm vị này sẽ mang một
nhãn, qua đó đại diện cho mức độ thông tin trung gian giữa âm vị và tín
hiệu âm thanh. Chúng sẽ là các mẫu ngôn ngữ cho hệ thống mạng học
tập và nhận diện giọng nói. Chúng được gọi chung là Mô hình ngôn ngữ
Recurent Neural Network (Khung RNNLM, Recurent Neural Network
Language Model)
Xây dựng thuật toán
Một hàm đánh giá mức độ phù hợp của dự đoán có thể được hình
thành như sau:
1. Trọng số được đặt trên vector, gọi là vector trọng số
3. Để tối ưu hóa hàm đánh giá trên, có thể sử dụng thuật toán tối ưu
hóa toàn cầu tùy ý (Arbitrary Methods of Global Optimization)
Một thuật toán hoàn chỉnh có thể được xây dựng theo quá trình dưới đây:
Độ chính xác cụ thể trong từng thí nghiệm của Eward James
Biểu đồ độ chính xác của mô hình RNN trong thí nghiệm của
Edward James
Thời gian phản hồi
Thời gian
13,41 17.13 22.38
phản hổi (s)
Độ chính
83,5 89 86,5
xác(%)
Thời gian phản hồi của mô hình RNN trong nghiên cứu
của Edward
So sánh với các phương pháp khác
Độ chính
STT Mô hình áp dụng
xác(%)
So sánh độ chính xác của các mô hình nhận diện giọng nói
Ưu điểm và hạn chế
• Ưu điểm
- Có độ chinh xác cao hơn các mô hình khác
- Có khả năng phân tích nghĩa của giọng nói nhận vào thông
qua ngữ cảnh nhờ các vòng lặp và bộ nhớ ngắn hạn
• Hạn chế
- Xảy ra hiện tượng mất mát hoặc gia tăng đột ngột (bùng nổ)
Gradient trong một vài trường hợp đầu vào
- Đòi hỏi quá trình học tập phức tạp và kéo dài
- Không thể xử lý đoạn quá dài nếu sử dụng ReLU hay tanh để
tính toán.
Tương lai của
04 |Công nghệ nhận diện giọng nói
Tương lai của
Công nghệ nhận diện giọng nói
Có 2 phương pháp cơ bản để hạn chế vấn đề triệt tiêu gradient và gia tăng đột biến gradient:
➢ đạo hàm lỗi được thay đổi hoặc cắt đến 1 ngưỡng nào đó.
➢ làm giảm đáng kể khả năng mất mát hoặc bùng nổ gradient
➢ hàm đặc biệt mà bạn có thể lặp lại bao nhiêu lần tùy thích: hàm đồng nhất f(x) = x.
➢ Hàm đồng nhất có thể giữ mọi thứ ổn định bằng cách giữ các tính toán ở gần nó.
Ngoài ra, người ta còn sử dụng 1 mô hình khác của RNN là LSTM và biến thể của nó là GRU
THEAUTOMATIC
THE FUTURE OF FUTURE OFSPEECH
AUTOMATIC SPEECH
RECOGNITION
RECOGNITION
TECHNOLOGYTECHNOLOGY
Cá nhân hóa trải nghiệm người dùng
Biểu đồ khảo sát sự chinh xác của các hệ thống trợ lý ảo năm 2019
Tương lai của
Công nghệ nhận diện giọng nói
Trong vài năm trở lại đây, spike neural network thu hút rất nhiều sự quan tâm
Spike neural networks được coi như là mạng lưới nơ ron nhân tạo thế hệ thứ 3 và là mạng thần kinh nhân
tạo có cơ chế xử lí giống hệ thống dây thần kinh tự nhiên nhất.
SNN rất phù hợp để đại diện và xử lý các tín hiệu không-thời gian, do đó chúng có tiềm năng
tuyệt vời cho các nhiệm vụ nhận dạng giọng nói.
Kết luận
• Công nghệ nhận diện giọng nói là công nghệ có lịch sử phát triển lâu đời, có tiềm năng và nhu
cầu phát triển lớn trong cuộc sống hiện đại
• Recurent Neural Network trong nhận diện giọng nói là mô hình công nghệ tiên tiến, hiện đại, có
độ chinh xác cao và có những ưu điểm so với các mô hình khác
• Các vấn đề tồn tại của Recurent Neural Network đã và đang được nghiên cứu và tìm ra hướng
giải quyết
• Định hướng nghiên cứu công nghệ nhận diện giọng nói của tương lai nhằm mục tiêu đạt được
độ chinh xác tuyệt dối, cũng như phục vụ nhiều hơn vào cuộc sống
• Một công nghệ có tiềm năng cho việc nâng cao tinh hiệu quả và chinh xác của nhận diện giọng
nói đang được nghiên cứu và phát triển là Spike Neural Network.
Tài liệu tham khảo
Choudhary, A. and Kshirsagar, R., “Process Speech
“Sonix,” Sonix, Inc. , [Trực tuyến]. Available: Recognition System Using Artificial Intelligence
https://sonix.ai/history-of-speech-recognition. Technique.,” International Journal of Soft Computing
and Engineering, 2012.
Sewak, M., Karim, M. R., & Pujari, P., Practical convolutional Hinton, G., Deng, L., Yu, D., Dahl, G.E., Mohamed, A-R., Jaitly,
neural networks: implement advanced deep learning N. and Kingsbury, B. , “Deep neural networks for acoustic
models using Python, Packt Publishing, 2018. modeling in speech recognition: the shared views of four
research groups,” IEEE International Conference in
Acoustics, Speech and Signal Processing (ICASSP), 2019.
Ahmad, M. A., Baker, J. H., Tvoroshenko, I., Lyashenko, V.,
“Computational complexity of the accessory function
setting mechanism in fuzzy intellectual systems,” Roger Gross, “Lecture 15: Exploding and Vanishing
International Journal of Advanced Trends in Computer Gradients”.
Science and Engineering, tập 8, số 5, pp. 2370-2377, 2019.
Tài liệu tham khảo
Roberto Cahuantzi, Xinye Chen, Stefan Güttel , “A Jibin Wu, Emre Yılmaz, Malu Zhang, Haizhou Li, Kay Chen
comparison of LSTM and GRU networks for learning Tan, “Deep Spiking Neural Networks for Large Vocabulary
symbolic sequences,” 2021. Automatic Speech Recognition,” Frontiers online, 2021.
Clearbridge mobile, “7 Key Predictions for the Future Of Awni Hannun, “The History of Speech Recognition to the
Voice Assistants and AI,” 2021. [Trực tuyến]. Available: Year 2030,” 2021.
https://clearbridgemobile.com/7-key-predictions-for-the-
future-of-voice-assistants-and-ai/.
Tiểu luận
Nhóm 1
• Nguyễn Quy Thành An
• Nguyễn Duy Hùng
• Phạm Tường Minh
• Trần Đăng Minh Tâm
• Nguyễn Công Trình
• Vũ Thành Vân
Tiểu luận
Cảm ơn,
vì đã lắng nghe!