D o m ô hình m ạ n g bốn lóp đượ c cải tiến từ m ột m ạ n g ba lớp truyền th ẳ n g n ê n về cơ bản, ở đây sử dụng thuật toán lan truyền n g ư ợ c sai số đã trình bày ở phần 1.3.3 để huấn luyện mạng. T u y nhiên, để áp dụng được với cấu trúc m ạn g bốn lớp c h ú n g tôi
Nguyễn Thị Thanh Tân Trang - 37 - Luận văn thạc sĩ
đã CÓ m ột SÔ thay đôi (điêu này sẽ được đề cập cụ thể ở phần sau). Đe tiện cho việc trình bảy, phân sau đây sẽ nhắc lại nh ững kí hiệu đ ã được sử dụng trong mạng:
■ e rr_ m a x: Sai số tối đa cho phép của mạng. ■ I: T ổ n g số lần lặp tối đa cho phép.
■ p: Số đầu vào của m ạng (tổng số phần tử của lớp đầu vào).
■ w ‘ (i = 1 —>4): Lần lượt là các m a trận trọn g số liên kết giữa m ặt p h ẳ n g P / (lớp
F ) với mặt phẳng đầu vào, giữa mặt p h ẳ n g p 2 (lớp H ì) với mặt p h ẳ n g P /, mặt p h ă n g p 3 (lớp H 2) với mặt phăng p 2, m ặt p h ă n g p 4 (lớp o) với m ặt p h ă n g p 3. • b' (i = l-> 4 ) : Là độ lệch của các nơron trên các lớp F, H i, H 2 và o .
• a ' (i = 1 —>4): L ầ n ỉượt là các hệ số học trên các lớp F, H ị, H2 và o .
■ / ( i = l - * 4 ) : Lần lượt là các hàm chuyển trên các lớp F, H ], H 2 v ầ O .
■ r í (i = 1 —>4): Lần lượt là tổng số phần tử của các lớp input, F, H i, H 2, o.
■ v' (i = 1 —>4): Lần lượt là các vector tổng trên các lớp F, H ì, H 2 và o .
■ y (i = l- » 4 ) : Lần lượt là các vector giá trị đầu ra của các lớp F, H ị, H 2 và o . Với i = 4, ta có: y ‘j - Oj (j = l-><30, với q là số đầu ra của m ạng.
D o cấu trúc đặc biệt của lớp F - mỗi nơron trên m ặt p h ẳ n g P] kh ông liên kết v ớ i tất cả các n ơ ro n trên m ặt phẳng đầu vào m à chỉ được liên kết với các nơron nằm trên m ột v ù n g đặc trưng nên tổng giá trị giá trị kích- hoạt lên n ơ ro n thứ i của lớp F ( V,1 ) sẽ được tính theo cô ng thức sau:
trong đó: n là số phần tử của vùng đặc trư ng được liên kết với nơron /, X j là giá trị của p h ầ n tử thứ j trên v ù n g đặc trưng, W ịj là trọ n g số liên kết giữa nơron i với p h ầ n tử th ứ j c ủ a v ù n g đặc trưng nằm trên m ặt p h ẳ n g đầu v à o đư ợ c liên kết với nó, b) là độ lệch c ủ a nơron i trên lớp F.
n
(2.1)
Ng u y e n Thị Thanh Tân Trang - 38 - Luận văn thạc sĩ
Đ ầu ra cùa nơron i trên lớp F ( y \ ) như sau:
y) = / ' O ' ) = purelinịy]) = v'
v á / > , ' ) = f l = l
õv,
T h u ậ t toán huấn luyện m ạng được m ô tả m ột cách cụ thể n h ư sau
IN P U T : T ậ p m ẫ u học đ ư ợ c cung cấp dưới d ạ ng {(x = Xi,..., Xp), (t = ti,...,tq)} OUTPUT: Các ma trận trọng số vv1, w2, w3, w4 và các tham số của mạng. PROCHSS:
B ư ó c 1: Khỏi tạo:
Khởi tạo các tham số mạng e rrjn a x , b1, a', I, ... Khởi tạo các giá trị một cách ngẫu nhiên cho các ma trận trọng sổ w2, w3, w4.
Thiết lập các giá trị ban đầu cho các phần tử của ma trận W1. Giá trị của mỗi phần tử sẽ phụ thuộc vào vùng đặc trưng được liên kết với phần từ đó.
Bưó'C 2 : Đưa m ẫu huấn luyện vào m ạng (th iế t lập các đầu vào và giá trị m ục tiêu).
B u ó c 3:
3 . 1) Tính giá trị đầu ra của các nơron trên lớp F theo các công thức (2.1 ) và (2.2) 3.2) Tính giá trị các đầu ra của các lớp H I, H2, 0 theo các công thức (1.6),(1.7) và
(1.20), với m = 2, 3, 4. B ư ớ c 4:
4.1) Tính sai số của lớp 0 theo công thức (1.27), (1.19) và (1.21), với m =4
4.2) Nếu sai số tính được > sai số hiện thời của mạng thì cập nhật lại sai số hiện thời của mạng.
4.3) Áp dụng phương pháp lan truyền ngược sai số để tính lần lượt sai số của các lớp H2 và Hi theo các công thức (1.19) và (1.27), với m =2, 3.
4 .4 ) Ád dụng phương pháp lan truyền ngược sai số để tín h lần lượt sai số của các
lớp H2 và Hi theo các công thức (1.19) và (2.3). với m = 1.
B irớc 5: Cập nhật lại giá trị của các ma trận trọng số w' và độ lệch ỏ' (i = 1 —>4) của các lóp F, H\, H-ỵ và o theo công thức (1.12)
B ư ớ c 6: Lặp lại các bước 3, 4, 5 đối với các mẫu huấn luyện mới cho đến khi các tham số tự do của mạng ổn định và sai số mạng < err_max hoặc số lần lặp > I.
Bu'ô’c 7: r e tu r n kết quả, nếu quá trình huấn luyện thành công thì trả về các ma trận trọng số vv' (i=l —>4), trường họp ngược lại thì trả về thông báo lỗi.
Thuật toán 2-1: Thuật toán huấn luyện mạng bốn lóp cải tiến
(2.2) (2.3)
Nguyễn Thị Thanh Tân Trang - 39 - Luận văn thạc sĩ
Các dữ liệu thu được trong quá trình huân luyện m ạng sẽ được lưu ra file cấu trúc để sử d ụ n g cho quá trình nhận dạng.
Thu ật toán nhận dạng của m ạng được thể hiện như sau:
INPUT:
Các hệ số học và các hệ số độ lệch trên mỗi lớp: ot, b' (i = 1 -»4). Các ma trận trọng so: w (i = 1—>4).
Ảnh mẫu cùa kí tự cần nhận dạng được đưa vào mạng dưới dạng vector p chiều, với p là kích thước của ảnh.
O U T P U T : V e c to r giá trị đầu ra 0 = (0|, Ỡ2,...,0q), với q là sổ đầu ra của m ạng
PROCESS:
Bưó'c 4: Tính giá trị các đầu ra của lớp F theo các công thức (2.1) và (2.2):
Bưó'c 5: Tính giá trị các đầu ra của các lớp HI, H i, o theo các công thức (1.6), (1.7) và (1.20), với m = 2, 3, 4.
B ư ớ c 6: for j = 1 to q do Ợj = y J , với y;4 là đ ầu ra th ứ j c ủ a lớp cu ố i cùng.
B u ó c 7: return vector 0.
Thuật toán 2-2: Thuật toán nhận dạng dựa trên mạng bốn lóp
Kết q uả nhận dạng của thuật toán sẽ được lưu dưới dạng m ột vector q chiều, tron g đó q là số đầu ra của mạng. Giá trị của v e cto r này sẽ rơi vào m ột trong ba trư ờ n g hợp sau:
■ T r ư ờ n g h ợ p t h ứ n h ấ t, tồn tại duy nhất một đầu ra có giá trị lớn, các đâu ra còn lại b ằ n g 0 hoặc có giá trị k hông đáng kể. Kí tự nhận dạng được sẽ tư ơ n g ứn g với đầu ra lớn nhất. Đ ây là trường hợp m ạng nhận dạng được chính xác kí tự tư ơ n g ứ n g với ảnh đầu vào.
■ T r ư ờ n g h ợ p t h ứ hai, có hai đầu ra có giá trị xấp xỉ bằng nhau. T rư ờ n g hợp này xảy ra là do kí tự cần nhận dạng được viết m ột cách nhập n hàng (vừa g iố ng kí tự a lại v ừ a giống kí b) và m ạng khô ng thể phân biệt được đó là kí tự a hay b.
C h ẳ n g hạn các trư ờng hợp nhập n hằng giữa chữ ‘n ’ và chữ ‘u ’, chữ ‘e ’ và c h ữ ‘c \ c h ữ ‘g ’ và sổ ‘9 ’, chữ ‘o ’ v à sổ ‘0 ’,v.v. Giải pháp cho vấn đề này là ta sẽ
Ng u y ễn Thị Thanh Tân Trang - 40 - Luận văn thạc sĩ
lựa chọn cả hai kí tự, sau đó sẽ khử nhập n h ằng ở phần nhận dạng từ dựa trên quá trình th ố ng kê.
■ T r ư ò n g h ọ p t h ứ ba, tât cả các đâu ra đều có giá trị nhỏ. T rư ờ n g hợp này xảy ra là do kí tự cần nhận dạn g không phải là m ột kí tự bình thườ ng nói cách khác là m ạ n g k h ô n g thể nhận dạng được đó là kí tự nào, trường hợp này xảy ra là do kí tự đ ư ợ c cắt ra k h ông đ ú n g (các kí tự này được thể hiện bằng dấu ‘# ’ ở trên các ví dụ Hình 2.6). K hi đó m ạn g sẽ trả lại giá trị F A L S E để thông báo cho bộ nhận dạng từ biết là k hông nhận dạng được kí tự này.
Q uá trình x ử lý tiếp th eo của bộ nhận dạng từ sẽ được đề cập chi tiết ở ph ần 2.3.