Nhận dạng tiếng nói bằng mạng Nơron nhân tạo
Mạng nơ ron (Neuron Netwok) là một công cụ có khả năng giải quyết được nhiều
bài toán khó, thực tế những nghiên cứu về mạng nơ ron đưa ra một cách tiếp cận
khác với những cách tiếp cận truyền thống trong lý thuyết nhận dạng. Trong khuôn
khổ bài báo này tác giả mong muốn được thảo luận về 1 phương pháp nhận dạng
tiếng nói sử dụng mạng nơ ron.
• Ths. Phùng Chí Dũng
Mở đầu
Đã có nhiều công trình nghiên cứu về lĩnh vực nhận dạng tiếng nói (Speech recognition)
trên cơ sở lý thuyết các hệ thống thông minh nhân tạo, nhiều kết quả đã trở thành sản phẩm
thương mại như ViaVoice, Dragon..., các hệ thống bảo mật thông qua nhận dạng tiếng nói
các hệ quay số điện thoại bằng giọng nói... Triển khai những công trình nghiên cứu và đưa
vào thực tế ứng dụng vấn đề này là một việc làm hết sức có ý nghĩa đặc biệt trong giai
đoạn công nghiệp hoá hiện đại hoá hiện nay của nước nhà.
Mạng nơ ron (Neuron Netwok) là một công cụ có khả năng giải quyết được nhiều bài toán
khó, thực tế những nghiên cứu về mạng nơ ron đưa ra một cách tiếp cận khác với những
cách tiếp cận truyền thống trong lý thuyết nhận dạng. Trong khuôn khổ bài báo này tác giả
mong muốn được thảo luận về 1 phương pháp nhận dạng tiếng nói sử dụng mạng nơ ron
với:
- Phương pháp mã dự đoán tuyến tính LPC (Linear Predictive Coding) được sử dụng trong
việc trích trọn những đặc trưng cơ bản của tiếng nói.
- Mạng nơ ron lan truyền ngược hướng (Back-propagation Neural Network) được sử dụng
để học mẫu và ra quyết định đối tượng nhận dạng.
Xử lý tín hiệu tiếng nói
Quá trình tiền xử lý tín hiệu là chuyển tiếng nói từ dạng sóng (wave form representation)
sang dạng biểu diễn tham số (parametric form representation). Các tham số biểu diễn tín
hiệu tiếng nói có thể là: năng lượng thời gian ngắn (short time energy), tỷ lệ qua điểm
không (zero crossing rate) tỷ lệ qua mức (level crossing rate)…. Đã có nhiều cách dùng để
trích chọn ra được những thông tin về âm thanh một cách trực tiếp từ những tín hiệu số của
tiếng nói và hiệu quả hơn là phương pháp biểu diễn tín hiệu theo phổ được sử dụng rộng
rãi.
và các hệ số bộ lọc {a
k
}.
Nếu gọi là tổ hợp tuyến tính của các mẫu quá khứ:
thì sai số tiên đoán tuyến tính được định nghĩa:
e(n)=
Vấn đề cơ bản của phương pháp LPC là xác định các hệ số tiên đoán sao cho các đặc tính
phổ của bộ lọc số trong mô hình tổng hợp tiếng nói phù hợp với dạng sóng tiếng nói trong
cửa sổ phân tích. Do đặc tính biến thiên theo thời gian của phổ tín hiệu tiếng nói nên các hệ
số tiên đoán tại thời điểm n phải được đánh giá trong khoảng thời gian ngắn gần với n. Do
đó, cách tiếp cận cơ bản để xác định các hệ số tiên đoán là tối thiểu hoá sai số bình phương
tiên đoán tuyến tính trong một đoạn sóng tiếng nói ngắn. Thông thường, trong xử lý tiếng
nói phép phân tích phổ thời gian ngắn được thực hiện trên các khung tiếng nói liên tiếp với
khoảng cách mỗi khung là 10 ms.
Lý thuyết nhận dạng và mạng nơ ron
Nhận dạng (Pattern Recognition)
Có thể hiểu đó là phương pháp để xây dựng một hệ thống tin học có khả năng: cảm nhận-
nhận thức-nhận biết các đối tượng vật lý gần giống khả năng của con người. Nhận dạng có
gắn chặt với 3 khả năng trên là một lĩnh vực hết sức rộng có liên quan đến việc xử lý tín
hiệu trong không gian nhiều chiều, mô hình, đồ thị, ngôn ngữ, cơ sở dữ liệu, phương pháp
ra quyết định... Hệ thống nhận dạng phải có khả năng thể hiện được quá trình nhận thức
của con người qua các mức:
- Mức 1- mức cảm nhận: cảm nhận được sự tồn tại các đối tượng quan sát, hay đối tượng
mà hệ thống cần nhận dạng. Mức này cũng đưa ra quá trình thu nhận số liệu qua các bộ
cảm biến trong hệ thống nhận dạng, ví dụ trong hệ thống nhận dạng tiếng nói: đối tượng ở
đây là tiếng nói (speech) và thu nhận đầu vào qua Micro hoặc các file âm thanh .wav.
- Mức 2- mức nhận thức: ở đây biểu diễn quá trình học, mô hình hoá đối tượng để tiến tới
hình thành sự phân lớp (classification) các đối tượng cần nhận dạng.
- Mức 3- mức nhận biết: từ đối tượng quan sát có thể trả lời nhận biết đối tượng là gì ? Hay
đây là quá trình ra quyết định.
,...,
w
n
}
Như vậy quá trình nhận dạng đối tượng là tìm qui luật ánh xạ từ không gian biểu diễn χ
sang không gian diễn dịch Ω: ε: χ → Ω sao cho X
j
∈
C
k
(đối tượng X
j
thuộc vào lớp C
k
).
Như vậy đối với hệ thống nhận dạng, các đối tượng X đã biết (qua quan sát, cảm nhận, đo
lường), còn không gian diễn dịch Ω và qui luật ε là những điều chưa biết. Và bài toán ở
đây chính là : xây dựng 1 hệ thống tự cấu trúc, đòi hỏi một quá trình học từ các đối tượng
quan sát thu nhận được (xác định không gian Ω) đến việc tìm qui luật ε (ra quyết định).
Hình vẽ 1 cho ta sơ đồ của hệ thống nhận dạng.
Hình 1. Sơ đồ tổng quan của hệ thống nhận dạng
Mạng nơ ron nhân tạo
Mô phỏng hoạt động của các nơ ron thần kinh, mạng nơ ron nhân tạo là hệ thống bao gồm
nhiều phần tử xử lý đơn giản (neuron) hoạt động song song. Tính năng của hệ thống này
tuỳ thuộc vào cấu trúc của hệ, các trọng số liên kết nơ ron và quá trình tính toán tại các nơ
ron đơn lẻ. Mạng nơ ron có thể từ dữ liệu mẫu và tổng quát hoá dựa trên các dữ liệu mẫu
học.
Hình 2: Mô hình mạng Neuron
Một nhóm các nơ ron được tổ chức theo một cách sao cho tất cả chúng đều nhận cùng một
vector vào X để xử lý tại cùng một thời điểm. Việc sản sinh ra tín hiệu ra của mạng xuất
Phân tích tín hiệu tiếng nói
Phân tích tín hiệu tiếng nói bằng phương pháp LPC được thực hiện qua các bước sau:
- Cải thiện tín hiệu (preemphasis):Tín hiệu tiếng nói s(n) được đưa qua hệ thống số bậc
thấp (chẳng hạn như bộ lọc FIR bậc thấp) để làm phẳng phổ với điều kiện hệ thống này
hoặc là ổn định hoặc là thích nghi chậm.
- Cắt khung (frame blocking) : Tín hiệu tiếng nói sau khi đã cải thiện được chia thành L
khung - N mẫu, các mẫu kế cận được phân tách bởi M mẫu.
- Cửa sổ (windows): được đưa qua hàm cửa sổ để tối thiểu hoá số điểm gián đoạn tại các vị
trí bắt đầu và kết thúc khung.
- Phân tích tự tương quan: các khung được phân tích tự tương quan, kết quả ta được giá trị
tương quan cao nhất và được gọi là bậc phân tích LPC. Thông thường nhận giá trị từ 8 đến
16.
- Phân tích LPC: sử dụng thuật toán Durbin để chuyển đổi các hệ số tự tương quan thành
tập tham số LPC .
- Chuyển đổi tham số LPC thành hệ số phân tích phổ. Trong thực nghiệm ta chọn 12 hệ số
cepstral để làm đặc trưng của tín hiệu.
Mô tả mạng nơ ron trong nhận dạng
- Phương án lựa chọn số nút của từng lớp trong mạng: theo kinh nghiệm của các chuyên
gia về mạng nơ ron trong các bài toán phân lớp có sử dụng mạng lan truyền ngược hướng,
sử dụng 1 lớp tính toán là lớp mạng Kohonen làm lớp ẩn. Ta xác định số nơ ron cho từng
lớp.
+ Số nơ ron lớp vào = số chiều của vector vào, ở đây ta chọn 12 hệ số cepstral là đặc trưng
của mẫu, mỗi mẫu được xử lý trong L khung tiếng nói, thì số nơ ron của lớp vào sẽ là
12*L, ví dụ sử dụng 5 frames/mẫu thì số nơ ron lớp vào là 60
+ Số nơ ron lớp Kohonen = số giá trị các tập trả lời. Ví dụ cần nhận dạng 10 từ mỗi từ
được mô tả bởi vector vào 60 thành phần, tại lớp ẩn cần lưu trữ lời giải là 600, cần số nơ
ron lớp ẩn là 625 nơ ron (ma trận nơ ron kích thước 25x25)