Perceptron
Perceptron: viên gạch đầu tiên của mạng nơ-ron
Bạn là người phỏng vấn và đưa ra yêu cầu rằng ứng viên cần có 5 năm kinh nghiệm (x₁) và có bằng đại học (x₂). Ứng viên mới đến có 5 năm kinh nghiệm (x₁ = 1) nhưng không có bằng đại học (x₂ = 0). Bạn đã đặt ra 'quy tắc ngầm': kinh nghiệm quan trọng gấp 3 lần bằng cấp. Nên nhận hay không?
Một cử tri chỉ biết nói “có” hoặc “không”
Nhớ lại ứng viên vừa xong: 5 năm kinh nghiệm, không có bằng. Bạn nhân 3·1 cho kinh nghiệm, cộng 1·0 cho bằng cấp, trừ đi bias 2. Kết quả ra 1, lớn hơn 0, nên bạn nhận. Thao tác đó gọi là tổng có trọng số (weighted sum): mỗi đầu vào xᵢ được nhân với trọng số wᵢ thể hiện mức độ quan trọng của nó, rồi cộng tất cả lại, cộng thêm bias (một hằng số điều chỉnh ngưỡngmà perceptron mới chịu nói “có”). Nhờ vậy, thay đổi trọng số là thay đổi ưu tiên; thay đổi bias là thay đổi độ “khó tính” của nơ-ron.
Dữ liệu quan sát được: kinh nghiệm, bằng cấp, chiều cao, điểm thi... thường là số.
Mức độ quan trọng của từng đầu vào, và “ngưỡng cá tính” của nơ-ron. Đây là phần nơ-ron học.
Một con số duy nhất: 0 hoặc 1. Không có “có lẽ”, không có xác suất, chỉ “có” hoặc “không”.
Chỉ một phép cộng và một ngưỡng, vậy mà đủ để phân loại. Đây chính là lý do perceptron là viên gạch đầu tiên của mọi mạng nơ-ron hiện đại. Mạng phức tạp đến mấy, cuối cùng vẫn là hàng triệu phép tính như thế xếp chồng lên nhau.
Hình minh họa
Kéo ba thanh trượt dưới đây. w₁ và w₂ là trọng số của hai đầu vào, b là bias (độ lệch). Đường đứt tím chính là quyết định của perceptron. Nhấn vào biểu đồ để thêm điểm mới theo nhãn đang chọn.
Kéo thêm các thanh để xoay hoặc dịch đường tím.
- w₁ lớn: đầu vào x càng quan trọng.
- w₁, w₂ đổi dấu: đường quay 90°.
- b: dịch đường song song lên/xuống.
Đây là cùng một perceptron, nhưng biểu diễn dưới dạng sơ đồ mạch. Chỉnh x₁, x₂, w₁, w₂, b và theo dõi giá trị tổng Σ cùng với đầu ra cuối cùng.
Đầu vào
Trọng số & bias
Phép tính: (1 × 0.60) + (0 × 0.40) + (-0.50) = 0.10
> 0 ⟶ đầu ra = 1 (CÓ)
Perceptron có thể học ba cổng logic cơ bản? Bấm vào từng cổng dưới đây. Hai cổng đầu chỉ cần một đường thẳng. Cổng thứ ba là nơi mọi chuyện vỡ kế hoạch.
Cổng AND trả ra 1 khi nào?
- Chỉ khi cả hai đầu vào cùng bằng 1.
- Một đường thẳng chia góc phải trên ra khỏi ba góc còn lại. Perceptron làm được.
Một bộ trọng số giải được: w₁ = 1, w₂ = 1, b = -1.5
Mạng sâu chỉ đang xếp chồng hàng triệu phép tính đơn giản ấy lên nhau. Hiểu một perceptron là hiểu viên gạch cơ bản của cả kiến trúc.
Perceptron tự chỉnh trọng số thế nào?
Luật học perceptron chỉ làm đúng một việc: mỗi điểm bị đoán sai thì trọng số được đẩy một chút theo hướng sửa điểm ấy. Xem bốn ảnh dưới đây. Đường tím dịch dần cho tới khi chia đúng toàn bộ.
Khởi tạo ngẫu nhiên. Cả ba điểm đỏ đang bị đoán thành 0. Đường chưa chia được gì.
Vì sao một perceptron KHÔNG thể giải được bài toán XOR? (chọn câu trả lời đúng và sát nhất)
Bạn muốn một perceptron quyết định 'mở cửa hàng hôm nay' dựa trên x₁ (trời nắng) và x₂ (cuối tuần). Cả hai đều phải đúng mới mở. Cổng logic nào mô tả điều này?
Giải thích
Năm 1958, Frank Rosenblatt tại Cornell nối một bộ điện trở chỉnh bằng tay vào một mảng quang điện tử rồi chiếu hình lên đó. Chiếc máy ấy (Mark I Perceptron) nhìn hình, đoán nhãn, nhận phản hồi đúng/sai, rồi tự điều chỉnh các điện trở để lần sau đoán tốt hơn. Không ai gõ “nếu sáng thì nhãn A” vào mã nguồn. Máy tự họcquy tắc từ dữ liệu. Dưới đây là hai công thức cốt lõi đằng sau cơ chế đó. Mỗi công thức kèm lời giải thích và một hình minh hoạ để bạn “thấy” nó hoạt động.
1. Tổng có trọng số (weighted sum)
Đọc: nhân từng đầu vào với trọng số của nó, cộng tất cả lại, rồi cộng thêm bias. Trọng số wᵢ cao tức là đầu vào xᵢ quan trọng. Bias b giống như “ngưỡng cá tính” của nơ-ron: b âm lớn nghĩa là nơ-ron “khó tính”, phải cộng được nhiều mới qua được 0.
Hình dung bằng SVG
2. Hàm bước (step function)
Đọc: nếu tổng lớn hơn 0, nơ-ron bật (xuất 1); ngược lại, nơ-ron tắt (xuất 0). Đây là bước “quyết định” biến một phép cộng liên tục thành một câu trả lời nhị phân. Các mạng hiện đại thay hàm bước bằng hàm kích hoạttrơn hơn như sigmoid, ReLU. Tuy nhiên, ý tưởng “bật/tắt dựa trên tổng” vẫn giữ nguyên.
Đồ thị hàm bước
Một cầu thang bằng: bên trái 0 tất cả là 0, bên phải 0 tất cả là 1. Chính vì góc nhọn tại z = 0 mà hàm bước không thể dùng cho mạng sâu, không có đạo hàm để học ngược.
wᵢ ← wᵢ + η · (target − output) · xᵢ. Sai lệch target − output = 0 khi đoán đúng (không đổi), +1 hoặc −1 khi sai. Nhân với xᵢ giúp đẩy trọng số theo đúng hướng. Rosenblatt chứng minh: nếu dữ liệu phân tách tuyến tính, luật này luôn hội tụ sau số bước hữu hạn.Bốn điểm kết nối: perceptron đi đâu từ đây?
- Xếp nhiều perceptron thành từng lớp tức là MLP (Multi-Layer Perceptron). Mỗi lớp học một kiểu “đặc trưng” của dữ liệu. Với 2 lớp trở lên, mạng có thể học được XOR và các bài toán phi tuyến.
- Thay hàm bước bằng hàm kích hoạt trơn (sigmoid, ReLU, tanh) để có đạo hàm, mở đường cho lan truyền ngược.
- Dùng gradient descent để tối ưu trọng số thay vì luật học cũ. Đây là cách mọi mạng sâu ngày nay được huấn luyện.
- Hiểu đường quyết định → hiểu luôn hồi quy tuyến tính và SVM, vì chúng đều dựa trên ý tưởng “chia không gian bằng siêu phẳng”.
- Một perceptron = cộng có trọng số mọi đầu vào + bias, rồi bật/tắt theo hàm bước.
- Trọng số quyết định hướng đường chia; bias dịch song song đường chia.
- Chỉ chia được dữ liệu phân tách tuyến tính. Làm được AND, OR; KHÔNG làm được XOR.
- Luật học Rosenblatt: điểm sai → kéo trọng số theo hướng sửa đúng điểm ấy.
Kiểm tra hiểu biết
Perceptron đưa ra quyết định 'có' hay 'không' dựa trên phép tính nào?