3.4.4.1 Phương pháp huấn luyện của mạng nơron
Các phương pháp huấn luyện, hay còn gọi là các phương pháp học của mạng là quá trình điều chỉnh trọng số liên kết và độ lệch của mạng để huấn luyện mạng thực hiện một số nhiệm vụ đặc biệt. Một mạng nơron được huấn luyện sao cho với một tập các vectơ đầu vào p, mạng có khả năng tạo ra các vectơ đầu ra a theo mong muốn. Tập p=[p1 p2 p3 … pR]T được sử dụng cho huấn luyện mạng được gọi là tập mẫu huấn luyện, các phần tử pip
được gọi là các mẫu huấn luyện. Có ba phương pháp học phổ biến là: học có giám sát, học không giám sát và học củng cố, trong đó học có giám sát được dùng nhiều hơn cả.
Học có giám sát: Là quá trình học trong đó có cho sẵn giá trị đầu ra t là hàm mục tiêu cần đạt được. Với đầu vào p, qua quá trình xử lý của mạng ta thu được các giá trị đầu ra a, các giá trị đầu ra này được so sánh với hàm mục tiêu. Luật học được sử dụng để điều chỉnh trọng số liên kết wk,j và độ lệch b để đầu ra của mạng có sai khác với mục tiêu là bé nhất. Có nhiều luật học khác nhau, tuy nhiên trong phạm vi luận án này chỉ sử dụng luật học của Perceptron.
Các bước học có giám sát:
- Xây dựng cấu trúc thích hợp cho mạng nơron, các trọng số liên kết của mạng. - Đưa mẫu huấn luyện vào mạng, lấy kết quả đầu ra của mạng.
- So sánh đầu ra của mạng với đầu ra mong muốn.
- Hiệu chỉnh các trọng số liên kết sao cho khi đưa mẫu vào mạng, ta sẽ thu được đầu ra gần với đầu ra mong muốn hơn.
- Lặp lại các bước trước cho tới khi mạng đạt tới trạng thái hội tụ.
a) b)
Lớp nơron đầu ra Lớp nơron ẩn
Lớp nơron đầu ra Đầu
vào
85
Học có giám sát thường sử thuật toán lan truyền ngược (Backpropagation- BP) để điều chỉnh các trọng số liên kết.
3.7.4.2 Thuật toán lan truyền ngược
Thuật toán lan truyền ngược được hình thành bằng cách khái quát các nguyên tắc học của mạng nơron nhiều lớp và hàm truyền vi phân phi tuyến. Nguyên lý của thuật toán này là việc lan truyền ngược sai số từ lớp đầu ra trở lại các lớp ẩn và đến các đầu vào mạng, từ đó hiệu chỉnh các trọng số liên kết và các giá trị độ lệch để làm cho sai số là nhỏ nhất. Việc huấn luyện mạng gồm hai pha ngược chiều nhau: quá trình truyền thẳng (lan truyền xuôi) từ các đầu vào đến đầu ra, và quá trình lan truyền ngược từ các đầu ra về các đầu vào. Qua thuật toán, các vectơ đầu vào và các vectơ mục tiêu tương ứng được sử dụng để huấn luyện mạng cho đến khi mạng đạt được đầu ra xấp xỉ với đầu ra mong muốn hoặc phân loại các đầu vào theo các nhóm đã định. Thuật toán lan truyền ngược gồm các bước sau [76] với pi,
ti là đầu vào của mạng và mục tiêu tương ứng:
Bước 1: Khởi tạo các giá trị, đưa giá trị dữ liệu đầu vào vào mạng, tính các giá trị đầu ra ai.
Bước 2: Tính sai số ở lớp ra, kiểm tra xem sai số đó có nhỏ hơn giá trị cho phép không, đồng thời kiểm tra ai có trùng với giá trị mục tiêu ti hay không, đúng thực hiện bước 6, tăng số mẫu nhận dạng đúng thêm 1.
Bước 3: Tính toán sai số cho các lớp ẩn, bằng cách lan truyền ngược sai số từ lớp đầu ra cho đến các lớp đầu tiên.
Bước 4: Tính toán lại các trọng số liên kết từ lớp đầu vào đến lớp đầu ra.
Bước 5: Cộng thêm giá trị sai số của mẫu pi vào giá trị tổng sai số, tăng số mẫu chưa nhận dạng đúng thêm 1.
Bước 6: Kiểm tra đã học hết mẫu chưa, nếu sai về lại bước 1.
Bước 7: Kiểm tra số mẫu nhận dạng đúng có bằng số mẫu không, nếu sai về lại bước 1 bắt đầu học lần tiếp theo.
Thuật toán dừng khi đã hết số lần học hoặc tỉ lệ sai số của các mẫu chưa nhận dạng đúng nhỏ hơn một ngưỡng cho phép. Trong quá trình truyền thẳng, các tham số của mạng (trọng số liên kết, độ lệch) là cố định, ngược lại trong quá trình lan truyền ngược các tham số này được hiệu chỉnh và cập nhật để mạng có thể nhận dạng các mẫu đã được học một cách chính xác.