Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 113 - Sau khi nén tổng trọng hoá thành giá trị cụ thể, đến lượt mình, mỗi nút ẩn sẽ gửi kết quả đến tất cả các nút xuất. Và mỗi nút xuất thực hiện các thao tác tương tự như đã thực hiện trong nút ẩn để cho giá trị kết xuất của nút xuất. Giá trị của các nút xuất chính là giá trị thực, nghĩa là giá trị của các biến phụ thuộc cần xác định. Như v ậy, bản chất của quá trình ánh xạ là xác định các đầu ra từ các đầu vào tuỳ thuộc vào giá trị của các trọng số trong mạng. PL.2.4.2 Quá trình học Trong trạng thái học (còn đựơc gọi là luyện mạng), thông tin được lan truyền theo 2 chiều nhiều lần để học các trọng số. Cụ thể: Quá trình luyện mạng đựơc bắt đầu bằng mạng với các trọng số tuỳ ý và tiến hành lặp đi lặp lại 2 việc: ánh xạ và lan truyền ngược sai số. Mỗi lần lặp được gọi là một thế hệ. Trong mỗi thế hệ, mang hiệu chỉnh các trọng số sao cho sai số giảm dần (sai số là độ lệch giữa các kết xuất thực và các kết xuất đích đã có sẵn trong tập mẫu). Tiến trình điều chỉnh nhiều lần giúp cho trọng dần dần đạt được tập hợp các giá trị tối ưu. Thường mạng cần thực hiện nhiều thế hệ trước khi việc luyệ n mạng hoàn tất. Để cập nhật trọng trong mỗi thế hệ, mạng phải xử lý tất cả các mẫu trong tập mẫu. Đối với từng mẫu, mạng thực hiện như sau: Trước tiên, mạng thực hiện quá trình lan truyền tiến, nghĩa là mạng ánh xạ các biến nhập của mẫu hiện hành thành các giá trị xuất bằng cách sử dụng các trọng hiện hành. Ở nhữ ng thế hệ đầu, các kết xuất thường chưa chính xác vì trọng ban đầu do ta chọn ngẫu nhiên, chưa có gì là đúng. Kế tiếp, sai số được tính dựa trên giá trị của kết xuất và giá trị đích lấy từ tập mẫu. Trên cơ sở sai số tính đuợc, mạng sẽ cập nhật lại các trọng số theo nguyên tắc lan truyền ngược sai số (gọi là giai đoạn lan truyền ngược, chi tiết sẽ được nói rõ ở phần sau). Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 114 - Như vậy, để học mỗi mẫu, mạng thi hành 2 bước: lan truyền tiến – thực hiện ánh xạ và lan truyền ngược sai số - cập nhật các trọng. Quá trình học được diễn tả qua đoạn mã giả như sau: Lặp { Duyêt qua toàn bộ tập mẫu, với một mẫu: { Lan truyền tiến Tính sai số và lan truyền ngược sai số } Cập nhật lại trọng số của m ạng nơron } Ta thấy ở đây chương trình có một vòng lặp vô tận. Do đó trong thực tế ta phải thêm vào điều kiện dừng. Giải thích về đoạn mã giả trên như sau: Tại mỗi bước lặp, chương trình duyệt qua tất cả các mẫu. Với mỗi mẫu, ta thực hiện giai đoạn lan truyền tiến, nghĩa là xác định giá trị xuất dựa trên các trọng s ố hiện có của mạng. Sau đó thực hiện tính sai số để từ đó xác định luợng thay đổi trong mỗi trọng dựa trên mẫu này và tích luỹ toàn bộ thay đổi cần thiết của mạng. Sau khi xử lý qua tất cả các mẫu, ta cập nhật lại trọng số dựa trên các thay đổi đã tích luỹ được. Một lần lặp mới lại được bắt đầu. Trong quá trình học, ta cũ ng có thể cho cập nhật các trọng khi xử lý từng mẫu thay vì cập nhật trọng số sau khi đã xử lý tất cả các mẫu. PL.2.4.3 Lan truyền ngược sai số Để thực hiện việc học, ta phải tìm các trọng số của mạng sao cho lời giải của mạng khớp nhất với bộ dữ liệu chứa các mẫu sẵn có. Ban đầu, các trọng số này thường cho lời giải rất sai khác so với kết quả trong bộ dữ liệu mẫu. Nhưng từ sai số này, các trọng số sẽ được cập nhật lại, để càng về sau, sai s ố sẽ càng nhỏ đi. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 115 - Quá trình xác định lượng cần thay đổi cho các trọng số từ các sai số là một quá trình khá phức tạp (do đó ở đây, chúng tôi chỉ tóm tắt lại sơ khởi qui tắc thực hiện). Qui tắc này sử dụng các thông tin đạo hàm hàm lỗi để cập nhật lại trọng số sao cho lỗi giảm theo hướng dốc nhất. Đây là một trong những quy tắc nguyên thuỷ nhất của lan truyền ngược. C ụ thể, khi hoàn thành một bước lặp qua toàn bộ tập mẫu, tất cả các trọng số của mạng sẽ được cập nhật lại dựa vào các thông tin đạo hàm riêng theo từng trọng số tích luỹ được. Các trọng số sẽ được cập nhật theo hướng mà hàm lỗi dốc xuống nhất. Để dễ hiểu hơn, ta hãy tưởng tượng hàm lỗi như một mặt lồi lõm trong không gian (gọ i tắt là mặt lỗi) dựa trên các trọng số. Tại vị trí thấp nhất trong mặt lỗi, thì giá trị của các trọng số là tốt nhất. Do đó, dựa vào độ dốc tại một điểm trên mặt lỗi, ta sẽ xác định được hướng điều chỉnh các trọng số để lỗi là nhỏ nhất. Độ dốc này khi phân tích ra theo từng trọng số thì chính là đạo hàm của hàm lỗ i theo trọng số đó. Vậy nên, ta có thể xác định được khoảng thay đổi cần thiết để hàm lỗi là nhỏ nhất ứng với từng mẫu. Chi tiết về việc tính đạo hàm có thể được tham khảo thêm trong các tài liệu về mạng Nơron, cụ thể là quyển Mạng Nơron – Phương pháp & Ứng dụng của Tiến sĩ Nguyễn Đình Thúc). PL.2.5 Hàm truyền Trong phần trước, chúng ta đã bàn về hàm truyền. Vậy hàm truyền là gì? Một hàm s(u) được gọi là hàm truyền dạng S nếu nó thoả: - s(u) là hàm bị chặn: nghĩa là các giá trị của s(u) không bao giờ đuợc vượt quá chặn trên cũng như thấp hơn chăn dưới, bất chấp giá trị của u. - s(u) là hàm đơn điệu tăng: giá trị của s(u) luôn tăng khi giá trị của u tăng, nghĩa là nó phả i tăng đều đặn. Do tính chất thứ nhất, s(u) bị chặn, ta thấy khi u tăng, s(u) cũng lớn dần nhưng không bao giờ vượt quá cận trên, vì Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 116 - thế mà nó tiệm cận giới hạn là chặn trên. Và khi u nhỏ dần, s(u) tiệm cận giới hạn là chặn dưới của hàm. - s(u) là hàm liên tục và trơn: vì hàm s(u) liên tục nên nó không có khe và góc cạnh, nghĩa là hàm có đạo hàm và độ dốc rõ ràng tại từng điểm phân biệt. Tuy nhiên trong thực tế mạng nơron, hàm logistic g(u) là hàm truyền thường được sử dụng. Hàm logistic là hàm truyền có chặn trên là 1, chặn dưới là 0. Khi u = 0 thì hàm có giá trị là 0,5. PL.2.6 Khởi tạo trọng Luyện mạng là một tiến trình lặp qua nhiều bước học. Trong mỗi bước, mạng thi hành ánh xạ với các mẫu trong tập mẫu, tính toán sai số và cập nhật lại các trọng số dựa vào sai số vừa tính. Như vậy, trọng số sẽ được cập nhật sao cho mạng thi hành ngày một tốt hơn. Vấn đề đặt ra là ban đầu, để mạng có thể thi hành ánh xạ ở bước học đầu tiên thì các trọng số cần được khởi tạo như thế nào. Do ta không biết kết xuất, nên để kết xuất ở giá trị giữa là hợp lý nhất, tức giá trị 0,5. Chọn giá trị ở giữa sẽ cực tiểu hóa hàm sai số, bất kỳ giá trị nào khác cũng sẽ sinh ra sai số lớn hơn. Muốn vậy, ta khởi tạo: Các trọng số nút ẩn giá trị ngẫu nhiên, nhỏ, phân b ố đều quanh 0. Phân nửa trọng số của các nút xuất giá trị 1 và nửa kia với giá trị -1. PL.2.7 Vấn đề quá khớp Khi sử dụng mạng, ta muốn mạng dự đoán càng chính xác càng tốt. Tuy nhiên, khi ta cho mạng luyện quá nhiều, thì mạng sẽ chỉ trả lời chính xác những gì nó được học, còn những gì không được học nó sẽ không quan tâm. Nghĩa là mạng không có khả năng tổng quát hóa. Vấn đề này được gọi là quá khớp. Để giải quyết vấn đề này, ta có 2 cách tiếp cận: Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 117 - Cách 1: tăng kích thước mẫu luyện cang lớn càng tốt, miễn máy tính vẫn còn khả năng quản lý được. Cách 2: giới hạn số bước luyện. Phần mềm thiết kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 118 - TÀI LIỆU THAM KHẢO [1]. Nguyễn Đình Thúc, Mạng Nơron – Phương Pháp & Ứng Dụng, Nhà Xuất Bản Giáo Dục, TP. Hồ Chí Minh [2]. Hoàng Kiếm (chủ biên) – Dương Anh Đức – Lê Đình Duy – Vũ Hải Quân, Cơ Sở Đồ Họa Máy Tính, tái bản lần thứ 3, Nhà Xuất Bản Giáo Dục, TP. Hồ Chí Minh [3]. Bryan S. Morse, Lecture 15: Segmentation (Edge Based, Hough Transform), Brigham Young University, 1998–2000 [4]. Charles Petzold, Programming Windows With C#, Microsoft Press, Redmond, Washington [5]. Nguyễn Phương Lan (chủ biên) – Hoàng Đức Hải, XML – Nền Tảng & Ứng Dụng, Nhà Xuấ t Bản Giáo Dục, TP. Hồ Chí Minh [6]. Phương Lan, Lập Trình Windows Với C#.NET, in lần thứ nhất, Nhà Xuất Bản Lao Động – Xã Hội, TP. Hồ Chí Minh [7]. Nguyễn Tiến – Ngô Quốc Việt – Lê Tiến Sơn – Đăng Xuân Hường, Kỹ Thuật & Ứng Dụng UML Với Rational Rose 2002, Nhà Xuất Bản Thống Kê [8]. The Source Forge, www.sourceforge.net [9]. The Code Project, www.codeproject.com [10]. The Expert Exchange, www.expert-exchange.com HẾT . ở phần sau). Phần mềm thi t kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 114 - Như vậy, để học mỗi mẫu, mạng thi hành 2 bước: lan truyền tiến – thực hiện ánh xạ và. Phần mềm thi t kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 116 - thế mà nó tiệm cận giới hạn là chặn trên. Và khi u nhỏ dần, s(u) tiệm cận giới hạn là chặn dưới của hàm. - s(u). Phần mềm thi t kế và chấm điểm tự động biểu mẫu thi trắc nghiệm - 113 - Sau khi nén tổng trọng hoá thành giá trị cụ thể, đến lượt mình, mỗi nút ẩn sẽ gửi kết quả đến tất cả