Huấn luyện và cho điểm HMM

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn (Trang 55)

3.4.1 Các tiêu chuẩn huấn luyện

Tất cả các phƣơng pháp huấn luyện và cho điểm đƣợc phác hoạ ở đây dựa trên tiêu chuẩn xác suất cực đại – ML (Maximun Likelihood). Cho trƣớc một dãy huấn luyện của các quan sát, một mô hình bắt đầu với các tham số ban đầu, sau đó đƣợc ƣớc lƣợng một cách lặp lại sao cho xác suất mà mô hình đƣa ra những huấn luyện tăng. Khi xác suất đạt đến cực đại, quá trình huấn luyện dựng. Tối ƣu xác suất cực đại tiêu chuận đƣợc cho bởi:

= (7)

trong đó , v= 1,2,,V chỉ các HMM khác nhau và Ov là dãy huấn luyện cho mô hình . Tuy nhiên, ta sẽ chỉ ra rằng tiếp cận ML không tối ƣu một cách cần thiết khi tín hiệu đƣợc lấy mẫu không tuân theo những ràng buộc của HMM hoặc ngƣợc lại các tham số của HMM khó ƣớc lƣợng đƣợc một cách đáng tín cậy – có lẽ do dữ liệu không đầy đủ. Trong trƣờng hợp này, những tiêu chuẩn huấn luyện khác có thể cải tiến hiệu suất của hệ thống.

Tiêu chuẩn thông tin tƣơng hỗ cực đại – MMI (Maximun Mutual Information) dành cho trƣờng hợp trong đó một số mô hình đƣợc thiết kế và mục tiêu là cực đại khả năng của mỗi mô hình để phân biệt giữa các dãy quan sát tự phát sinh và các dãy đƣợc phát sinh bởi các mô hình khác.

Một khả năng có thể thi hành tiêu chuẩn MMI là:

= (*)

Cách này nhằm mục đích phân biệt chính xác mô hình từ tất cả các mô hình khác trên dãy huấn luyện . Bằng cách tính tổng tất cả các dãy huấn luyện, tập phân biệt nhất không khả thi vì cần các thủ tục tối ƣu tổng quát. Lớp HMM của Krogh là một tổng quát hóa của tiêu chuẩn MMI. Lớp này bao gồm một HMM với một phân bố output trên các nhãn lớp công việc phát ra (emission). Quá trình huấn luyện tối ƣu xác suất gán nhãn, có thể đƣợc xem nhƣ huấn luyện giám sát.

thiết phải đƣợc sinh ra từ nguồn Markov. Một lời giải thông tin phân biệt cực đại – MDI

(Maximum Discrimination Information) sẽ cực tiểu entropi chéo (cross entropy) giữa tập

hợp các mật độ xác suất của tín hiệu hợp lệ và tập hợp các mật độ xác suất của HMM. Dƣới đây là một số lời giải cho các bài toán đã đƣợc nêu ở phần trƣớc.

3.4.2 Giải thuật tiến – lùi (forward-backward algorithm)

Giải thuật tiến lùi đã đƣợc xem là cơ sở cho những lời giải đối với ba bài toán của mô hình Markov ẩn. Thuật toán này bao gồm việc tính toán hai biến, biến tiến i(i) và biến lùi i(i) là các hàm biểu thị thời gian và trạng thái. Bài toán 1 có thể đƣợc giải quyết sử dụng biến tiến, tìm xác suất để mô hình mô hình đƣa ra một dãy quan sát. Bài toán 2, tìm trạng thái có khả năng nhất của hệ thống tại mỗi khoảng thời gian, mà có thể nhận đƣợc từ thuật toán. Một thủ tục có thể đƣợc sử dụng làm lời giải cho bài toán 3.

Biến tiến i(i) biểu diễn xác suất của một dãy quan sát riêng phần O0,O1, …, Oi đƣợc quan sát trong khi mô hình đang ở trong trạng thái Si tại thời điểm t. Có N trạng thái đƣợc định nghĩa cho mô hình trong đó qi là trạng thái mà nó đang đứng và có thể sinh ra bất kỳ một trong K ký hiệu quan sát Oi ở mỗi khoảng thời gian t, t=0,1,2,… T-1

i(i) = P[O0O1…Oi, qi = Si ] (8) Phƣơng trình này có thể đƣợc giải bằng quy nạp.

- Giá trị khởi đầu:

0(j) = (Oi) 0 N (9)

- Bước quy nạp tiếp theo:

i+1(j) = [ ]bj(Oi+1) 0 T-2 0 N (**) - Giá trị kết thúc:

P[O| ] = (10)

Biến lùi i(i) biểu diễn xác suất của dãy quan sát từng phần đƣợc quan sát từ thời điểm t đến khi kết thúc. Nó đƣợc cho khi mô hình đang ở trong trạng thái Si vào thời điểm t:

i(i) = P[Oi+1Oi+2… | qi = Si ] (11) Một lần nữa, phƣơng trình này có thể đƣợc giải bằng quy nạp. Giá trị ban đầu có thể chọn tùy ý:

(i) = 1 0 N (12) Bƣớc quy nạp tiếp theo:

(i) = = (13)

Hình 3.3.2.2a minh họa tính toán tiến lùi với biểu đồ lƣới mắt cáo. Mắt cáo là một đồ thị có hƣớng trong đó cá nút biểu diễn các trạng thái của mô hình và các cung biểu diễn tất cả các trạng thái có thể của mô hình trong một khoảng thời gian. Các cột đƣợc sắp xếp theo thời gian tăng lên từ trái sang phải.

Hình 3.6.Sơ đồ lưới cho 3 trạng thái kết nối đầy đủ

Hình 3.7. Thao tác cơ bản của tính toán tiến

Hình 3.6 biểu đồ lƣới minh họa tính toán tiến lùi. Có 3 trạng thái liên thông đầy đủ đƣợc biểu diễn bởi lƣới dạng mắt cáo, nhƣ một đƣờng đi đƣợc minh họa từ mỗi trạng thái đến tất cả các trạng thái khác nhau trong mỗi bƣớc thời gian.

Hoạt động cơ bản đƣợc trình bày nhƣ sau: giá trị của mỗi đƣợc tính cho trạng thái bằng cách lấy tổng cho tất cả các trạng thái i, nhân với xác suất biến đổi , sau đó nhân với xác suất phát ra (Oi+1)

Quá trình tìm kiếm dãy các trạng thái mà mô hình có khả năng đi qua nhất để đƣa ra dãy quan sát có thể đƣợc thực hiện theo một số cách. Để tìm trạng thái có xác suất cực đại qi tại thời điểm t đòi hỏi định nghĩa một biến i(i) khác: (adsbygoogle = window.adsbygoogle || []).push({});

i(i) = (14)

qi = arg 0 t < T (15)

Biến này tìm trạng thái xác suất cao nhất vì i(i) tính xác suất của dãy quan sát từng phần O0, O1, …, Oi và trạng thái Si tại thời điểm t trong khi i(i) tính những quan

sát còn lại đƣợc cho trong trạng thái ở thời điểm t. Hệ số chuẩn hóa trên mẫu số làm cho biến này là một độ đo xác suất.

Dù tìm kiếm trạng thái có khả năng nhất tại mỗi thời điểm là một cách tiếp cận có thể chấp nhận đƣợc với các mô hình liên thông đầy đủ, nó có thể đạt các kết quả mâu thuẫn nhau với các mô hình trong đó không phải tất cả các biến đổi đều đƣợc phép. Bởi vì ƣớc lƣợng một trạng thái riêng lẻ qi không xem xét nó có hợp lệ hay không trong ngữ cảnh của trạng thái đƣợc ƣớc lƣợng tại những vị trí thời gian kề nhau. Thuật toán Viterbi, đƣợc trình bày chi tiết trong phần sau cho phép ƣớc lƣợng dãy các trạng thái đạt xác suất cực đại, sẽ là một tiếp cận khác cho bài toán ƣớc lƣợng trạng thái này.

3.4.3 Ƣớc lƣợng lại tham số - Giải thuật Baum-Welch

Những phƣơng trình ƣớc lƣợng lại của Baum-Welch đƣợc sử dụng để đƣa ra một ƣớc lƣợng tốt hơn cho các tham số từ mô hình hiện thời. Ƣớc lƣợng mô hình là một hệ thống đóng sao cho quá trình huấn luyện đƣợc thực hiện trƣớc khi nhận dạng. Một dãy quan sát huấn luyện đƣợc sử dụng để cải tiến một cách lặp lại đến khi xác suất mà mô hình đƣa ra dãy quan sát đạt đến một cực đại mà tại điểm đó các tham số của mô hình hội tụ. Ngƣời ta đã chứng tỏ rằng sự hội tụ này ít nhất sẽ là một cực đại cục bộ của bề mặt tối ƣu. Bởi vì bề mặt này phức tạp và có nhiều cực đại cục bộ, việc lựa chọn cẩn thận những giá trị ban đầu của các tham số là cần thiết để đảm bảo rằng các cực đại cục bộ này trên thực tế nằm trong một cực đại toàn cục.

Các phƣơng trình ƣớc lƣợng lại cho HMM rời rạc dựa trên việc đếm những lần xảy ra các biến cố. đƣợc ƣớc lƣợng nhƣ số các biến đổi kỳ vọng từ trạng thái Si sang trạng thái Sj chia số các biến đổi kỳ vọng từ trạng thái Si. Cuối cùng, bj(k) đƣợc ƣớc lƣợng nhƣ số lần kỳ vọng trong trạng thái Sj và ký hiệu quan sát k chia cho số lần kỳ vọng trong trạng thái Sj. = ( ).

Cần định nghĩa thêm một biến nữa, (i,j) là xác suất nằm trong trạng thái Si tại thời điểm t và trạng thái Sj tại thời điểm t+1, cho trƣớc mô hình và dãy quan sát.

       ) ( ) ( ) ( ) ( ) , ( 1 1 1 1 q O b a p j O b a i j i i i p pq i i i j ij i t      (16) ta có phƣơng trình ƣớc lƣợng nhƣ sau:

= (kỳ vọng số dịch chuyển từ trạng thái Si sang trạng thái Sj) / (kỳ vọng số dịch chuyển từ trạng thái Si) (19)        1 0 1 0 ) ( ) , ( T i i T i t i j i   (20)

(k) = (kỳ vọng số lần ở trạng thái Sj, ký hiệu quan sát k) / (số lần kỳ vọng ở trạng thái Sj) (21)       1 0 1 0 ) ( ) ( T i i T i i j i   (22)

3.4.4 Các mô hình huấn luyện liên tục và bán liên tục

Với một mô hình mật độ hỗn hợp liên tục, những quan sát là những vector thực tế thay vì những ký hiệu rời rạc, và xác suất phát ra là:

bj( ) = (23)

Trong đó F là một đoạn log-concave bất kỳ hoặc mật độ đối xứng dạng ellipse (Gausse) có vector trung bình và ma trận hợp biến covariance cho hỗn hợp

thứ m trong trạng thái Sj.

Rabiner bày một phƣơng pháp ƣớc lƣợng lại tham số theo các dòng giống nhau tƣơng tự nhƣ với mô hình rời rạc, ngoại trừ thay vì bj(k), các biến cjm, và phải đƣợc ƣớc lƣợng lại. Ƣớc lƣợng lại sự biến đổi trạng thái và các phân bố trạng thái ban đầu tƣơng tự với dạng rời rạc. Rõ ràng các biến tiến và lùi đƣợc tính toán sử dụng mật độ phát ra ở dạng liên tục của nó trong trƣờng hợp này. Để trình bày phƣơng trình ƣớc lƣợng lại cho các tham số phát ra, ta định nghĩa một biến tạm:

i(i,m) =[ | ] (24)

Đây là xác suất ở trạng thái Sj tại thời điểm t với thành phần hỗn hợp thứ m tính cho vector quan sát Oi. Tổng của biến này trên toàn bộ M hỗn hợp có dạng i(j) đƣợc cho trong phƣơng trình (14) cũng dùng cho trƣờng hợp một hỗn hợp

Bây giờ các phƣơng trình ƣớc lƣợng lại có thể đƣợc phát biểu theo giá trị i(j,m):

= (26)

= (28)

Những phƣơng trình này có thể đƣợc giải thích nhƣ sau: là tỷ lệ giữa số lần kỳ vọng mô hình trong trạng thái Sj sử dụng hỗn hợp thứ m và số lần kỳ vọng mô hình nằm trong trạng thái Sj. Phƣơng trình tính số lần kỳ vọng mô hình nằm trong trạng thái Sj sử dụng hỗn hợp thứ m trong vector quan sát, đƣa đến giá trị kỳ vọng của các vector quan sát đƣợc, tính bởi hỗn hợp thứ m. Một đối số tƣơng tự dẫn đến kết quả . Huang trình bày một phƣơng thức ƣớc lƣợng lại các tham số của mô hình và codebook chung cho trƣờng hợp HMM bán liên tục. Một lần nữa công thức ƣớc lƣợng lại và tƣơng tự trƣờng hợp rời rạc, với sự khác biệt là các biến tiến và lùi tính theo giá trị bj(k) đƣợc thay bởi giá trị bj( ) cho những quan sát liên tục .

Để ƣớc lƣợng lại các tham số của codebook và các tham số phát ra của mô hình, ngoài biến , định nghĩa trong phƣơng trình (14) cần thêm hai biến tạm khác:

(29)

là xác suất mô hình ở trong trạng thái Si tại thời điểm t với quan sát đƣợc lƣợng hóa thành mẫu tƣợng vk – nghĩa là xác suất mà codeword thứ k có thể sinh ra quan sát thứ t kết hợp với xác suất mà codeword thứ k có thể đƣợc quan sát trong trạng thái Si – cho trƣớc quan sát và mô hình.

Bây giờ, các phƣơng trình ƣớc lƣợng lại có thể đƣợc phát biểu cho tham số mô hình bi(k) và các vector trung bình của codebook cùng với các ma trận hợp biến :

= (30) (adsbygoogle = window.adsbygoogle || []).push({});

= (32)

3.4.5 Thuật toán Viterbi

Thuật toán Viterbi là phƣơng pháp để ƣớc lƣợng xác suất chuỗi trạng thái cực đại xác suất của mô hình đƣa ra dãy các quan sát. Biến cho điểm xác suất của chuỗi quan sát O0, O1, …, Oi đã đƣợc đƣa ra bởi dãy các trạng thái của mô hình có nhiều khả năng nhất, kết thúc ở trạng thái i vào thời điểm t. Biến lƣu một bản tin (record) mà trạng thái cực đại hóa xác suất tại mỗi thời điểm sao cho khi một đƣờng đi xác suất cực đại đƣợc xác định tại thời điểm T-1, mảng có thể đƣợc sử dụng để tìm ra dãy trạng thái.

Xác suất thu đƣợc bằng cách cực đại , khác với xác suất tìm thấy bằng Cách tính tổng với mọi i. Giá trị đầu tiên là xác suất mà dãy trạng thái cực đại xác suất của mô hình có thể đƣa ra những quan sát. Giá trị thứ 2 là xác suất mà tất cả các dãy trạng thái của mô hình có thể đƣa ra những quan sát. Thƣờng thì giá trị đầu là một xấp xỉ gần với giá trị sau.

Thuật toán Viterbi tìm dãy trạng thái tốt nhất có thể đƣợc trình bày nhƣ sau:

1) Khởi tạo: = , (33) = 0 2) Đệ qui: = bj(Ot), , (32) (34) 3) Kết thúc: P* = (35) =

4) Lần ngược lại đường đi (dãy trạng thái):

= , i = T-2, T-3, … , 0 (37)

Cũng nhƣ khi tính toán biến tiến và lùi, trong trƣờng hợp các mô hình liên tục và bán liên tục giá trị xác suất phát xạ rời rạc bj(Oi) đƣợc thay bằng giá trị mật độ xác suất liên tục thích hợp.

Hình 3.8. Sơ đồ lưới cho 3 trạng thái kết nối đầy đủ

Hình 3.9 Thao tác cơ bản của tính toán Viterbi

Hình 3.8 biểu đồ lƣới mắt cáo minh họa tính toán Viterbi. Mặc dù rất giống với giải thuật tiến lùi nhƣ minh họa trong hình 3.9 nhƣng thao tác cơ sở thì lại khác: phép dò tìm cực đại thay thế phép tính tổng trong giải thuật tiến – lùi.

Hình 3.9 minh họa tính toán của thuật toán Viterbi. Phần tính toán giả sử rằng mật độ quan sát là không cần bộ nhớ. Trong trƣờng hợp này, với mọi con đƣờng đi vào một trạng thái (đƣợc biểu diễn bởi một nút trong mắt cáo), tất cả đều có thể bị loại bỏ trừ một con đƣờng có xác suất cao nhất. Điều này chỉ cho phép một con đƣờng đi ra khỏi mỗi nút, so với N con đƣờng đi vào, giữ cho độphức tạp không tăng theo cấp số nhân với thời gian.

Giải thuật Viterbi đối sánh một mô hình với một chuỗi quan sát theo cách tìm xác suất lớn nhất của chuỗi trạng thái ứng với mô hình sinh ra chuỗi quan sát này.

3.4.6. Giải thuật Level Building

Giải thuật Level Building – LB hoạt động giống nhƣ VA nhƣng nó đối sánh một chuỗi quan sát sinh ra bởi một số mô hình.

Mục đích của giải thuật LB là đối sánh các mô hình với chuỗi quan sát mà không cần phải phân đoạn chuỗi quan sát này ra thành các chuỗi con. Trong lĩnh vực nhận dạng

tiếng nói, nó đƣợc sử dụng để nhận dạng các từ phát âm liên tục trong đó mỗi HMM đực sử dụng để biểu diễn một từ. Cách tiếp cận LB cho phép nhận dạng cụm từ mà không cần phân đoạn nó ra thành từng từ. Thực tế, giải thuật LB cực đại xác suất kết nối giữa phân đoạn và nhận dạng.

Tại mức l=0, mỗi mô hình đƣợc đối sánh với chuỗi quan sát tính từ thời điểm t=0. Các mô hình đƣợc giả thiết có cấu trúc trái-phải, bắt đầu ở trạng thái 0 và kết thúc ở trạng thái N-1. 1. Khởi tạo: = ( ) (38) = (39) 2. Đệ qui: = (Ot), , (40) 3. Kết thúc: P(l,t,w) = , (41) B(l,t,w) = -1 (42)

Sau khi mảng P(l,t,w) đã đƣợc tính toán đầy đủ tại mức này cho tất cả các mô hình, nó sẽ đƣợc giảm mức để chỉ ra mô hình phù hợp nhất tại mỗi thời điểm ở mức này:

(l,t) = (43)

(l,t) = B(l, t, arg ) (44)

(l,t) = arg (45)

Mảng chỉ ra xác suất của mô hình phù hợp nhất tại mức này, lƣu nhãn của mô hình và cuối cùng, là con trỏ tới mức trƣớc đó. Đối với mức cao hơn, việc tính toán sẽ khác với thủ tục khởi tạo, theo đó các mô hình ở mức thứ hai (mức cao hơn) sẽ nhận kết quả từ mức mô hình ở mức thấp nhất:

= (46)

= max[ t-1), ]. ( ) (47)

Một mảng con trỏ quay lui cũng đƣợc tạo để lƣu thời gian mà mức trƣớc đƣợc đối sánh bởi mô hình trƣớc đã kết thúc:

= {t-1 nếu t-1) > ), } (48)

Một phần của tài liệu Luận văn thạc sĩ công nghệ thông tin Nhận diện chữ viết tay bằng mô hình markov ẩn (Trang 55)