• Học bằng cách lặp lại việc xử lý một tập các đối tượng huấn luyện, so sánh dự đoán mạng của mỗi đối tượng với nhãn lớp đã biết của nó (sai số)
• Các trọng số được chỉnh sửa để làm cực tiểu sai số
trung bình bình phương. Việc chỉnh sửa được thực hiện theo chiều “đi lùi”: từ tầng đầu ra, xuyên qua mỗi tầng ẩn xuống tầng đầu tiên
• Đầu vào: Các đối tượng huấn luyện, tốc độ học l, một mạng truyền thẳng nhiều tầng
• Đầu ra: Mạng nơron được huấn luyện để phân lớp các đối tượng
40
Thuật toán lan truyền ngược
• Khởi tạo các trọng số
– Là các số phát sinh ngẫu nhiên nhỏ (từ -1.0 đến 1.0 hoặc –0.5 đến 0.5) – Mỗi đơn vị j liên kết với một bias θj
• Lan truyền các đầu vào về phía trước
– Tính đầu vào và đầu ra của mỗi đơn vị ẩn và đơn vị đầu ra – Đầu vào được tính theo công thức: Ij = Σi wij Oi + θj
– Ví dụ đầu ra có thể được tính bởi hàm sigmoid Oj = 1/(1+e-Ij)
• Lan truyền ngược sai số
– Sai số được tính toán và được lan truyền ngược lại bằng cách cập nhật các trọng số (wij = wij + Δwij) và bias (θj = θj + Δθj) để phản hồi sai số dự đoán của mạng
• Điều kiện kết thúc
– Tất cả Δwij ở lần trước là đủ nhỏ
– Tỉ lệ các đối tượng bị phân lớp nhầm ở lần trước thấp hơn một ngưỡng nào đó
41
42
Thuật toán lan truyền ngược
Khởi tạo các trọng số và các bias trong mạng While điều kiện dừng chưa được thoả mãn {
for mỗi đối tượng huấn luyện X { /* lan truyền thẳng đầu vào */ for mỗi đơn vị tầng ẩn hoặc tầng đầu ra j {