Một số ứng dụng của mạng Nơ-ron trong nhận dạng chữ tƣợng hình

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng mạng nơron trong nhận dạng chữ hán nôm (Trang 34)

Chƣơng 2 MẠNG NƠ-RON

2.6 Một số ứng dụng của mạng Nơ-ron trong nhận dạng chữ tƣợng hình

Mạng nơ-ron đã đƣợc áp dụng thành công trong phân loại mẫu nhờ khả năng học thích nghi, phân biệt và hái quát hóa cao. Nó đã đƣợc sử dụng rộng rãi trong nghiên cứu nhận dạng chữ tƣợng hình nhƣ: Hàn Quốc [5, 12], Ấn Độ [6], Trung Quốc [7, 8], Nhật Bản [10],… Xuất phát từ nghiên cứu về mạng nơ- ron đa tầng truyền thẳng, các phƣơng pháp lấy đặc trƣng đƣợc nghiên cứu, thử nghiệm, đặc biệt là các phƣơng pháp huấn luyện mới đã cho những kết quả rất khả quan. Cụ thể: thuật toán lan truyền ngƣợc sai số cho kết quả nhận dạng là 93,53% [5, 6, 9], thuật toán LVQ(Learning Vector Quantization) và DSM(Decision Surface Mapping) đƣợc áp dụng với chữ Trung Quốc đạt kết quả tốt nhất là 98,82% với bộ dữ liệu gồm 37000 ký tự [7], Mạng nơ-ron xác suất với cùng phƣơng pháp lấy đặc trƣng nhƣ [7] nhƣng thực hiện với 39644 ký tự Trung Quốc đạt kết quả thực nghiệm là 97,61% [8], và mạng nơ-ron thông minh tự thích nghi (structurally adaptive intelligent neural tree - SAINT) cho kết quả nhận dạng lên tới 97,5% [12].

2.6.1 Back-Propagated Neural Network [5, 6, 9]

Các mạng nơ-ron truyền thẳng rất phổ biến trong mạng nơ-ron. Nó hông có các ết nối thông tin phản hồi, nhƣng các lỗi truyền ngƣợc thƣờng xảy ra trong quá trình huấn luyện, ít nhất là các lỗi bình phƣơng. Lỗi ở đầu ra xác định lỗi ở các lớp ẩn đầu ra, chúng đƣợc sử dụng nhƣ một cơ sở để điều chỉnh trọng số ết nối giữa các lớp, quá trình này đƣợc lặp đi lặp lại cho tới hi tỉ lệ lỗi giảm

xuống dƣới một hoảng nhất định. Tham số về tốc độ học điều chỉnh các trọng số. Các thuật toán lan truyền ngƣợc (bac -propagation algorithm - BP ) đƣợc sử dụng để tính toán gradient của các hàm lỗi bằng cách sử dụng quy tắc lan truyền sự hác biệt. Các lỗi sau hi tính toán ban đầu trên đƣờng truyền sẽ đƣợc truyền ngƣợc lại từ đầu ra qua từng tầng, gọi là "bac -propagation".

Thuật toán lan truyền ngƣợc:[6]

1. Gọi A là số lƣợng đơn vị trong lớp đầu vào, đƣợc xác định bởi chiều dài của vector đào tạo đầu vào. Cho C là số lƣợng đơn vị trong lớp ra. Chọn B là số lƣợng các đơn vị trong lớp ẩn. Đầu vào lớp và ẩn từng có thêm một đơn vị đƣợc sử dụng để ngƣỡng. Chúng ta ký hiệu "cấp độ" kích hoạt của các đơn vị trong lớp đầu vào bởi xj, Trong lớp ẩn bằng các hi, và trong lớp ra bởi oj. Trọng số kết nối các lớp đầu vào cho lớp ẩn đƣợc biểu thị bằng wlij. Mỗi lớp đầu vào và lớp ẩn có thêm một đơn vị đƣợc sử dụng đó là ngƣỡng. Kí hiệu các đơn vị trong lớp đầu vào là xj, các đơn vị trong lớp ẩn là hi và trong lớp đầu ra là Oj. Trọng số ết nối lớp đầu vào với lớp ẩn là 1ij, trọng số ết nối giữa lớp ẩn và lớp đầu ra là 2ij.

2. Khởi tạo trọng số của mạng. Mỗi trọng số đƣợc thiết lập ngẫu nhiên giữa -0.1 và 0.1.

Wlij = random (-0.1, 0.1) for all i = 0..A, j = 1..B W2ij = ran-dom (-0.1, 0.1) for all i = 0..B, j = 1..C

3. Khởi tạo các giá trị ngƣỡng. Các giá trị ngƣỡng hông bao giờ thay đổi.

a) Xo = 1.0 b) ho = 1.0'

4. Chọn cặp input-output. Giả sử vec tơ đầu vào là xi và vec tơ đầu ra mong muốn là yi. Đƣợc chỉ định là mức độ ích hoạt cho các đơn vị vào.

6. Lan truyền các kích hoạt từ các đơn vị trong lớp ẩn cho các đơn vị trong lớp ra

7. Tính toán lỗi trong các đơn vị đầu ra δ2j, lỗi đƣợc tính dựa vào đầu ra thực tế(oj) và đầu ra mong muốn(yj).

8. Tính toán lỗi trong các đơn vị ở tầng ẩn

9. Điều chỉnh trọng số giữa lớp ẩn và lớp đầu ra. Tốc độ học đƣợc ký hiệu là η.

10. Điều chỉnh trọng số giữa lớp vào và lớp ẩn.

11. Quay lại bƣớc 4, lặp lại quá trình cho tất cả các cặp input-output. Nhƣ vậy là đã hoàn thành 1 chu trình huấn luyện.

2.6.2 Mạng nơ-ron xác suất (ProbabilisticNeural Networks – PNN). [8]

Việc triển khai mạng nơ-ron xác suất với mong muốn mô hình hóa sự phân bố xác suất thực tế của các mẫu học với sự kết hợp của Gaussians. Cho phép tính toán hậu kết hợp với mỗi mẫu đƣợc phân loại.

Phƣơng pháp PNN chuẩn yêu cầu lƣu trữ của tất cả các những hình mẫu để tính toán xác suất cuối cùng của các lớp thành viên.Thay vào đó, tác giả đã sử dụng hỗn hợp Gaussian PNN của Streit và Luginbuhl để tạo ra phân phối xác suất sử dụng một số cố định của các thành phần Gaussian.Sự phân bố kết quả đƣợc hình thành qua tổng quát hóa, huấn luyện lặp đi lặp lại và ƣớc lƣợng tối đa địa phƣơng cho các lớp.

Việc huấn luyện sẽ tính toán ba bộ giá trị: các phƣơng tiện cho các thành phần của mỗi lớp, tỷ lệ kết hợp để sử dụng cho các thành phần cá nhân, và cuối cùng là ma trận hiệp phƣơng sai. Cho là thành phần thứ i của lớp j, là tỉ lệ

kết hợp của nó, và ∑ là ma trận hiệp phƣơng sai. Khi đó, hàm mật độ xác suất kết hợp với phân loại mẫu nhƣ một thành viên của lớp đƣợc cho bởi:

Trong đó Gj là số các thành phần Gaussian đƣợc sử dụng cho mô hình lớp j và pij (x) đƣợc định nghĩa:

Giả định rằng các chi phí liên quan đến việc lựa chọn kí tự bất kỳ là nhƣ nhau. Bằng cách lựa chọn các lớp học với hàm mật độ xác suất có giá trị cao nhất,

Bayes quyết định rủi ro tối thiểu có thể đƣợc thực hiện. Ngoài ra, xác suất xuất hiện một kí tự đƣợc ƣu tiên có thể đƣợc nhúng vào hệ thống này. Khả năng cải thiện sự phân loại sẽ phụ thuộc vào tỷ lệ sự xuất hiện các kí tự ƣu tiên cho bộ tài liệu cụ thể. Nếu tỷ lệ nhúng vào hệ thống phân loại hông tƣơng quan tốt với những lần xuất hiện ký tự đƣợc quan sát, kết quả nhận dạng có thể bị cản trở.

Huấn luyện mạng nơ-ron xác suất: Việc huyến luyện mạng đƣợc thực hiện qua các bƣớc sau:

1) Khởi tạo giá trị cho các lớp và các thành phần. Nó đƣợc thực hiện bằng cáh sử dụng thuật toán trung bình cho mỗi lớp. là lớp j và thành phần i. Giá trị ƣớc lƣợng ban đầu cho các thành phần đƣợc lựa chọn ngẫu nhiên từ tập hợp các dữ liệu mẫu mực. Các mẫu đƣợc phân loại với các thành phần gần nhất của nó.

2) Mỗi đƣợc tính toán lại với từng thành phần trong tập hợp này. Thuật toán dừng hi hông có thay đổi nào đƣợc thực hiện với .

Trong đó: N là tổng số các lớp, xjk là mẫu thứ k của lớp j.

Việc huấn luyện đƣợc bắt đầu với: Gj = G và Tj = T, một hằng số cho các mẫu và các thành phần của tất cả các lớp.

4) Việc huấn luyện PNN đƣợc lặp lại tới bƣớc n:

5) Cập nhật tỉ lệ kết hợp:

Và các thành phần mới:

2.6.3 Mạng nơ-ron thông minh tự thích nghi (structurally adaptive intelligent neural tree - SAINT) [12]

Phần lớn các mạng thần inh thƣờng bị một số hó hăn nhƣ việc xác định cấu trúc và ích thƣớc của mạng, các tính toán phức tạp. Để đối phó với những hó hăn này, tác giả đã đề xuất một cấu trúc mạng nơ-ron thông minh tự thích nghi (Saint). Ý tƣởng cơ bản là phân vùng không gian mô hình phân cấp đầu vào sử dụng một mạng lƣới cấu trúc cây trong đó bao gồm các mạng con với khả năng lập bản đồ bảo toàn cấu trúc liên kết. Ƣu điểm chính của SAINT là nó cố gắng để tự động tìm kiếm một cấu trúc mạng với ích thƣớc phù hợp với việc phân loại tập mẫu lớn và phức tạp thông qua sự thích nghi cấu trúc. Kết quả thử nghiệm cho thấy SAINT rất hiệu quả trong việc phân loại ký tự viết tay với các biến thể cao, c ng nhƣ đa ngôn ngữ, multifont, và multisize bộ dữ liệu lớn.

Hình 2.8 Cấu trúc của SAINT

SAINT là một mạng nơ-ron cấu trúc cây với mạng con có cấu trúc hai chiều mạng. Để bảo toàn cấu trúc liên kết mạng của mỗi mạng con, chúng ta xem xét hệ thống láng giềng gần nhất, có thể đƣợc định nghĩa nhƣ sau.

Nút là láng giềng của i nếu và chỉ nếu: 1) i ;

Để thực hiện các mục tiêu đã đặt ra: thiết kế mạng nơ-ron với đầu vào phức tạp và phân loại đƣợc bộ dữ liệu lớn, thuật toán học của SAINT cần có các tính chất sau:

- Việc điều chỉnh tham số phải đƣợc thực hiện trƣớc hi điều chỉnh cấu trúc của mạng.

- Mạng cần có các thuộc tính tƣơng ứng với mạng tổng thể.

Do đó thuật toán học của mạng nhƣ sau:

1) Khởi tạo các biến

k 1; // trong đó là số mức trong cấu trúc mạng // Ngƣỡng để khởi tạo hay xóa một nút 2) HILE (điều kiện dừng) DO

0 ; // r: thứ tự của láng giềng, // tốc độ học

WHILE (epoch?) DO

-Tính toán lỗi giữa input và nút ở mức cuối cùng, lựa chọn nút có lỗi tối thiểu nc với:

- Cập nhật trọng số của nút đƣợc chọn và nút láng giềng của nó:

- Tính toán:

Trong đó: là thời gian w với ích thƣớc khởi tạo. là lỗi ở thời điểm t

là hàm bƣớc nhảy

- tăng bộ đếm tham chiếu cho nút đƣợc chọn - giảm ích thƣớc của láng giềng r và tốc độ học

END WHILE

Xóa những nút không hoạt động trong một khoảng thời gian dài Hòa nhập những nút mà mạng con cảu nó ở cùng mức k

- Lựa chọn nút Ni, Nj với điều kiện :

Trong đó và M là số nút trong mạng con - Tính toán lại việc khởi tạo trọng số của nút đƣợc hòa nhập wnew = 0.5 (wi+ wj)

- Xóa nút Ni, Nj Tạo mạng con với nút Xóa . Trong đó 0 < <1 END WHILE 3) Tối ƣu mạng 4) Gắn địa chỉ các lớp vào các nút lá Tổng kết chƣơng 2

Chƣơng 3: GIẢI THUẬT DI TRUYỀN 3.1 Cơ sở thực tiễn của giải thuật di tru ền

Giải thuật di truyền (GA-Genetic lgorithms) c ng nhƣ các thuật toán tiến hóa nói chung, hình thành trên quan niệm cho rằng quá trình tiến hoá tự nhiên là quá trình hoàn hảo nhất, hợp lí nhất và tự nó đã mang tính tối ƣu. Quan niệm này có thể đƣợc xem nhƣ một tiên đề đúng, hông chứng minh đƣợc nhƣng phù hợp với thực tế khách quan. Quá trình tiến hóa thể hiện tính tối ƣu ở chỗ: thế hệ sau bao giờ c ng tốt hơn (phát triển hơn, hoàn thiện hơn) thế hệ trƣớc. Xuyên suốt quá trình tiến hóa tự nhiên, các thế hệ mới luôn đƣợc sinh ra để bổ sung, thay thế cho thế hệ c nhờ hai quá trình cơ bản: sinh sản và chọn lọc tự nhiên, mỗi cá thể muốn tồn tại và phát triển phải thích nghi với môi trƣờng, cá thể nào thích nghi hơn thì tồn tại, cá thể nào kém thích nghi thì bị tiêu diệt.

Trong mỗi cá thể có một tập các nhiễm sắc thể (NST), mỗi NST gồm nhiều gen liên kết với nhau theo cấu trúc dạng chuỗi, quy định các tính trạng của cá thể đó. Các cá thể thuộc cùng một loài có số lƣợng và cấu trúc NST đặc trƣng nhƣng cấu trúc các gen thì hác nhau, điều đó tạo nên sự khác biệt giữa các cá thể trong cùng loài và quyết định sự sống còn của cá thể đó. Do môi trƣờng tự nhiên luôn biến đổi nên cấu trúc NST c ng thay đổi để thích nghi với môi trƣờng và thế hệ sau luôn thích nghi hơn thế hệ trƣớc. Cấu trúc này có đƣợc do sự trao đổi thông tin có tính ngẫu nhiên với môi trƣờng bên ngoài hoặc giữa các NST với nhau.

Từ ý tƣởng đó, các nhà hoa học đã nghiên cứu và xây dựng nên giải thuật di truyền dựa trên cơ sở chọn lọc tự nhiên và quy luật tiến hoá. Giải thuật di truyền mô phỏng bốn quá trình cơ bản của tự nhiên: lai ghép, đột biến, sinh sản và chọn lọc tự nhiên. Ở đây mỗi cá thể chỉ có một NST. Các NST đƣợc chia nhỏ thành các gen đƣợc sắp xếp theo một dãy tuyến tính. Mỗi cá thể (hay NST) biểu diễn một lời giải có thể của bài toán. Một xử lý tiến hoá duyệt trên tập các

NST tƣơng đƣơng với việc tìm kiếm lời giải trong không gian lời giải của bài toán. Quá trình tìm kiếm phải đạt đƣợc hai mục tiêu:

- Khai thác những lời giải tốt nhất

- Xem xét trên toàn bộ không gian tìm kiếm

3.2 Cơ chế thực hiện giải thuật di tru ền

Một thuật giải di truyền (hay một chƣơng trình tiến hóa bất kỳ) để giải một bài toán cụ thể phải bao gồm năm thành phần sau đây:

- Mã hoá lời giải - Cách biểu diễn di truyền cho lời giải của bài toán. - Cách khởi tạo quần thể ban đầu.

- Một hàm lƣợng giá đóng vai trò môi trƣờng để đánh giá các lời giải theo mức độ “thích nghi” của chúng.

- Các phép toán di truyền (chọn lọc, lai tạo, đột biến).

- Các tham số hác ( ích thƣớc quần thể, xác suất áp dụng các phép toán di truyền).

GA sẽ thực hiện tiến trình tìm kiếm lời giải tối ƣu theo nhiều hƣớng, bằng cách duy trì một quần thể các lời giải và thúc đẩy sự hình thành và trao đổi thông tin giữa các hƣớng này. Quần thể trải qua quá trình tiến hóa: ở mỗi thế hệ sẽ tạo ra các cá thể mới bằng cách lai ghép các cá thể đã có và đột biến chúng theo một xác suất nhất định. Sau đó các cá thể tƣơng đối “tốt” sẽ đƣợc giữ lại trong khi các cá thể tƣơng đối “xấu” thì chết đi, tạo ra thế hệ mới tốt hơn thế hệ trƣớc.

Cấu trúc của giải thuật di truyền đƣợc mô phỏng theo thuật toán:

Procedure Giải_thuật_di_truyền;

Begin

t:=0;

Khởi tạo ngẫu nhiên quần thể P(t);

Đánh giá độ phù hợp từng cá thể trong P(t);

Đánh giá độ phù hợp các cá thể trong tập P(t);

Until (thoả điều kiện dừng); End;

Giải thích:

Tại lần lặp thứ t, G xác định một tập hợp các lời giải có thể (các cá thể hay NST) gọi là quần thể P(t) = { xt1, xt2,..., xtm } (số cá thể m gọi là kích cỡ quần thể). Mỗi lời giải xti đƣợc đánh giá nhằm xác định độ phù hợp của nó. Sau đó, một tập hợp các lời giải đƣợc hình thành nhờ sự lựa chọn các lời giải phù hợp hơn. Một số phần tử của tập hợp này đƣợc tái sản xuất thông qua lai ghép và đột biến. Từ đó hình thành quần thể mới P(t+1) với hy vọng chứa các cá thể phù hợp hơn quần thể trƣớc đó.

Nhƣ vậy, bản chất GA là một giải thuật lặp, nhằm giải quyết các bài toán tìm kiếm dựa trên cơ chế chọn lọc nhân tạo và sự tiến hoá của các gen. Trong quá trình đó, sự sống còn của cá thể phụ thuộc vào hoạt động của các NST và quá trình chọn lọc (tham gia vào việc tái tạo ra các chuỗi NST mới bằng cách giải mã các chuỗi NST và tạo ra mối liên kết giữa các NST trong các cá thể khác nhau).

GA sử dụng các toán tử: chọn lọc, lai ghép, đột biến trên các NST để tạo ra chuỗi mới. Những toán tử này thực chất là việc sao chép chuỗi, hoán vị các chuỗi con và sinh số ngẫu nhiên.

Cơ chế của G đơn giản nhƣng lại có sức mạnh hơn các giải thuật thông thƣờng khác nhờ có sự đánh giá và chọn lọc sau mỗi bƣớc thực hiện. Do vậy khả năng tiến gần đến lời giải tối ƣu của GA sẽ nhanh hơn nhiều so với các giải thuật khác.

Có thể nói GA khác với những giải thuật tối ƣu thông thƣờng ở những đặc điểm sau:

- GA làm việc với tập mã của biến chứ không phải bản thân biến

- GA thực hiện tìm kiếm trên một quần thể các cá thể chứ không phải trên

Một phần của tài liệu (LUẬN văn THẠC sĩ) nghiên cứu ứng dụng mạng nơron trong nhận dạng chữ hán nôm (Trang 34)

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

(68 trang)