Forward Propagation
Lan truyền thuận
Dữ liệu đi như tin nhắn qua các trạm
Hãy tưởng tượng bạn gửi một tin nhắn từ Sài Gòn ra Hà Nội. Tin nhắn không bay thẳng. Nó đi qua nhiều trạm: trạm đầu mã hoá, trạm giữa chuyển tiếp, trạm cuối giải mã và đưa tới người nhận. Mỗi trạm xử lý một chút rồi chuyển cho trạm sau.
Quá trình này được gọi là forward propagation (lan truyền thuận). Dữ liệu đầu vào đi qua từng lớp, mỗi lớp biến đổi một chút rồi chuyển cho lớp sau, cho đến khi lớp cuối cùng đưa ra dự đoán.
Nhận đầu vào thô (ví dụ các đặc trưng của con vật: tai, lông, đuôi).
Các lớp ẩn pha trộn đặc trưng và thêm tính phi tuyến, nhờ vậy mạng học được khái niệm phức tạp.
Đưa ra dự đoán, thường là vector xác suất cho các lớp có thể xảy ra.
Tại MỖI lớp trạm, lớp đó phải làm phép tính gì với đầu ra của lớp ngay trước để cho ra đầu vào cho lớp sau?
Hình minh họa
Mạng 3 lớp phân loại Mèo / Chó / Chim
Kéo ba thanh trượt để thay đổi đặc trưng đầu vào. Nhấn Phát để xem dữ liệu lan qua từng lớp, hoặc Bước để đi từng nhịp.
Đặc trưng đầu vào
x = [0.80, 0.60, 0.30]Chưa có dữ liệu. Nhấn Phát để bắt đầu.
Mở từng lớp trong một vòng forward propagation
Dưới đây là năm khoảnh khắc bên trong mạng cho đầu vào x = [0.80, 0.60, 0.30]. Nhấn Tiếp tục để lần lượt mở từng lớp. Hãy chú ý xem ai đang nói chuyện với ai.
Đầu vào: vector ba đặc trưng
Tai
0.80
Lông
0.60
Đuôi
0.30
Đây là tin nhắn gốc mà mạng nhận được. Không có phép tính nào diễn ra ở lớp này. Nó chỉ truyền nguyên x cho lớp sau.
Bạn được cho một lớp ẩn nhỏ với hai đầu vào và hai nơ-ron. Thử tính nhẩm rồi chọn đáp án.
Đầu vào: x = [2, 3]. Trọng số W = [[1, -1], [2, 0]], bias b = [0, 1].
Lớp ẩn dùng hàm kích hoạt ReLU.
Nhắc: z = W·x + b, a = ReLU(z). Với dữ liệu ở đây, z[1] = 1·2 + 2·3 + 0 = 8; z[2] = (-1)·2 + 0·3 + 1 = -1.
Đầu ra a của lớp ẩn là gì?
Nếu bạn đổi bias của nơ-ron thứ hai từ 1 thành 5 (các số khác giữ nguyên), đầu ra mới là gì?
Dữ liệu đi một chiều, mỗi trạm biến đổi một chút. Dù mạng có ba lớp hay ba trăm lớp, công thức vẫn đúng. Chỉ là lặp nhiều hơn.
Giải thích
Lan truyền thuận (forward propagation) là quá trình đưa dữ liệu đi qua mạng nơ-ron từ đầu vào tới đầu ra. Ở mỗi lớp, ta lặp đúng hai bước: biến đổi tuyến tính rồi áp dụng hàm kích hoạt.
Công thức một lớp (dạng ma trận)
Cả vòng lan truyền viết gọn
Ở lớp cuối: softmax cho phân loại
Từ logits tới xác suất, ảnh chụp cho đầu vào hiện tại
Bên trái: logits z (có thể âm). Bên phải: sau softmax, phân phối xác suất với cột cao nhất chính là dự đoán.
- Dữ liệu đi MỘT CHIỀU: đầu vào → lớp ẩn → lớp ra. Không bao giờ quay lại.
- Mỗi lớp lặp đúng hai phép tính: z = W·a + b, rồi a = f(z).
- Hàm kích hoạt (ReLU, sigmoid, tanh) cung cấp tính phi tuyến. Bỏ nó đi, mạng sụp về một đường thẳng.
- Với phân loại, lớp cuối thường dùng softmax để biến logits thành xác suất cộng = 1.
- W và b cố định trong forward propagation. Chúng chỉ đổi khi huấn luyện, qua backpropagation.
Kiểm tra hiểu biết
Lan truyền thuận đi theo chiều nào trong mạng nơ-ron?