Tải bản đầy đủ (.doc) (2 trang)

hmm và các kỹ thuật liên quan

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (45.19 KB, 2 trang )

Training HMM cho các từ chuyên dụng là sử dụng các training từ ddeere ước
lượng ma trận chuyển trạng thái A, xác xuất quan sát ma trận B và xác xuất trạng
thái vecto π(1). Mục đích là xuất ra xác xuất lớn nhất của từ chuyên dụng gần
đúng.
Điều này được thực hiện xong lặp đi lặp lại bằng cách sử dụng thuật toán
forward-backward, thuật toán giải quyết cho đến khi tìm vùng tần số ứng với từ
đo.... Chúng ta cần train nhiều lần để tìm ra đúng xác xuất từ cần tìm
Hàm hmmfb.m thực hiện thuật toán FB và hàm hmmtrain.m thực hiện train lặp đi
lặp lại nhiều HMM dựa trên các rút trích đặc trưng, vec-tor lượng tử hóa và thuật
toán FB.
(4.3.5) Chúng tôi tạo ra một codebook từ một tập hợp huấn luyện của 10 lần xuất
hiện mỗi lời nói 'không' đến 'chín'. Các codebook sau đó đã được sử dụng để
train một tập hợp mười HMM mỗi cái có 5 trạng thái ẩn .
Chúng ta có thể thấy biểu đồ lưới của ma trận A và B trên hình 45 và 46.
Ma trận A có xác suất lớn nhất trên đường chéo chính. Điều này có nghĩa rằng
nếu xử lý là trong một trạng thái nhất định tại thời điểm t, xác suất cao nhất mà
nó sẽ ở trong trạng thái đó trong thời gian t+1. Điều này có nghĩa là các trạng thái
không thay đổi nhanh trong thời gian.
Nhìn vào biểu đồ của ma trận B trên hình vẽ 46 chúng ta có thể thấy rằng đối với
mỗi trạng thái, chỉ có một vài quan sát rằng có một xác suất cao. Thông thường
nó chỉ là một xác suất cao mỗi trạng thái. Ví dụ, đối với trạng thái 4
xác suất quan sát rất cao ở biểu tượng 9, và cho trạng thái 2 có xác suất
quan sát cao ở các biểu tượng 6 và 15. Chúng ta có thể kết luận rằng mô hình
Markov ẩn là không hoàn toàn ẩn.
Cấu trúc của ma trận A và B là phù hợp với kết luận của chúng tôi cho
task (4.1.2) -Nếu cơ hội là lớn để ở lại trong trạng thái hiện tại, và nếu cơ hội
quan sát một biểu tượng duy nhất cho mỗi trạng thái cũng là lớn, thì tính năng
vectơ sẽ thay đổi chậm trong thời gian.
5.4 Recognition using the HMM
Đối với một chuỗi quan sát đã cho (nhưng không rõ) và cho một HMM train về
từ nào đó, chúng ta có thể tính toán loga mà HMM tạo một chuỗi. Để nhận biết


một tín hiệu được đưa ra, đầu tiên phải sử dụng hmmfeatures.m trích xuất đặc
tính vector. Sau đó chúng ta sử dụng functionhmmlogp.m để tính toán loga
cho một chuỗi và một HMM cho trước. Cuối cùng, chúng ta phải tìm các HMM
để xác định xác suất cao nhất của sản xuất chuỗi.
Hàm hmmrecog.m thực hiện nhận dạng HMM cơ bản, kết quả phân loại của
HMM có lẽ hầu hết tạo ra chuỗi. Chúng tôi cố gắng nhận dạng từ "one" không
được lấy từ train được thiết lập bởi câu lệnh như sau:
[logp,guess]=hmmrecog(data{1}(12),A_m,B_m,pi_m,cb,N,deltaN,M,Q)
Hàm hmmrecog.m trả về 1 đúng như dự đoán. Kết quả hảm hàm log là:
Vì vậy,xác xuất tính toán là rất nhỏ , đó là lý do tại sao sử dụng hàm loga. Tuy
nhiên, rõ ràng là các HHM dành riêng cho chữ "one" có


xác suất lớn của tạo ra (sản xuất) chuỗi, hơn bất kỳ HMM khác.
(4.4.4) Chúng ta nên cố gắng lặp lại các thí nghiệm sử dụng các từ khác nhau và
chúng tôi
quyết định kiểm tra nhận dạng trên tất cả các từ mà không phải là trong tập hợp
huấn luyện.
Vì vậy, chúng ta có thể thấy rằng các nhận dạng có tỷ lệ thành công 100% trên
thiết lập này.
(4.4.5) Chúng tôi lặp đi lặp lại các thí nghiệm sử dụng kích thước block khác
nhau và khoảng cách giữa kích thươc ban đầu là N = 320 và deltaN = 80. Chúng
tôi dự kiến sẽ đoán sai như N và deltaN tăng, nhưng recognizer tỏ ra khá mạnh
mẽ, và chúng tôi cần thiết để tăng N lên đến 2000 và deltaN lên đến 500 để có
được một vài kết quả sai.
Chúng tôi chọn kết quả cho N = 3200 và deltaN = 800 mà chúng ta có thể thấy sự
suy giảm về chất lượng nhận dạng chữ 'chín' đã được nhận dạng sai là "Một"
trong 4 ngoài 5 trường hợp.
Chúng tôi cho rằng tỷ lệ thành công sẽ phụ thuộc nhiều vào kích thước khối và
khoảng cách cho thuật toán nhận dạng phải nắm bắt sự khác biệt tinh tế giữa các

từ, ví dụ cho kích thước trung bình từ vựng recognizers. Khung thời gian hơn để
tăng cải thiện tốc độ tính toán, vì vậy một lần nữa, người ta phải đánh giá tốc độ
tính toán và tính chính xác của thí nghiệm để giải quyết tình trạng khó xử này.
(4.4.6) Chúng tôi lặp đi lặp lại các thí nghiệm sử dụng LPC / cepstrum mã hóa
của chế độ nhỏ và lớn, ban đầu là M = 12 và Q = 12. Tỷ lệ thành công thường
nhỏ hơn cho các chế độ )lệnh) nhỏ hơn và nhận diện trở nên không ổn định, thay
đổi đầu ra từ thí nghiệm để thử nghiệm. Tuy nhiên, chúng tôi thấy các recognizer
khá mạnh mẽ với những thay đổi của LPC để / cepstrum. Chúng bao gồm các kết
quả cho M = 4 và Q = 4.
Chúng tôi lặp đi lặp lại các thí nghiệm một lần nữa, lần này sử dụng codebooks
của các kích cỡ khác nhau, ban đầu là K = 16. lượng tử hóa các vector thành nhỏ
hơn số chùm , tỷ lệ thành công giảm. Chúng tôi bao gồm các kết quả cho K = 6.



×