Xây dựng và huấn luyện và thử nghiệm mạng

Một phần của tài liệu Tìm hiểu một số phương pháp nhận dạng tiếng nói và xây dựng hệ nhận dạng tiếng nói các chữ số tiếng việt bằng mạng nơron trên môi trường matlab (Trang 46)

Xây dựng và huấn luyện và thử nghiệm các mạng có cấu trúc khác nhau (về

số nơron ẩn, kiểu hàm kích hoạt) được tiến hành bằng script sau:

clc;

hnode=0; kq=[]; mac=0; i=0; while hnode<150

hnode=hnode+5 % tăng hnode theo bước 5

main % thử nghiệm mạng if mac < ac % ghi nhận mạng tốt hơn mac = ac; best = net; end; i=i+1;

netkq{i} = net; % ghi lại tất cả các mạng

end;

Trong đó script main thực hiện khởi tạo, huấn luyện và kiểm tra mạng:

net = mlp(inode, hnode, onode, func, anpha); % tạo MLP

[net err]=mlptrain(net, xtrain, target, loop); % train

ytest = mlpfwd(net, xtest); % tính đầu ra bộ test

ac = TestANN(ytest, numid(test)); % tính độ chính xác

kq =[kq; ac];

Các tham số mạng nhưfunc (kiểu hàm kích hoạt), anpha (cận khởi tạo trọng số),

loop (số vòng lặp huấn luyện) được thay đổi theo mỗi cấu trúc mạng.

Hàm TestANN dùng tính số từ được nhận dạng chính xác dựa trên đầu ra tương ứng với đầu vào của bộ bộ dữ liệu kiểm tra.

function [ac, qt] = TestANN(yte, numid) qt=[]; ac=0; i=0;

while i<length(yte) i=i+1;

kc = yte(i,:);

[mi id] = max(kc); % xác định lớp xác suất cao nhất

if id == numid(i) % nếu là chỉ số lớp tương ứng ac = ac + 1; % => nhận dạng đúng end; qt = [qt; i id numid(i) mi ac kc]; end; ac = ac / length(yte); %độ chính xác=số từ đúng/tổng 5.1.8. S dng mng trong nhn dng

function [id, xs, out] = ANNrecognize(wav,net);

mfc = wave2mfcc(wav); % trích MFCC

vec = vecavr(mfc,5); % tính đầu vào

out = mlpfwd(net,vec); % tính đầu ra của mạng

[xs id] = max(out); % đưa ra lớp cao nhất

5.1.9. Giao din phn mm demo

Phần mềm demo có thể nhận dạng cả trực tuyến (vừa ghi âm vừa nhận dạng) và ngoại tuyến (nhận dạng file được ghi âm sẵn). Mỗi lần chỉ nhận dạng được một từ. Nhìn chung nhận dạng ngoại tuyến cho kết quả cao hơn vì hàm cắt khoảng lặng của phần mềm demo có độ chính xác chưa cao.

5.2. KT QU TH NGHIM

Kết quả quá trình thử nghiệm được tổng hợp trong bảng sau:

Bảng kết quả thử nghiệm:

Bộ dữ liệu 5 người nói Số từ dùng huấn luyện: 268

Số từ dùng kiểm tra: 268

Độ chính xác=số từ nhận dạng đúng/tổng số từ trong bộ dữ liệu kiểm tra.

hnode sig01-50 sig01-100 sig05-50 smx01-50 smx01-100 smx05-50

5 27.61% 22.02% 20.52% 35.08% 60.45% 42.54% 10 53.36% 81.34% 37.31% 88.81% 90.30% 87.69% 15 82.46% 89.18% 89.18% 94.03% 92.16% 89.93% 20 66.42% 76.87% 86.57% 95.15% 94.03% 95.52% 25 92.16% 96.64% 88.06% 95.52% 96.64% 94.78% 30 94.78% 92.91% 93.28% 97.39% 92.91% 94.78% 35 94.40% 94.78% 93.28% 95.15% 96.27% 95.52% 40 94.40% 97.02% 95.52% 98.13% 97.76% 97.02% 45 94.03% 97.39% 95.90% 95.52% 97.76% 97.76% 50 96.27% 97.02% 97.39% 97.39% 97.39% 97.76% 55 94.78% 96.64% 97.39% 98.13% 97.76% 97.76% 60 97.02% 97.76% 97.02% 98.51% 98.88% 96.64% 65 98.51% 97.39% 96.64% 97.76% 98.88% 97.76% 70 97.02% 97.02% 97.76% 97.76% 98.51% 97.76% 75 98.13% 97.39% 97.39% 98.51% 97.39% 96.64% 80 95.90% 98.51% 96.64% 98.88% 98.88% 96.64% 85 97.76% 97.02% 98.51% 98.13% 98.88% 98.88% 90 98.13% 98.51% 98.13% 98.51% 98.51% 97.76% 95 98.51% 98.88% 96.27% 97.39% 98.88% 99.25% 100 97.76% 98.88% 98.51% 98.13% 98.13% 98.13% 105 97.39% 97.76% 97.39% 98.51% 98.51% 98.13% 110 98.51% 98.51% 98.13% 98.51% 98.13% 98.51% 115 97.39% 99.25% 97.39% 97.39% 98.13% 98.13% 120 98.13% 98.13% 98.13% 98.13% 97.39% 99.25% 125 98.51% 98.51% 98.13% 98.51% 98.13% 97.76% 130 97.76% 98.51% 97.76% 97.76% 98.51% 98.51% 135 98.88% 98.51% 98.13% 98.13% 98.51% 97.76% 140 97.39% 98.13% 97.76% 98.88% 98.51% 98.51% 145 99.25% 98.88% 98.51% 97.02% 98.88% 98.13% 150 97.76% 98.13% 98.13% 97.76% 98.13% 98.51% T.B. 91.68% 93.58% 91.69% 95.15% 96.11% 95.12%

Trong đó hnode là số nơron lớp ẩn, ứng với mỗi kiểu mạng như sau:

Kí hiệu Hàm kích hoạt Giá trị khởi

tạo trọng số Shuốấ vòng ln luyệặn p

sig01-50 sigmoid (logistic) 0.1 50

sig01-100 sigmoid (logistic) 0.1 100

sig05-50 sigmoid (logistic) 0.5 50

smx01-50 softmax 0.1 50

smx01-100 softmax 0.1 100

smx05-50 softmax 0.5 50

Biểu đồ sau thể hiện kết quả nhận dạng theo số nơron lớp ẩn trong 2 kiểu mạng cho kết quả cao nhất. 75% 80% 85% 90% 95% 100% 5 15 25 35 45 55 65 75 85 95 105 115 125 135 145 sig01-100 smx05-50

Từ kết quả thử nghiệm, chúng tôi rút ra một số kết luận sau:

1. Phương pháp nhận dạng bằng mạng nơron cho kết quả nhận dạng cao nhất là 99.25% trên bộ dữ liệu do chúng tôi tự xây dựng. Như

vậy có thể sử dụng mạng nơron làm một cơ cấu nhận dạng hiệu quả, ít nhất là đối với hệ thống nhận dạng chữ số.

2. Mạng sẽ cho kết quả nhận dạng cao nếu xây dựng hợp lí. Không hẳn cứ nhiều nơron lớp ẩn, cứ huấn luyện nhiều là mạng có độ chính xác cao hơn. (Mặc dù điều đó làm giảm sai số huấn luyện của mạng). Vấn đề sai số huấn luyện thấp, sai số kiểm tra cao xảy ra khi độ tương

tự giữa bộ dữ liệu huấn luyện và bộ dữ liệu kiểm tra không lớn. Khi đó mạng nhận dạng rất chính xác trên bộ dữ liệu huấn luyện nhưng kém chính xác hơn nhiều trên bộ dữ liệu kiểm tra.

3. Hàm kích hoạt softmax hiệu quả hơn hàm sigmoid. (Kết quả nhận dạng trung bình cao hơn, số nơron ẩn cần dùng thấp hơn khi cho kết quả nhận dạng cao nhất).

4. Môi trường Matlab có thể giúp công việc nghiên cứu nhận dạng tiếng nói đơn giản và hiệu quả hơn. Nhờ có Matlab và các bộ công cụ VoiceBox, NetLab mà việc phát triển hệ thống nhận dạng khá đơn giản và nhanh chóng (ví dụ: mã chương trình dùng rất ít lệnh, nhiều phần không cần lập trình).

Những kết luận trên cho thấy khả năng sử dụng mạng nơron và môi trường Matlab trong nhận dạng tiếng nói có nhiều hứa hẹn. Tuy nhiên để đạt được điều

đó thì phải xây dựng một bộ dữ liệu chuẩn và có chiến lược xây dựng, huấn luyện, thử nghiệm mạng hợp lí.

5.3. HƯỚNG M RNG CA ĐỀ TÀI

5.3.1. Xây dng b d liu hun luyn ln hơn

Như ta đã thấy, bộ dữ liệu là thành phần cực kì quan trọng đối với hệ nhận dạng. Hiện tại bộ dữ liệu chúng tôi đã xây dựng (182 file, 11 từ, 2 người) là còn quá khiêm tốn. Để có thể có những kết quả nghiên cứu tốt hơn, chúng tôi sẽ mở

rộng bộ dữ liệu: tăng số người nói và số từ, đa dạng hoá môi trường ghi âm.

3.3.2. Xây dng phn mm nhn dng da trên kết qu

nghiên cu

Hệ thống nhận dạng hiện tại của chúng tôi hiện chỉ được thử nghiệm trên môi trường Matlab, mới có khả năng nhận dạng một file ghi âm sẵn của một từ

(nhận dạng từđơn, ngoại tuyến). Trong khi đó để hệ nhận dạng có thểứng dụng

được thì hệ phải hoạt động ở dạng trực tiếp và liên tục (tức là vừa ghi âm vừa nhận dạng, nhận dạng nhiều chữ số một lúc, chạy như một chương trình hệ

thống). Mục tiêu của chúng tôi là sau khi thử nghiệm hệ thống cho kết quả cao sẽ

xây dựng một bộ công cụ nhận dạng tiếng nói và các phần mềm ứng dụng, vì đó mới là mục đích của nghiên cứu nhận dạng tiếng nói.

Ở nghiên cứu này, việc tách đặc trưng của tín hiệu tiếng nói còn rất đơn giản (chia frame, tính MFCC, chia 5 phần lấy trung bình cộng). Để nâng cao kết quả nhận dạng cần tìm những đặc trưng ổn định hơn của tiếng nói và những phương pháp tách đặc trưng hiệu quả hơn.

5.3.4. Nghiên cu các phương pháp nhn dng khác

Các nghiên cứu khác ([1,9,10]) cho thấy hiện tại mô hình Markov ẩn (HMM) đang cho kết quả nhận dạng cao nhất. Hướng nghiên cứu mới của đề tài là tìm cách kết hợp mạng nơron và mô hình Markov ẩn nhằm kết hợp ưu điểm của hai mô hình.

Mặt khác, đối với bộ từ vựng nhỏ thì nhận dạng từ đơn (âm tiết) là thích hợp. Tuy nhiên với hệ nhận dạng cỡ lớn, nhất là hệ nhận dạng tiếng Việt hoàn chỉnh (6 nghìn âm tiết ) thì chọn đơn vị nhận dạng là âm tiết không hợp lí lắm. Một hướng nghiên cứu khác của đề tài là nhận dạng đối với đơn vị nhỏ hơn âm tiết là âm vị. Tức là xây dựng các hệ nhận dạng có chức năng:

• Phân biệt được nhiễu nền (khoảng lặng), phụ âm, nguyên âm.

• Nhận dạng phụ âm (phân biệt được các phụ âm khác nhau).

• Nhận dạng nguyên âm (phân biệt được các nguyên âm khác nhau).

P

PHH LLCC11..DDAANNHHMMCCTTÀÀII LLIIUUTTHHAAMMKKHHOO

Kí hiệu Tác giả Tên tài liệu Ghi chú

[1] Đặng Ngọc Đức Mng nơron và mô hình Markov n trong nhn dng tiếng Vit Luận án tiến sĩ [2] Nguyễn Hữu Tình, Lê Tấn Hùng, Phạm Ngọc Yến, Nguyễn Thị Lan Hương Cơ s Matlab và ng dng Sách NXB KHKT -1999

[3] Đoàn Thiện Thuật Ng âm tiếng Vit Sách NXB ĐHQG

Hà Nội - 2003

[4] Nguyễn Thanh Thuỷ Nhp môn xnh s Sách NXBKHKT

[5] Alpay Koç Acoustic feature analysis for

robust speech recognition

[6] John-Paul Hosom,

Ron Cole

A diphone-based digit

recognition system using neural networks

http://cslu.cse.ogi.e du/cslu

[7] John-Paul Hosom,

Ron Cole, Mark Fanty, Don Colton

Speech Recognition Using

Neural Networks Webpage thttp://cslu.cse.ogi.eại du/cslu

[8] Mehdi R. Zargham Computer Architecture

[9] Rabiner L.R A Tutorial on Hidden Markov

Models and Selected Applications in Speech Recognition Proceedings of IEEE, VOL.77, NO.2, FEB 1989 [10] Rabiner L.R, Huang

B. H Fundamentals of Speech Recognition

Sách NXB Prentice Hall - 1993

[11] Simon Haykin Neural Networks - A

comprehensive foundation Sách NXB Prentice Hall - 1998

[12] V.Mantha, R.Duncan, Y.Wu, J.Zhao

Implementation and analysis of speech recognition front-ends

ECE4773/Digital Signal Processing - 1998

[13] Joe Tebelskis Speech Recognition using

Neural Networks

P

PHHLLCC22..BBNNGGCCÁÁCCTTHHUUTTNNGGVVÀÀTTVVIITTTTTT

Thuật ngữ Từ viết tắt Ý nghĩa

Artifactial Neural Network ANN Mạng nơron nhân tạo

Fast Fourier Transform FFT Biến đổi Fourier nhanh

Dicrette Cosine Transform DCT Biến đổi cosin rời rạc.

Hidden Markov Model HMM Mô hình Markov ẩn

Linear predictive code LPC Hế số dựđoán tuyến tính

Mel-scale Frequency Cepstral Coefficient

MFCC Hệ số cepstral độđo mel

Multi Layer Perceptron MLP Mạng perceptron truyền thẳng nhiều lớp

Speech Recognition SR,ASR Nhận dạng tiếng nói

Bias Ngưỡng kích hoạt Pattern Recognition Nhận dạng mẫu Likelihood Mức độ giống Similarity Mức độ tương tự Feature Đặc trưng Spectral, spectrum Phổ tín hiệu

Một phần của tài liệu Tìm hiểu một số phương pháp nhận dạng tiếng nói và xây dựng hệ nhận dạng tiếng nói các chữ số tiếng việt bằng mạng nơron trên môi trường matlab (Trang 46)

Tải bản đầy đủ (PDF)

(53 trang)